Handle lenght restriction extension of restricted strings.
[obnox/wireshark/wip.git] / epan / dissectors / packet-h245.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-h245.c                                                              */
4 /* ../../tools/asn2wrs.py -e -p h245 -c ./h245.cnf -s ./packet-h245-template -D . MULTIMEDIA-SYSTEM-CONTROL.asn */
5
6 /* Input file: packet-h245-template.c */
7
8 #line 1 "packet-h245-template.c"
9 /* packet-h245_asn1.c
10  * Routines for h245 packet dissection
11  * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
19  * This program is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU General Public License
21  * as published by the Free Software Foundation; either version 2
22  * of the License, or (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program; if not, write to the Free Software
31  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
32  *
33  * To quote the author of the previous H245 dissector:
34  *   "This is a complete replacement of the previous limitied dissector
35  * that Ronnie was crazy enough to write by hand. It was a lot of time
36  * to hack it by hand, but it is incomplete and buggy and it is good when
37  * it will go away."
38  * Ronnie did a great job and all the VoIP users had made good use of it!
39  * Credit to Tomas Kukosa for developing the asn2wrs compiler.
40  *
41  */
42
43 #ifdef HAVE_CONFIG_H
44 # include "config.h"
45 #endif
46
47 #include <glib.h>
48 #include <epan/packet.h>
49 #include <epan/strutil.h>
50
51 #include <stdio.h>
52 #include <string.h>
53
54 #include <epan/prefs.h>
55 #include <epan/t35.h>
56 #include <epan/emem.h>
57 #include <epan/oids.h>
58 #include <epan/asn1.h>
59 #include <epan/tap.h>
60 #include "packet-tpkt.h"
61 #include "packet-per.h"
62 #include "packet-h323.h"
63 #include "packet-h245.h"
64 #include "packet-rtp.h"
65 #include "packet-rtcp.h"
66 #include "packet-t38.h"
67
68 #define PNAME  "MULTIMEDIA-SYSTEM-CONTROL"
69 #define PSNAME "H.245"
70 #define PFNAME "h245"
71
72 static dissector_handle_t rtp_handle=NULL;
73 static dissector_handle_t rtcp_handle=NULL;
74 static dissector_handle_t t38_handle=NULL;
75 static dissector_table_t nsp_object_dissector_table;
76 static dissector_table_t nsp_h221_dissector_table;
77 static dissector_table_t gef_name_dissector_table;
78 static dissector_table_t gef_content_dissector_table;
79 static dissector_handle_t nsp_handle;
80 static dissector_handle_t data_handle;
81 static dissector_handle_t MultimediaSystemControlMessage_handle;
82 static dissector_handle_t h263_handle = NULL;
83 static dissector_handle_t amr_handle = NULL;
84
85 static void init_h245_packet_info(h245_packet_info *pi);
86 static int hf_h245_pdu_type = -1;
87 static int hf_h245Manufacturer = -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 "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 "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 /* h223 multiplex codes */
390 static h223_set_mc_handle_t h223_set_mc_handle = NULL;
391 h223_mux_element *h223_me=NULL;
392 guint8 h223_mc=0;
393 void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle )
394 {
395         h223_set_mc_handle = handle;
396 }
397
398 /* h223 logical channels */
399 typedef struct {
400         h223_lc_params *fw_channel_params;
401         h223_lc_params *rev_channel_params;
402 } h223_pending_olc;
403
404 static GHashTable*          h223_pending_olc_reqs[] = { NULL, NULL };
405 static dissector_handle_t   h245_lc_dissector;
406 static guint16              h245_lc_temp;
407 static guint16              h223_fw_lc_num;
408 static guint16              h223_rev_lc_num;
409 static h223_lc_params      *h223_lc_params_temp;
410 static h223_lc_params      *h223_fw_lc_params;
411 static h223_lc_params      *h223_rev_lc_params;
412 static h223_add_lc_handle_t h223_add_lc_handle = NULL;
413
414 static void h223_lc_init_dir( int dir )
415 {
416         if ( h223_pending_olc_reqs[dir] )
417                 g_hash_table_destroy( h223_pending_olc_reqs[dir] );
418         h223_pending_olc_reqs[dir] = g_hash_table_new( g_direct_hash, g_direct_equal );
419 }
420
421 static void h223_lc_init( void )
422 {
423         h223_lc_init_dir( P2P_DIR_SENT );
424         h223_lc_init_dir( P2P_DIR_RECV );
425         h223_lc_params_temp = NULL;
426         h245_lc_dissector = NULL;
427         h223_fw_lc_num = 0;
428 }
429
430 static void h245_init(void)
431 {
432         if ( h245_pending_olc_reqs)
433                 g_hash_table_destroy(h245_pending_olc_reqs);
434         h245_pending_olc_reqs = g_hash_table_new(g_str_hash, g_str_equal);
435
436         h223_lc_init();
437 }
438
439 void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle )
440 {
441         h223_add_lc_handle = handle;
442 }
443
444 static const gchar *gen_olc_key(guint16 lc_num, address *dst_addr, address *src_addr)
445 {
446   return ep_strdup_printf("%s/%s/%u", ep_address_to_str(dst_addr), ep_address_to_str(src_addr), lc_num);
447 }
448
449 static void update_unicast_addr(unicast_addr_t *req_addr, unicast_addr_t *ack_addr)
450 {
451   if (ack_addr->addr.type!=AT_NONE && ack_addr->port!=0) {
452     memcpy(req_addr->addr_buf, ack_addr->addr_buf, sizeof(req_addr->addr_buf));
453     SET_ADDRESS(&req_addr->addr, ack_addr->addr.type, ack_addr->addr.len, req_addr->addr_buf);
454     req_addr->port = ack_addr->port;
455   }
456 }
457
458 static void h245_setup_channels(packet_info *pinfo, channel_info_t *upcoming_channel)
459 {
460         gint *key;
461         GHashTable *rtp_dyn_payload = NULL;
462         struct srtp_info *dummy_srtp_info = NULL;
463
464         if (!upcoming_channel) return;
465
466         /* T.38 */
467         if (!strcmp(upcoming_channel->data_type_str, "t38fax")) {
468                 if (upcoming_channel->media_addr.addr.type!=AT_NONE && upcoming_channel->media_addr.port!=0 && t38_handle) {
469                         t38_add_address(pinfo, &upcoming_channel->media_addr.addr,
470                                                         upcoming_channel->media_addr.port, 0,
471                                                         "H245", pinfo->fd->num);
472                 }
473                 return;
474         }
475
476         /* (S)RTP, (S)RTCP */
477         if (upcoming_channel->rfc2198 > 0) {
478                 rtp_dyn_payload = g_hash_table_new_full(g_int_hash, g_int_equal, g_free, g_free);
479                 key = g_malloc(sizeof(gint));
480                 *key = upcoming_channel->rfc2198;
481                 g_hash_table_insert(rtp_dyn_payload, key, g_strdup("red"));
482         }
483
484         if (upcoming_channel->srtp_flag) {
485                 dummy_srtp_info = se_alloc0(sizeof(struct srtp_info));
486         }
487
488         /* DEBUG        g_warning("h245_setup_channels media_addr.addr.type %u port %u",upcoming_channel->media_addr.addr.type, upcoming_channel->media_addr.port );
489         */
490         if (upcoming_channel->media_addr.addr.type!=AT_NONE && upcoming_channel->media_addr.port!=0 && rtp_handle) {
491                 srtp_add_address(pinfo, &upcoming_channel->media_addr.addr,
492                                                 upcoming_channel->media_addr.port, 0,
493                                                 "H245", pinfo->fd->num, upcoming_channel->is_video , rtp_dyn_payload, dummy_srtp_info);
494         }
495         if (upcoming_channel->media_control_addr.addr.type!=AT_NONE && upcoming_channel->media_control_addr.port!=0 && rtcp_handle) {
496                 srtcp_add_address(pinfo, &upcoming_channel->media_control_addr.addr,
497                                                 upcoming_channel->media_control_addr.port, 0,
498                                                 "H245", pinfo->fd->num, dummy_srtp_info);
499         }
500 }
501
502 /* Initialize the protocol and registered fields */
503 static int proto_h245 = -1;
504
505 /*--- Included file: packet-h245-hf.c ---*/
506 #line 1 "packet-h245-hf.c"
507 static int hf_h245_OpenLogicalChannel_PDU = -1;   /* OpenLogicalChannel */
508 static int hf_h245_request = -1;                  /* RequestMessage */
509 static int hf_h245_response = -1;                 /* ResponseMessage */
510 static int hf_h245_command = -1;                  /* CommandMessage */
511 static int hf_h245_indication = -1;               /* IndicationMessage */
512 static int hf_h245_nonStandardMsg = -1;           /* NonStandardMessage */
513 static int hf_h245_masterSlaveDetermination = -1;  /* MasterSlaveDetermination */
514 static int hf_h245_terminalCapabilitySet = -1;    /* TerminalCapabilitySet */
515 static int hf_h245_openLogicalChannel = -1;       /* OpenLogicalChannel */
516 static int hf_h245_closeLogicalChannel = -1;      /* CloseLogicalChannel */
517 static int hf_h245_requestChannelClose = -1;      /* RequestChannelClose */
518 static int hf_h245_multiplexEntrySend = -1;       /* MultiplexEntrySend */
519 static int hf_h245_requestMultiplexEntry = -1;    /* RequestMultiplexEntry */
520 static int hf_h245_requestMode = -1;              /* RequestMode */
521 static int hf_h245_roundTripDelayRequest = -1;    /* RoundTripDelayRequest */
522 static int hf_h245_maintenanceLoopRequest = -1;   /* MaintenanceLoopRequest */
523 static int hf_h245_communicationModeRequest = -1;  /* CommunicationModeRequest */
524 static int hf_h245_conferenceRequest = -1;        /* ConferenceRequest */
525 static int hf_h245_multilinkRequest = -1;         /* MultilinkRequest */
526 static int hf_h245_logicalChannelRateRequest = -1;  /* LogicalChannelRateRequest */
527 static int hf_h245_genericRequest = -1;           /* GenericMessage */
528 static int hf_h245_masterSlaveDeterminationAck = -1;  /* MasterSlaveDeterminationAck */
529 static int hf_h245_masterSlaveDeterminationReject = -1;  /* MasterSlaveDeterminationReject */
530 static int hf_h245_terminalCapabilitySetAck = -1;  /* TerminalCapabilitySetAck */
531 static int hf_h245_terminalCapabilitySetReject = -1;  /* TerminalCapabilitySetReject */
532 static int hf_h245_openLogicalChannelAck = -1;    /* OpenLogicalChannelAck */
533 static int hf_h245_openLogicalChannelReject = -1;  /* OpenLogicalChannelReject */
534 static int hf_h245_closeLogicalChannelAck = -1;   /* CloseLogicalChannelAck */
535 static int hf_h245_requestChannelCloseAck = -1;   /* RequestChannelCloseAck */
536 static int hf_h245_requestChannelCloseReject = -1;  /* RequestChannelCloseReject */
537 static int hf_h245_multiplexEntrySendAck = -1;    /* MultiplexEntrySendAck */
538 static int hf_h245_multiplexEntrySendReject = -1;  /* MultiplexEntrySendReject */
539 static int hf_h245_requestMultiplexEntryAck = -1;  /* RequestMultiplexEntryAck */
540 static int hf_h245_requestMultiplexEntryReject = -1;  /* RequestMultiplexEntryReject */
541 static int hf_h245_requestModeAck = -1;           /* RequestModeAck */
542 static int hf_h245_requestModeReject = -1;        /* RequestModeReject */
543 static int hf_h245_roundTripDelayResponse = -1;   /* RoundTripDelayResponse */
544 static int hf_h245_maintenanceLoopAck = -1;       /* MaintenanceLoopAck */
545 static int hf_h245_maintenanceLoopReject = -1;    /* MaintenanceLoopReject */
546 static int hf_h245_communicationModeResponse = -1;  /* CommunicationModeResponse */
547 static int hf_h245_conferenceResponse = -1;       /* ConferenceResponse */
548 static int hf_h245_multilinkResponse = -1;        /* MultilinkResponse */
549 static int hf_h245_logicalChannelRateAcknowledge = -1;  /* LogicalChannelRateAcknowledge */
550 static int hf_h245_logicalChannelRateReject = -1;  /* LogicalChannelRateReject */
551 static int hf_h245_genericResponse = -1;          /* GenericMessage */
552 static int hf_h245_maintenanceLoopOffCommand = -1;  /* MaintenanceLoopOffCommand */
553 static int hf_h245_sendTerminalCapabilitySet = -1;  /* SendTerminalCapabilitySet */
554 static int hf_h245_encryptionCommand = -1;        /* EncryptionCommand */
555 static int hf_h245_flowControlCommand = -1;       /* FlowControlCommand */
556 static int hf_h245_endSessionCommand = -1;        /* EndSessionCommand */
557 static int hf_h245_miscellaneousCommand = -1;     /* MiscellaneousCommand */
558 static int hf_h245_communicationModeCommand = -1;  /* CommunicationModeCommand */
559 static int hf_h245_conferenceCommand = -1;        /* ConferenceCommand */
560 static int hf_h245_h223MultiplexReconfiguration = -1;  /* H223MultiplexReconfiguration */
561 static int hf_h245_newATMVCCommand = -1;          /* NewATMVCCommand */
562 static int hf_h245_mobileMultilinkReconfigurationCommand = -1;  /* MobileMultilinkReconfigurationCommand */
563 static int hf_h245_genericCommand = -1;           /* GenericMessage */
564 static int hf_h245_functionNotUnderstood = -1;    /* FunctionNotUnderstood */
565 static int hf_h245_masterSlaveDeterminationRelease = -1;  /* MasterSlaveDeterminationRelease */
566 static int hf_h245_terminalCapabilitySetRelease = -1;  /* TerminalCapabilitySetRelease */
567 static int hf_h245_openLogicalChannelConfirm = -1;  /* OpenLogicalChannelConfirm */
568 static int hf_h245_requestChannelCloseRelease = -1;  /* RequestChannelCloseRelease */
569 static int hf_h245_multiplexEntrySendRelease = -1;  /* MultiplexEntrySendRelease */
570 static int hf_h245_requestMultiplexEntryRelease = -1;  /* RequestMultiplexEntryRelease */
571 static int hf_h245_requestModeRelease = -1;       /* RequestModeRelease */
572 static int hf_h245_miscellaneousIndication = -1;  /* MiscellaneousIndication */
573 static int hf_h245_jitterIndication = -1;         /* JitterIndication */
574 static int hf_h245_h223SkewIndication = -1;       /* H223SkewIndication */
575 static int hf_h245_newATMVCIndication = -1;       /* NewATMVCIndication */
576 static int hf_h245_userInput = -1;                /* UserInputIndication */
577 static int hf_h245_h2250MaximumSkewIndication = -1;  /* H2250MaximumSkewIndication */
578 static int hf_h245_mcLocationIndication = -1;     /* MCLocationIndication */
579 static int hf_h245_conferenceIndication = -1;     /* ConferenceIndication */
580 static int hf_h245_vendorIdentification = -1;     /* VendorIdentification */
581 static int hf_h245_functionNotSupported = -1;     /* FunctionNotSupported */
582 static int hf_h245_multilinkIndication = -1;      /* MultilinkIndication */
583 static int hf_h245_logicalChannelRateRelease = -1;  /* LogicalChannelRateRelease */
584 static int hf_h245_flowControlIndication = -1;    /* FlowControlIndication */
585 static int hf_h245_mobileMultilinkReconfigurationIndication = -1;  /* MobileMultilinkReconfigurationIndication */
586 static int hf_h245_genericIndication = -1;        /* GenericMessage */
587 static int hf_h245_messageIdentifier = -1;        /* CapabilityIdentifier */
588 static int hf_h245_subMessageIdentifier = -1;     /* T_subMessageIdentifier */
589 static int hf_h245_messageContent = -1;           /* T_messageContent */
590 static int hf_h245_messageContent_item = -1;      /* T_messageContent_item */
591 static int hf_h245_nonStandardData = -1;          /* NonStandardParameter */
592 static int hf_h245_nonStandardIdentifier = -1;    /* NonStandardIdentifier */
593 static int hf_h245_nsd_data = -1;                 /* T_nsd_data */
594 static int hf_h245_object = -1;                   /* T_object */
595 static int hf_h245_h221NonStandardID = -1;        /* H221NonStandardID */
596 static int hf_h245_t35CountryCode = -1;           /* T_t35CountryCode */
597 static int hf_h245_t35Extension = -1;             /* T_t35Extension */
598 static int hf_h245_manufacturerCode = -1;         /* T_manufacturerCode */
599 static int hf_h245_terminalType = -1;             /* INTEGER_0_255 */
600 static int hf_h245_statusDeterminationNumber = -1;  /* INTEGER_0_16777215 */
601 static int hf_h245_decision = -1;                 /* T_decision */
602 static int hf_h245_master = -1;                   /* NULL */
603 static int hf_h245_slave = -1;                    /* NULL */
604 static int hf_h245_msd_rej_cause = -1;            /* MasterSlaveDeterminationRejectCause */
605 static int hf_h245_identicalNumbers = -1;         /* NULL */
606 static int hf_h245_sequenceNumber = -1;           /* SequenceNumber */
607 static int hf_h245_protocolIdentifier = -1;       /* OBJECT_IDENTIFIER */
608 static int hf_h245_multiplexCapability = -1;      /* MultiplexCapability */
609 static int hf_h245_capabilityTable = -1;          /* SET_SIZE_1_256_OF_CapabilityTableEntry */
610 static int hf_h245_capabilityTable_item = -1;     /* CapabilityTableEntry */
611 static int hf_h245_capabilityDescriptors = -1;    /* SET_SIZE_1_256_OF_CapabilityDescriptor */
612 static int hf_h245_capabilityDescriptors_item = -1;  /* CapabilityDescriptor */
613 static int hf_h245_genericInformation = -1;       /* SEQUENCE_OF_GenericInformation */
614 static int hf_h245_genericInformation_item = -1;  /* GenericInformation */
615 static int hf_h245_capabilityTableEntryNumber = -1;  /* CapabilityTableEntryNumber */
616 static int hf_h245_capability = -1;               /* Capability */
617 static int hf_h245_capabilityDescriptorNumber = -1;  /* CapabilityDescriptorNumber */
618 static int hf_h245_simultaneousCapabilities = -1;  /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
619 static int hf_h245_simultaneousCapabilities_item = -1;  /* AlternativeCapabilitySet */
620 static int hf_h245_AlternativeCapabilitySet_item = -1;  /* CapabilityTableEntryNumber */
621 static int hf_h245_tcs_rej_cause = -1;            /* TerminalCapabilitySetRejectCause */
622 static int hf_h245_unspecified = -1;              /* NULL */
623 static int hf_h245_undefinedTableEntryUsed = -1;  /* NULL */
624 static int hf_h245_descriptorCapacityExceeded = -1;  /* NULL */
625 static int hf_h245_tableEntryCapacityExceeded = -1;  /* T_tableEntryCapacityExceeded */
626 static int hf_h245_highestEntryNumberProcessed = -1;  /* CapabilityTableEntryNumber */
627 static int hf_h245_noneProcessed = -1;            /* NULL */
628 static int hf_h245_nonStandard = -1;              /* NonStandardParameter */
629 static int hf_h245_receiveVideoCapability = -1;   /* VideoCapability */
630 static int hf_h245_transmitVideoCapability = -1;  /* VideoCapability */
631 static int hf_h245_receiveAndTransmitVideoCapability = -1;  /* VideoCapability */
632 static int hf_h245_receiveAudioCapability = -1;   /* AudioCapability */
633 static int hf_h245_transmitAudioCapability = -1;  /* AudioCapability */
634 static int hf_h245_receiveAndTransmitAudioCapability = -1;  /* AudioCapability */
635 static int hf_h245_receiveDataApplicationCapability = -1;  /* DataApplicationCapability */
636 static int hf_h245_transmitDataApplicationCapability = -1;  /* DataApplicationCapability */
637 static int hf_h245_receiveAndTransmitDataApplicationCapability = -1;  /* DataApplicationCapability */
638 static int hf_h245_h233EncryptionTransmitCapability = -1;  /* BOOLEAN */
639 static int hf_h245_h233EncryptionReceiveCapability = -1;  /* T_h233EncryptionReceiveCapability */
640 static int hf_h245_h233IVResponseTime = -1;       /* INTEGER_0_255 */
641 static int hf_h245_conferenceCapability = -1;     /* ConferenceCapability */
642 static int hf_h245_h235SecurityCapability = -1;   /* H235SecurityCapability */
643 static int hf_h245_maxPendingReplacementFor = -1;  /* INTEGER_0_255 */
644 static int hf_h245_receiveUserInputCapability = -1;  /* UserInputCapability */
645 static int hf_h245_transmitUserInputCapability = -1;  /* UserInputCapability */
646 static int hf_h245_receiveAndTransmitUserInputCapability = -1;  /* UserInputCapability */
647 static int hf_h245_genericControlCapability = -1;  /* GenericCapability */
648 static int hf_h245_receiveMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
649 static int hf_h245_transmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
650 static int hf_h245_receiveAndTransmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
651 static int hf_h245_receiveRTPAudioTelephonyEventCapability = -1;  /* AudioTelephonyEventCapability */
652 static int hf_h245_receiveRTPAudioToneCapability = -1;  /* AudioToneCapability */
653 static int hf_h245_depFecCapability = -1;         /* DepFECCapability */
654 static int hf_h245_multiplePayloadStreamCapability = -1;  /* MultiplePayloadStreamCapability */
655 static int hf_h245_fecCapability = -1;            /* FECCapability */
656 static int hf_h245_redundancyEncodingCap = -1;    /* RedundancyEncodingCapability */
657 static int hf_h245_oneOfCapabilities = -1;        /* AlternativeCapabilitySet */
658 static int hf_h245_encryptionAuthenticationAndIntegrity = -1;  /* EncryptionAuthenticationAndIntegrity */
659 static int hf_h245_mediaCapability = -1;          /* CapabilityTableEntryNumber */
660 static int hf_h245_h222Capability = -1;           /* H222Capability */
661 static int hf_h245_h223Capability = -1;           /* H223Capability */
662 static int hf_h245_v76Capability = -1;            /* V76Capability */
663 static int hf_h245_h2250Capability = -1;          /* H2250Capability */
664 static int hf_h245_genericMultiplexCapability = -1;  /* GenericCapability */
665 static int hf_h245_numberOfVCs = -1;              /* INTEGER_1_256 */
666 static int hf_h245_vcCapability = -1;             /* SET_OF_VCCapability */
667 static int hf_h245_vcCapability_item = -1;        /* VCCapability */
668 static int hf_h245_aal1 = -1;                     /* T_aal1 */
669 static int hf_h245_nullClockRecovery = -1;        /* BOOLEAN */
670 static int hf_h245_srtsClockRecovery_bool = -1;   /* BOOLEAN */
671 static int hf_h245_adaptiveClockRecovery = -1;    /* BOOLEAN */
672 static int hf_h245_nullErrorCorrection = -1;      /* BOOLEAN */
673 static int hf_h245_longInterleaver = -1;          /* BOOLEAN */
674 static int hf_h245_shortInterleaver = -1;         /* BOOLEAN */
675 static int hf_h245_errorCorrectionOnly = -1;      /* BOOLEAN */
676 static int hf_h245_structuredDataTransfer = -1;   /* BOOLEAN */
677 static int hf_h245_partiallyFilledCells = -1;     /* BOOLEAN */
678 static int hf_h245_aal5 = -1;                     /* T_aal5 */
679 static int hf_h245_forwardMaximumSDUSize = -1;    /* INTEGER_0_65535 */
680 static int hf_h245_backwardMaximumSDUSize = -1;   /* INTEGER_0_65535 */
681 static int hf_h245_transportStream_bool = -1;     /* BOOLEAN */
682 static int hf_h245_programStream = -1;            /* BOOLEAN */
683 static int hf_h245_availableBitRates = -1;        /* T_availableBitRates */
684 static int hf_h245_avb_type = -1;                 /* Avb_type */
685 static int hf_h245_singleBitRate = -1;            /* INTEGER_1_65535 */
686 static int hf_h245_rangeOfBitRates = -1;          /* T_rangeOfBitRates */
687 static int hf_h245_lowerBitRate = -1;             /* INTEGER_1_65535 */
688 static int hf_h245_higherBitRate = -1;            /* INTEGER_1_65535 */
689 static int hf_h245_aal1ViaGateway = -1;           /* T_aal1ViaGateway */
690 static int hf_h245_gatewayAddress = -1;           /* SET_SIZE_1_256_OF_Q2931Address */
691 static int hf_h245_gatewayAddress_item = -1;      /* Q2931Address */
692 static int hf_h245_srtsClockRecoveryflag = -1;    /* BOOLEAN */
693 static int hf_h245_transportWithI_frames = -1;    /* BOOLEAN */
694 static int hf_h245_videoWithAL1 = -1;             /* BOOLEAN */
695 static int hf_h245_videoWithAL2 = -1;             /* BOOLEAN */
696 static int hf_h245_videoWithAL3 = -1;             /* BOOLEAN */
697 static int hf_h245_audioWithAL1 = -1;             /* BOOLEAN */
698 static int hf_h245_audioWithAL2 = -1;             /* BOOLEAN */
699 static int hf_h245_audioWithAL3 = -1;             /* BOOLEAN */
700 static int hf_h245_dataWithAL1 = -1;              /* BOOLEAN */
701 static int hf_h245_dataWithAL2 = -1;              /* BOOLEAN */
702 static int hf_h245_dataWithAL3 = -1;              /* BOOLEAN */
703 static int hf_h245_maximumAl2SDUSize = -1;        /* INTEGER_0_65535 */
704 static int hf_h245_maximumAl3SDUSize = -1;        /* INTEGER_0_65535 */
705 static int hf_h245_maximumDelayJitter = -1;       /* INTEGER_0_1023 */
706 static int hf_h245_h223MultiplexTableCapability = -1;  /* T_h223MultiplexTableCapability */
707 static int hf_h245_basic = -1;                    /* NULL */
708 static int hf_h245_enhanced = -1;                 /* T_enhanced */
709 static int hf_h245_maximumNestingDepth = -1;      /* INTEGER_1_15 */
710 static int hf_h245_maximumElementListSize = -1;   /* INTEGER_2_255 */
711 static int hf_h245_maximumSubElementListSize = -1;  /* INTEGER_2_255 */
712 static int hf_h245_maxMUXPDUSizeCapability = -1;  /* BOOLEAN */
713 static int hf_h245_nsrpSupport = -1;              /* BOOLEAN */
714 static int hf_h245_mobileOperationTransmitCapability = -1;  /* T_mobileOperationTransmitCapability */
715 static int hf_h245_modeChangeCapability = -1;     /* BOOLEAN */
716 static int hf_h245_h223AnnexA = -1;               /* BOOLEAN */
717 static int hf_h245_h223AnnexADoubleFlagFlag = -1;  /* BOOLEAN */
718 static int hf_h245_h223AnnexB = -1;               /* BOOLEAN */
719 static int hf_h245_h223AnnexBwithHeader = -1;     /* BOOLEAN */
720 static int hf_h245_h223AnnexCCapability = -1;     /* H223AnnexCCapability */
721 static int hf_h245_bitRate_1_19200 = -1;          /* INTEGER_1_19200 */
722 static int hf_h245_mobileMultilinkFrameCapability = -1;  /* T_mobileMultilinkFrameCapability */
723 static int hf_h245_maximumSampleSize = -1;        /* INTEGER_1_255 */
724 static int hf_h245_maximumPayloadLength = -1;     /* INTEGER_1_65025 */
725 static int hf_h245_videoWithAL1M = -1;            /* BOOLEAN */
726 static int hf_h245_videoWithAL2M = -1;            /* BOOLEAN */
727 static int hf_h245_videoWithAL3M = -1;            /* BOOLEAN */
728 static int hf_h245_audioWithAL1M = -1;            /* BOOLEAN */
729 static int hf_h245_audioWithAL2M = -1;            /* BOOLEAN */
730 static int hf_h245_audioWithAL3M = -1;            /* BOOLEAN */
731 static int hf_h245_dataWithAL1M = -1;             /* BOOLEAN */
732 static int hf_h245_dataWithAL2M = -1;             /* BOOLEAN */
733 static int hf_h245_dataWithAL3M = -1;             /* BOOLEAN */
734 static int hf_h245_alpduInterleaving = -1;        /* BOOLEAN */
735 static int hf_h245_maximumAL1MPDUSize = -1;       /* INTEGER_0_65535 */
736 static int hf_h245_maximumAL2MSDUSize = -1;       /* INTEGER_0_65535 */
737 static int hf_h245_maximumAL3MSDUSize = -1;       /* INTEGER_0_65535 */
738 static int hf_h245_rsCodeCapability = -1;         /* BOOLEAN */
739 static int hf_h245_suspendResumeCapabilitywAddress = -1;  /* BOOLEAN */
740 static int hf_h245_suspendResumeCapabilitywoAddress = -1;  /* BOOLEAN */
741 static int hf_h245_rejCapability = -1;            /* BOOLEAN */
742 static int hf_h245_sREJCapability = -1;           /* BOOLEAN */
743 static int hf_h245_mREJCapability = -1;           /* BOOLEAN */
744 static int hf_h245_crc8bitCapability = -1;        /* BOOLEAN */
745 static int hf_h245_crc16bitCapability = -1;       /* BOOLEAN */
746 static int hf_h245_crc32bitCapability = -1;       /* BOOLEAN */
747 static int hf_h245_uihCapability = -1;            /* BOOLEAN */
748 static int hf_h245_numOfDLCS = -1;                /* INTEGER_2_8191 */
749 static int hf_h245_twoOctetAddressFieldCapability = -1;  /* BOOLEAN */
750 static int hf_h245_loopBackTestCapability = -1;   /* BOOLEAN */
751 static int hf_h245_n401Capability = -1;           /* INTEGER_1_4095 */
752 static int hf_h245_maxWindowSizeCapability = -1;  /* INTEGER_1_127 */
753 static int hf_h245_v75Capability = -1;            /* V75Capability */
754 static int hf_h245_audioHeader = -1;              /* BOOLEAN */
755 static int hf_h245_maximumAudioDelayJitter = -1;  /* INTEGER_0_1023 */
756 static int hf_h245_receiveMultipointCapability = -1;  /* MultipointCapability */
757 static int hf_h245_transmitMultipointCapability = -1;  /* MultipointCapability */
758 static int hf_h245_receiveAndTransmitMultipointCapability = -1;  /* MultipointCapability */
759 static int hf_h245_mcCapability = -1;             /* T_mcCapability */
760 static int hf_h245_centralizedConferenceMC = -1;  /* BOOLEAN */
761 static int hf_h245_decentralizedConferenceMC = -1;  /* BOOLEAN */
762 static int hf_h245_rtcpVideoControlCapability = -1;  /* BOOLEAN */
763 static int hf_h245_mediaPacketizationCapability = -1;  /* MediaPacketizationCapability */
764 static int hf_h245_transportCapability = -1;      /* TransportCapability */
765 static int hf_h245_redundancyEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability */
766 static int hf_h245_redundancyEncodingCapability_item = -1;  /* RedundancyEncodingCapability */
767 static int hf_h245_logicalChannelSwitchingCapability = -1;  /* BOOLEAN */
768 static int hf_h245_t120DynamicPortCapability = -1;  /* BOOLEAN */
769 static int hf_h245_h261aVideoPacketization = -1;  /* BOOLEAN */
770 static int hf_h245_rtpPayloadTypes = -1;          /* SEQUENCE_SIZE_1_256_OF_RTPPayloadType */
771 static int hf_h245_rtpPayloadTypes_item = -1;     /* RTPPayloadType */
772 static int hf_h245_qosMode = -1;                  /* QOSMode */
773 static int hf_h245_tokenRate = -1;                /* INTEGER_1_4294967295 */
774 static int hf_h245_bucketSize = -1;               /* INTEGER_1_4294967295 */
775 static int hf_h245_peakRate = -1;                 /* INTEGER_1_4294967295 */
776 static int hf_h245_minPoliced = -1;               /* INTEGER_1_4294967295 */
777 static int hf_h245_maxPktSize = -1;               /* INTEGER_1_4294967295 */
778 static int hf_h245_guaranteedQOS = -1;            /* NULL */
779 static int hf_h245_controlledLoad = -1;           /* NULL */
780 static int hf_h245_maxNTUSize = -1;               /* INTEGER_0_65535 */
781 static int hf_h245_atmUBR = -1;                   /* BOOLEAN */
782 static int hf_h245_atmrtVBR = -1;                 /* BOOLEAN */
783 static int hf_h245_atmnrtVBR = -1;                /* BOOLEAN */
784 static int hf_h245_atmABR = -1;                   /* BOOLEAN */
785 static int hf_h245_atmCBR = -1;                   /* BOOLEAN */
786 static int hf_h245_nonStandardParameter = -1;     /* NonStandardParameter */
787 static int hf_h245_value = -1;                    /* INTEGER_0_255 */
788 static int hf_h245_servicePrioritySignalled = -1;  /* BOOLEAN */
789 static int hf_h245_servicePriorityValue = -1;     /* ServicePriorityValue */
790 static int hf_h245_serviceClass = -1;             /* INTEGER_0_4095 */
791 static int hf_h245_serviceSubclass = -1;          /* INTEGER_0_255 */
792 static int hf_h245_desired = -1;                  /* NULL */
793 static int hf_h245_required = -1;                 /* NULL */
794 static int hf_h245_class0 = -1;                   /* NULL */
795 static int hf_h245_class1 = -1;                   /* NULL */
796 static int hf_h245_class2 = -1;                   /* NULL */
797 static int hf_h245_class3 = -1;                   /* NULL */
798 static int hf_h245_class4 = -1;                   /* NULL */
799 static int hf_h245_class5 = -1;                   /* NULL */
800 static int hf_h245_qosType = -1;                  /* QOSType */
801 static int hf_h245_qosClass = -1;                 /* QOSClass */
802 static int hf_h245_averageRate = -1;              /* INTEGER_1_4294967295 */
803 static int hf_h245_burst = -1;                    /* INTEGER_1_4294967295 */
804 static int hf_h245_rsvpParameters = -1;           /* RSVPParameters */
805 static int hf_h245_atmParameters = -1;            /* ATMParameters */
806 static int hf_h245_localQoS = -1;                 /* BOOLEAN */
807 static int hf_h245_genericTransportParameters = -1;  /* GenericTransportParameters */
808 static int hf_h245_servicePriority = -1;          /* ServicePriority */
809 static int hf_h245_authorizationParameter = -1;   /* AuthorizationParameters */
810 static int hf_h245_qosDescriptor = -1;            /* QOSDescriptor */
811 static int hf_h245_dscpValue = -1;                /* INTEGER_0_63 */
812 static int hf_h245_ip_UDP = -1;                   /* NULL */
813 static int hf_h245_ip_TCP = -1;                   /* NULL */
814 static int hf_h245_atm_AAL5_UNIDIR = -1;          /* NULL */
815 static int hf_h245_atm_AAL5_BIDIR = -1;           /* NULL */
816 static int hf_h245_atm_AAL5_compressed = -1;      /* T_atm_AAL5_compressed */
817 static int hf_h245_variable_delta = -1;           /* BOOLEAN */
818 static int hf_h245_mediaTransport = -1;           /* MediaTransportType */
819 static int hf_h245_qOSCapabilities = -1;          /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
820 static int hf_h245_qOSCapabilities_item = -1;     /* QOSCapability */
821 static int hf_h245_mediaChannelCapabilities = -1;  /* SEQUENCE_SIZE_1_256_OF_MediaChannelCapability */
822 static int hf_h245_mediaChannelCapabilities_item = -1;  /* MediaChannelCapability */
823 static int hf_h245_redundancyEncodingMethod = -1;  /* RedundancyEncodingMethod */
824 static int hf_h245_primaryEncoding = -1;          /* CapabilityTableEntryNumber */
825 static int hf_h245_secondaryEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber */
826 static int hf_h245_secondaryEncodingCapability_item = -1;  /* CapabilityTableEntryNumber */
827 static int hf_h245_rtpAudioRedundancyEncoding = -1;  /* NULL */
828 static int hf_h245_rtpH263VideoRedundancyEncoding = -1;  /* RTPH263VideoRedundancyEncoding */
829 static int hf_h245_numberOfThreads = -1;          /* INTEGER_1_16 */
830 static int hf_h245_framesBetweenSyncPoints = -1;  /* INTEGER_1_256 */
831 static int hf_h245_frameToThreadMapping = -1;     /* T_frameToThreadMapping */
832 static int hf_h245_roundrobin = -1;               /* NULL */
833 static int hf_h245_custom = -1;                   /* SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping */
834 static int hf_h245_custom_item = -1;              /* RTPH263VideoRedundancyFrameMapping */
835 static int hf_h245_containedThreads = -1;         /* T_containedThreads */
836 static int hf_h245_containedThreads_item = -1;    /* INTEGER_0_15 */
837 static int hf_h245_threadNumber = -1;             /* INTEGER_0_15 */
838 static int hf_h245_frameSequence = -1;            /* T_frameSequence */
839 static int hf_h245_frameSequence_item = -1;       /* INTEGER_0_255 */
840 static int hf_h245_multicastCapability = -1;      /* BOOLEAN */
841 static int hf_h245_multiUniCastConference = -1;   /* BOOLEAN */
842 static int hf_h245_mediaDistributionCapability = -1;  /* SEQUENCE_OF_MediaDistributionCapability */
843 static int hf_h245_mediaDistributionCapability_item = -1;  /* MediaDistributionCapability */
844 static int hf_h245_centralizedControl = -1;       /* BOOLEAN */
845 static int hf_h245_distributedControl = -1;       /* BOOLEAN */
846 static int hf_h245_centralizedAudio = -1;         /* BOOLEAN */
847 static int hf_h245_distributedAudio = -1;         /* BOOLEAN */
848 static int hf_h245_centralizedVideo = -1;         /* BOOLEAN */
849 static int hf_h245_distributedVideo = -1;         /* BOOLEAN */
850 static int hf_h245_centralizedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
851 static int hf_h245_centralizedData_item = -1;     /* DataApplicationCapability */
852 static int hf_h245_distributedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
853 static int hf_h245_distributedData_item = -1;     /* DataApplicationCapability */
854 static int hf_h245_h261VideoCapability = -1;      /* H261VideoCapability */
855 static int hf_h245_h262VideoCapability = -1;      /* H262VideoCapability */
856 static int hf_h245_h263VideoCapability = -1;      /* H263VideoCapability */
857 static int hf_h245_is11172VideoCapability = -1;   /* IS11172VideoCapability */
858 static int hf_h245_genericVideoCapability = -1;   /* GenericCapability */
859 static int hf_h245_extendedVideoCapability = -1;  /* ExtendedVideoCapability */
860 static int hf_h245_videoCapability = -1;          /* SEQUENCE_OF_VideoCapability */
861 static int hf_h245_videoCapability_item = -1;     /* VideoCapability */
862 static int hf_h245_videoCapabilityExtension = -1;  /* SEQUENCE_OF_GenericCapability */
863 static int hf_h245_videoCapabilityExtension_item = -1;  /* GenericCapability */
864 static int hf_h245_qcifMPI_1_4 = -1;              /* INTEGER_1_4 */
865 static int hf_h245_cifMPI_1_4 = -1;               /* INTEGER_1_4 */
866 static int hf_h245_temporalSpatialTradeOffCapability = -1;  /* BOOLEAN */
867 static int hf_h245_maxBitRate_1_19200 = -1;       /* INTEGER_1_19200 */
868 static int hf_h245_stillImageTransmission = -1;   /* BOOLEAN */
869 static int hf_h245_videoBadMBsCap = -1;           /* BOOLEAN */
870 static int hf_h245_profileAndLevel_SPatML = -1;   /* BOOLEAN */
871 static int hf_h245_profileAndLevel_MPatLL = -1;   /* BOOLEAN */
872 static int hf_h245_profileAndLevel_MPatML = -1;   /* BOOLEAN */
873 static int hf_h245_profileAndLevel_MPatH_14 = -1;  /* BOOLEAN */
874 static int hf_h245_profileAndLevel_MPatHL = -1;   /* BOOLEAN */
875 static int hf_h245_profileAndLevel_SNRatLL = -1;  /* BOOLEAN */
876 static int hf_h245_profileAndLevel_SNRatML = -1;  /* BOOLEAN */
877 static int hf_h245_profileAndLevel_SpatialatH_14 = -1;  /* BOOLEAN */
878 static int hf_h245_profileAndLevel_HPatML = -1;   /* BOOLEAN */
879 static int hf_h245_profileAndLevel_HPatH_14 = -1;  /* BOOLEAN */
880 static int hf_h245_profileAndLevel_HPatHL = -1;   /* BOOLEAN */
881 static int hf_h245_videoBitRate = -1;             /* INTEGER_0_1073741823 */
882 static int hf_h245_vbvBufferSize = -1;            /* INTEGER_0_262143 */
883 static int hf_h245_samplesPerLine = -1;           /* INTEGER_0_16383 */
884 static int hf_h245_linesPerFrame = -1;            /* INTEGER_0_16383 */
885 static int hf_h245_framesPerSecond = -1;          /* INTEGER_0_15 */
886 static int hf_h245_luminanceSampleRate = -1;      /* INTEGER_0_4294967295 */
887 static int hf_h245_sqcifMPI_1_32 = -1;            /* INTEGER_1_32 */
888 static int hf_h245_qcifMPI = -1;                  /* INTEGER_1_32 */
889 static int hf_h245_cifMPI = -1;                   /* INTEGER_1_32 */
890 static int hf_h245_cif4MPI_1_32 = -1;             /* INTEGER_1_32 */
891 static int hf_h245_cif16MPI_1_32 = -1;            /* INTEGER_1_32 */
892 static int hf_h245_maxBitRate = -1;               /* INTEGER_1_192400 */
893 static int hf_h245_unrestrictedVector = -1;       /* BOOLEAN */
894 static int hf_h245_arithmeticCoding = -1;         /* BOOLEAN */
895 static int hf_h245_advancedPrediction = -1;       /* BOOLEAN */
896 static int hf_h245_pbFrames = -1;                 /* BOOLEAN */
897 static int hf_h245_hrd_B = -1;                    /* INTEGER_0_524287 */
898 static int hf_h245_bppMaxKb = -1;                 /* INTEGER_0_65535 */
899 static int hf_h245_slowSqcifMPI = -1;             /* INTEGER_1_3600 */
900 static int hf_h245_slowQcifMPI = -1;              /* INTEGER_1_3600 */
901 static int hf_h245_slowCifMPI = -1;               /* INTEGER_1_3600 */
902 static int hf_h245_slowCif4MPI = -1;              /* INTEGER_1_3600 */
903 static int hf_h245_slowCif16MPI = -1;             /* INTEGER_1_3600 */
904 static int hf_h245_errorCompensation = -1;        /* BOOLEAN */
905 static int hf_h245_enhancementLayerInfo = -1;     /* EnhancementLayerInfo */
906 static int hf_h245_h263Options = -1;              /* H263Options */
907 static int hf_h245_baseBitRateConstrained = -1;   /* BOOLEAN */
908 static int hf_h245_snrEnhancement = -1;           /* SET_SIZE_1_14_OF_EnhancementOptions */
909 static int hf_h245_snrEnhancement_item = -1;      /* EnhancementOptions */
910 static int hf_h245_spatialEnhancement = -1;       /* SET_SIZE_1_14_OF_EnhancementOptions */
911 static int hf_h245_spatialEnhancement_item = -1;  /* EnhancementOptions */
912 static int hf_h245_bPictureEnhancement = -1;      /* SET_SIZE_1_14_OF_BEnhancementParameters */
913 static int hf_h245_bPictureEnhancement_item = -1;  /* BEnhancementParameters */
914 static int hf_h245_enhancementOptions = -1;       /* EnhancementOptions */
915 static int hf_h245_numberOfBPictures = -1;        /* INTEGER_1_64 */
916 static int hf_h245_advancedIntraCodingMode = -1;  /* BOOLEAN */
917 static int hf_h245_deblockingFilterMode = -1;     /* BOOLEAN */
918 static int hf_h245_improvedPBFramesMode = -1;     /* BOOLEAN */
919 static int hf_h245_unlimitedMotionVectors = -1;   /* BOOLEAN */
920 static int hf_h245_fullPictureFreeze = -1;        /* BOOLEAN */
921 static int hf_h245_partialPictureFreezeAndRelease = -1;  /* BOOLEAN */
922 static int hf_h245_resizingPartPicFreezeAndRelease = -1;  /* BOOLEAN */
923 static int hf_h245_fullPictureSnapshot = -1;      /* BOOLEAN */
924 static int hf_h245_partialPictureSnapshot = -1;   /* BOOLEAN */
925 static int hf_h245_videoSegmentTagging = -1;      /* BOOLEAN */
926 static int hf_h245_progressiveRefinement = -1;    /* BOOLEAN */
927 static int hf_h245_dynamicPictureResizingByFour = -1;  /* BOOLEAN */
928 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;  /* BOOLEAN */
929 static int hf_h245_dynamicWarpingHalfPel = -1;    /* BOOLEAN */
930 static int hf_h245_dynamicWarpingSixteenthPel = -1;  /* BOOLEAN */
931 static int hf_h245_independentSegmentDecoding = -1;  /* BOOLEAN */
932 static int hf_h245_slicesInOrder_NonRect = -1;    /* BOOLEAN */
933 static int hf_h245_slicesInOrder_Rect = -1;       /* BOOLEAN */
934 static int hf_h245_slicesNoOrder_NonRect = -1;    /* BOOLEAN */
935 static int hf_h245_slicesNoOrder_Rect = -1;       /* BOOLEAN */
936 static int hf_h245_alternateInterVLCMode = -1;    /* BOOLEAN */
937 static int hf_h245_modifiedQuantizationMode = -1;  /* BOOLEAN */
938 static int hf_h245_reducedResolutionUpdate = -1;  /* BOOLEAN */
939 static int hf_h245_transparencyParameters = -1;   /* TransparencyParameters */
940 static int hf_h245_separateVideoBackChannel = -1;  /* BOOLEAN */
941 static int hf_h245_refPictureSelection = -1;      /* RefPictureSelection */
942 static int hf_h245_customPictureClockFrequency = -1;  /* SET_SIZE_1_16_OF_CustomPictureClockFrequency */
943 static int hf_h245_customPictureClockFrequency_item = -1;  /* CustomPictureClockFrequency */
944 static int hf_h245_customPictureFormat = -1;      /* SET_SIZE_1_16_OF_CustomPictureFormat */
945 static int hf_h245_customPictureFormat_item = -1;  /* CustomPictureFormat */
946 static int hf_h245_modeCombos = -1;               /* SET_SIZE_1_16_OF_H263VideoModeCombos */
947 static int hf_h245_modeCombos_item = -1;          /* H263VideoModeCombos */
948 static int hf_h245_h263Version3Options = -1;      /* H263Version3Options */
949 static int hf_h245_presentationOrder = -1;        /* INTEGER_1_256 */
950 static int hf_h245_offset_x = -1;                 /* INTEGER_M262144_262143 */
951 static int hf_h245_offset_y = -1;                 /* INTEGER_M262144_262143 */
952 static int hf_h245_scale_x = -1;                  /* INTEGER_1_255 */
953 static int hf_h245_scale_y = -1;                  /* INTEGER_1_255 */
954 static int hf_h245_additionalPictureMemory = -1;  /* T_additionalPictureMemory */
955 static int hf_h245_sqcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
956 static int hf_h245_qcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
957 static int hf_h245_cifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
958 static int hf_h245_cif4AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
959 static int hf_h245_cif16AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
960 static int hf_h245_bigCpfAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
961 static int hf_h245_videoMux = -1;                 /* BOOLEAN */
962 static int hf_h245_videoBackChannelSend = -1;     /* T_videoBackChannelSend */
963 static int hf_h245_none = -1;                     /* NULL */
964 static int hf_h245_ackMessageOnly = -1;           /* NULL */
965 static int hf_h245_nackMessageOnly = -1;          /* NULL */
966 static int hf_h245_ackOrNackMessageOnly = -1;     /* NULL */
967 static int hf_h245_ackAndNackMessage = -1;        /* NULL */
968 static int hf_h245_enhancedReferencePicSelect = -1;  /* T_enhancedReferencePicSelect */
969 static int hf_h245_subPictureRemovalParameters = -1;  /* T_subPictureRemovalParameters */
970 static int hf_h245_mpuHorizMBs = -1;              /* INTEGER_1_128 */
971 static int hf_h245_mpuVertMBs = -1;               /* INTEGER_1_72 */
972 static int hf_h245_mpuTotalNumber = -1;           /* INTEGER_1_65536 */
973 static int hf_h245_clockConversionCode = -1;      /* INTEGER_1000_1001 */
974 static int hf_h245_clockDivisor = -1;             /* INTEGER_1_127 */
975 static int hf_h245_sqcifMPI = -1;                 /* INTEGER_1_2048 */
976 static int hf_h245_qcifMPI_1_2048 = -1;           /* INTEGER_1_2048 */
977 static int hf_h245_cifMPI2_1_2048 = -1;           /* INTEGER_1_2048 */
978 static int hf_h245_cif4MPI = -1;                  /* INTEGER_1_2048 */
979 static int hf_h245_cif16MPI = -1;                 /* INTEGER_1_2048 */
980 static int hf_h245_maxCustomPictureWidth = -1;    /* INTEGER_1_2048 */
981 static int hf_h245_maxCustomPictureHeight = -1;   /* INTEGER_1_2048 */
982 static int hf_h245_minCustomPictureWidth = -1;    /* INTEGER_1_2048 */
983 static int hf_h245_minCustomPictureHeight = -1;   /* INTEGER_1_2048 */
984 static int hf_h245_mPI = -1;                      /* T_mPI */
985 static int hf_h245_standardMPI = -1;              /* INTEGER_1_31 */
986 static int hf_h245_customPCF = -1;                /* T_customPCF */
987 static int hf_h245_customPCF_item = -1;           /* T_customPCF_item */
988 static int hf_h245_customMPI = -1;                /* INTEGER_1_2048 */
989 static int hf_h245_pixelAspectInformation = -1;   /* T_pixelAspectInformation */
990 static int hf_h245_anyPixelAspectRatio = -1;      /* BOOLEAN */
991 static int hf_h245_pixelAspectCode = -1;          /* T_pixelAspectCode */
992 static int hf_h245_pixelAspectCode_item = -1;     /* INTEGER_1_14 */
993 static int hf_h245_extendedPAR = -1;              /* T_extendedPAR */
994 static int hf_h245_extendedPAR_item = -1;         /* T_extendedPAR_item */
995 static int hf_h245_width = -1;                    /* INTEGER_1_255 */
996 static int hf_h245_height = -1;                   /* INTEGER_1_255 */
997 static int hf_h245_h263VideoUncoupledModes = -1;  /* H263ModeComboFlags */
998 static int hf_h245_h263VideoCoupledModes = -1;    /* SET_SIZE_1_16_OF_H263ModeComboFlags */
999 static int hf_h245_h263VideoCoupledModes_item = -1;  /* H263ModeComboFlags */
1000 static int hf_h245_referencePicSelect = -1;       /* BOOLEAN */
1001 static int hf_h245_enhancedReferencePicSelectBool = -1;  /* BOOLEAN */
1002 static int hf_h245_dataPartitionedSlices = -1;    /* BOOLEAN */
1003 static int hf_h245_fixedPointIDCT0 = -1;          /* BOOLEAN */
1004 static int hf_h245_interlacedFields = -1;         /* BOOLEAN */
1005 static int hf_h245_currentPictureHeaderRepetition = -1;  /* BOOLEAN */
1006 static int hf_h245_previousPictureHeaderRepetition = -1;  /* BOOLEAN */
1007 static int hf_h245_nextPictureHeaderRepetition = -1;  /* BOOLEAN */
1008 static int hf_h245_pictureNumberBoolean = -1;     /* BOOLEAN */
1009 static int hf_h245_spareReferencePictures = -1;   /* BOOLEAN */
1010 static int hf_h245_constrainedBitstream = -1;     /* BOOLEAN */
1011 static int hf_h245_pictureRate = -1;              /* INTEGER_0_15 */
1012 static int hf_h245_g711Alaw64k = -1;              /* INTEGER_1_256 */
1013 static int hf_h245_g711Alaw56k = -1;              /* INTEGER_1_256 */
1014 static int hf_h245_g711Ulaw64k = -1;              /* INTEGER_1_256 */
1015 static int hf_h245_g711Ulaw56k = -1;              /* INTEGER_1_256 */
1016 static int hf_h245_g722_64k = -1;                 /* INTEGER_1_256 */
1017 static int hf_h245_g722_56k = -1;                 /* INTEGER_1_256 */
1018 static int hf_h245_g722_48k = -1;                 /* INTEGER_1_256 */
1019 static int hf_h245_g7231 = -1;                    /* T_g7231 */
1020 static int hf_h245_maxAl_sduAudioFrames = -1;     /* INTEGER_1_256 */
1021 static int hf_h245_silenceSuppression = -1;       /* BOOLEAN */
1022 static int hf_h245_g728 = -1;                     /* INTEGER_1_256 */
1023 static int hf_h245_g729 = -1;                     /* INTEGER_1_256 */
1024 static int hf_h245_g729AnnexA = -1;               /* INTEGER_1_256 */
1025 static int hf_h245_is11172AudioCapability = -1;   /* IS11172AudioCapability */
1026 static int hf_h245_is13818AudioCapability = -1;   /* IS13818AudioCapability */
1027 static int hf_h245_g729wAnnexB = -1;              /* INTEGER_1_256 */
1028 static int hf_h245_g729AnnexAwAnnexB = -1;        /* INTEGER_1_256 */
1029 static int hf_h245_g7231AnnexCCapability = -1;    /* G7231AnnexCCapability */
1030 static int hf_h245_gsmFullRate = -1;              /* GSMAudioCapability */
1031 static int hf_h245_gsmHalfRate = -1;              /* GSMAudioCapability */
1032 static int hf_h245_gsmEnhancedFullRate = -1;      /* GSMAudioCapability */
1033 static int hf_h245_genericAudioCapability = -1;   /* GenericCapability */
1034 static int hf_h245_g729Extensions = -1;           /* G729Extensions */
1035 static int hf_h245_vbd = -1;                      /* VBDCapability */
1036 static int hf_h245_audioTelephonyEvent = -1;      /* NoPTAudioTelephonyEventCapability */
1037 static int hf_h245_audioTone = -1;                /* NoPTAudioToneCapability */
1038 static int hf_h245_audioUnit = -1;                /* INTEGER_1_256 */
1039 static int hf_h245_annexA = -1;                   /* BOOLEAN */
1040 static int hf_h245_annexB = -1;                   /* BOOLEAN */
1041 static int hf_h245_annexD = -1;                   /* BOOLEAN */
1042 static int hf_h245_annexE = -1;                   /* BOOLEAN */
1043 static int hf_h245_annexF = -1;                   /* BOOLEAN */
1044 static int hf_h245_annexG = -1;                   /* BOOLEAN */
1045 static int hf_h245_annexH = -1;                   /* BOOLEAN */
1046 static int hf_h245_highRateMode0 = -1;            /* INTEGER_27_78 */
1047 static int hf_h245_highRateMode1 = -1;            /* INTEGER_27_78 */
1048 static int hf_h245_lowRateMode0 = -1;             /* INTEGER_23_66 */
1049 static int hf_h245_lowRateMode1 = -1;             /* INTEGER_23_66 */
1050 static int hf_h245_sidMode0 = -1;                 /* INTEGER_6_17 */
1051 static int hf_h245_sidMode1 = -1;                 /* INTEGER_6_17 */
1052 static int hf_h245_g723AnnexCAudioMode = -1;      /* G723AnnexCAudioMode */
1053 static int hf_h245_audioLayer1 = -1;              /* BOOLEAN */
1054 static int hf_h245_audioLayer2 = -1;              /* BOOLEAN */
1055 static int hf_h245_audioLayer3 = -1;              /* BOOLEAN */
1056 static int hf_h245_audioSampling32k = -1;         /* BOOLEAN */
1057 static int hf_h245_audioSampling44k1 = -1;        /* BOOLEAN */
1058 static int hf_h245_audioSampling48k = -1;         /* BOOLEAN */
1059 static int hf_h245_singleChannel = -1;            /* BOOLEAN */
1060 static int hf_h245_twoChannels = -1;              /* BOOLEAN */
1061 static int hf_h245_bitRate_1_448 = -1;            /* INTEGER_1_448 */
1062 static int hf_h245_audioSampling16k = -1;         /* BOOLEAN */
1063 static int hf_h245_audioSampling22k05 = -1;       /* BOOLEAN */
1064 static int hf_h245_audioSampling24k = -1;         /* BOOLEAN */
1065 static int hf_h245_threeChannels2_1 = -1;         /* BOOLEAN */
1066 static int hf_h245_threeChannels3_0 = -1;         /* BOOLEAN */
1067 static int hf_h245_fourChannels2_0_2_0 = -1;      /* BOOLEAN */
1068 static int hf_h245_fourChannels2_2 = -1;          /* BOOLEAN */
1069 static int hf_h245_fourChannels3_1 = -1;          /* BOOLEAN */
1070 static int hf_h245_fiveChannels3_0_2_0 = -1;      /* BOOLEAN */
1071 static int hf_h245_fiveChannels3_2 = -1;          /* BOOLEAN */
1072 static int hf_h245_lowFrequencyEnhancement = -1;  /* BOOLEAN */
1073 static int hf_h245_multilingual = -1;             /* BOOLEAN */
1074 static int hf_h245_bitRate2_1_1130 = -1;          /* INTEGER_1_1130 */
1075 static int hf_h245_audioUnitSize = -1;            /* INTEGER_1_256 */
1076 static int hf_h245_comfortNoise = -1;             /* BOOLEAN */
1077 static int hf_h245_scrambled = -1;                /* BOOLEAN */
1078 static int hf_h245_vbd_cap_type = -1;             /* AudioCapability */
1079 static int hf_h245_t120 = -1;                     /* DataProtocolCapability */
1080 static int hf_h245_dsm_cc = -1;                   /* DataProtocolCapability */
1081 static int hf_h245_userData = -1;                 /* DataProtocolCapability */
1082 static int hf_h245_t84 = -1;                      /* T_t84 */
1083 static int hf_h245_t84Protocol = -1;              /* DataProtocolCapability */
1084 static int hf_h245_t84Profile = -1;               /* T84Profile */
1085 static int hf_h245_t434 = -1;                     /* DataProtocolCapability */
1086 static int hf_h245_h224 = -1;                     /* DataProtocolCapability */
1087 static int hf_h245_nlpidProtocol = -1;            /* DataProtocolCapability */
1088 static int hf_h245_nlpidData = -1;                /* OCTET_STRING */
1089 static int hf_h245_nlpid = -1;                    /* Nlpid */
1090 static int hf_h245_dsvdControl = -1;              /* NULL */
1091 static int hf_h245_h222DataPartitioning = -1;     /* DataProtocolCapability */
1092 static int hf_h245_t30fax = -1;                   /* DataProtocolCapability */
1093 static int hf_h245_t140 = -1;                     /* DataProtocolCapability */
1094 static int hf_h245_t38fax = -1;                   /* T_t38fax */
1095 static int hf_h245_t38FaxProtocol = -1;           /* DataProtocolCapability */
1096 static int hf_h245_t38FaxProfile = -1;            /* T38FaxProfile */
1097 static int hf_h245_genericDataCapability = -1;    /* GenericCapability */
1098 static int hf_h245_application = -1;              /* Application */
1099 static int hf_h245_maxBitRate2_0_4294967295 = -1;  /* INTEGER_0_4294967295 */
1100 static int hf_h245_v14buffered = -1;              /* NULL */
1101 static int hf_h245_v42lapm = -1;                  /* NULL */
1102 static int hf_h245_hdlcFrameTunnelling = -1;      /* NULL */
1103 static int hf_h245_h310SeparateVCStack = -1;      /* NULL */
1104 static int hf_h245_h310SingleVCStack = -1;        /* NULL */
1105 static int hf_h245_transparent = -1;              /* NULL */
1106 static int hf_h245_segmentationAndReassembly = -1;  /* NULL */
1107 static int hf_h245_hdlcFrameTunnelingwSAR = -1;   /* NULL */
1108 static int hf_h245_v120 = -1;                     /* NULL */
1109 static int hf_h245_separateLANStack = -1;         /* NULL */
1110 static int hf_h245_v76wCompression = -1;          /* T_v76wCompression */
1111 static int hf_h245_transmitCompression = -1;      /* CompressionType */
1112 static int hf_h245_receiveCompression = -1;       /* CompressionType */
1113 static int hf_h245_transmitAndReceiveCompression = -1;  /* CompressionType */
1114 static int hf_h245_tcp = -1;                      /* NULL */
1115 static int hf_h245_udp = -1;                      /* NULL */
1116 static int hf_h245_v42bis = -1;                   /* V42bis */
1117 static int hf_h245_numberOfCodewords = -1;        /* INTEGER_1_65536 */
1118 static int hf_h245_maximumStringLength = -1;      /* INTEGER_1_256 */
1119 static int hf_h245_t84Unrestricted = -1;          /* NULL */
1120 static int hf_h245_t84Restricted = -1;            /* T_t84Restricted */
1121 static int hf_h245_qcif_bool = -1;                /* BOOLEAN */
1122 static int hf_h245_cif_bool = -1;                 /* BOOLEAN */
1123 static int hf_h245_ccir601Seq = -1;               /* BOOLEAN */
1124 static int hf_h245_ccir601Prog = -1;              /* BOOLEAN */
1125 static int hf_h245_hdtvSeq = -1;                  /* BOOLEAN */
1126 static int hf_h245_hdtvProg = -1;                 /* BOOLEAN */
1127 static int hf_h245_g3FacsMH200x100 = -1;          /* BOOLEAN */
1128 static int hf_h245_g3FacsMH200x200 = -1;          /* BOOLEAN */
1129 static int hf_h245_g4FacsMMR200x100 = -1;         /* BOOLEAN */
1130 static int hf_h245_g4FacsMMR200x200 = -1;         /* BOOLEAN */
1131 static int hf_h245_jbig200x200Seq = -1;           /* BOOLEAN */
1132 static int hf_h245_jbig200x200Prog = -1;          /* BOOLEAN */
1133 static int hf_h245_jbig300x300Seq = -1;           /* BOOLEAN */
1134 static int hf_h245_jbig300x300Prog = -1;          /* BOOLEAN */
1135 static int hf_h245_digPhotoLow = -1;              /* BOOLEAN */
1136 static int hf_h245_digPhotoMedSeq = -1;           /* BOOLEAN */
1137 static int hf_h245_digPhotoMedProg = -1;          /* BOOLEAN */
1138 static int hf_h245_digPhotoHighSeq = -1;          /* BOOLEAN */
1139 static int hf_h245_digPhotoHighProg = -1;         /* BOOLEAN */
1140 static int hf_h245_fillBitRemoval = -1;           /* BOOLEAN */
1141 static int hf_h245_transcodingJBIG = -1;          /* BOOLEAN */
1142 static int hf_h245_transcodingMMR = -1;           /* BOOLEAN */
1143 static int hf_h245_version = -1;                  /* INTEGER_0_255 */
1144 static int hf_h245_t38FaxRateManagement = -1;     /* T38FaxRateManagement */
1145 static int hf_h245_t38FaxUdpOptions = -1;         /* T38FaxUdpOptions */
1146 static int hf_h245_t38FaxTcpOptions = -1;         /* T38FaxTcpOptions */
1147 static int hf_h245_localTCF = -1;                 /* NULL */
1148 static int hf_h245_transferredTCF = -1;           /* NULL */
1149 static int hf_h245_t38FaxMaxBuffer = -1;          /* INTEGER */
1150 static int hf_h245_t38FaxMaxDatagram = -1;        /* INTEGER */
1151 static int hf_h245_t38FaxUdpEC = -1;              /* T_t38FaxUdpEC */
1152 static int hf_h245_t38UDPFEC = -1;                /* NULL */
1153 static int hf_h245_t38UDPRedundancy = -1;         /* NULL */
1154 static int hf_h245_t38TCPBidirectionalMode = -1;  /* BOOLEAN */
1155 static int hf_h245_encryptionCapability = -1;     /* EncryptionCapability */
1156 static int hf_h245_authenticationCapability = -1;  /* AuthenticationCapability */
1157 static int hf_h245_integrityCapability = -1;      /* IntegrityCapability */
1158 static int hf_h245_genericH235SecurityCapability = -1;  /* GenericCapability */
1159 static int hf_h245_EncryptionCapability_item = -1;  /* MediaEncryptionAlgorithm */
1160 static int hf_h245_algorithm = -1;                /* OBJECT_IDENTIFIER */
1161 static int hf_h245_antiSpamAlgorithm = -1;        /* OBJECT_IDENTIFIER */
1162 static int hf_h245_ui_nonStandard = -1;           /* SEQUENCE_SIZE_1_16_OF_NonStandardParameter */
1163 static int hf_h245_ui_nonStandard_item = -1;      /* NonStandardParameter */
1164 static int hf_h245_basicString = -1;              /* NULL */
1165 static int hf_h245_iA5String = -1;                /* NULL */
1166 static int hf_h245_generalString = -1;            /* NULL */
1167 static int hf_h245_dtmf = -1;                     /* NULL */
1168 static int hf_h245_hookflash = -1;                /* NULL */
1169 static int hf_h245_extendedAlphanumericFlag = -1;  /* NULL */
1170 static int hf_h245_encryptedBasicString = -1;     /* NULL */
1171 static int hf_h245_encryptedIA5String = -1;       /* NULL */
1172 static int hf_h245_encryptedGeneralString = -1;   /* NULL */
1173 static int hf_h245_secureDTMF = -1;               /* NULL */
1174 static int hf_h245_genericUserInputCapability = -1;  /* GenericCapability */
1175 static int hf_h245_nonStandardParams = -1;        /* SEQUENCE_OF_NonStandardParameter */
1176 static int hf_h245_nonStandardParams_item = -1;   /* NonStandardParameter */
1177 static int hf_h245_chairControlCapability = -1;   /* BOOLEAN */
1178 static int hf_h245_videoIndicateMixingCapability = -1;  /* BOOLEAN */
1179 static int hf_h245_multipointVisualizationCapability = -1;  /* BOOLEAN */
1180 static int hf_h245_capabilityIdentifier = -1;     /* CapabilityIdentifier */
1181 static int hf_h245_collapsing = -1;               /* T_collapsing */
1182 static int hf_h245_collapsing_item = -1;          /* T_collapsing_item */
1183 static int hf_h245_nonCollapsing = -1;            /* T_nonCollapsing */
1184 static int hf_h245_nonCollapsing_item = -1;       /* T_nonCollapsing_item */
1185 static int hf_h245_nonCollapsingRaw = -1;         /* T_nonCollapsingRaw */
1186 static int hf_h245_transport = -1;                /* DataProtocolCapability */
1187 static int hf_h245_standardOid = -1;              /* T_standardOid */
1188 static int hf_h245_h221NonStandard = -1;          /* NonStandardParameter */
1189 static int hf_h245_uuid = -1;                     /* OCTET_STRING_SIZE_16 */
1190 static int hf_h245_domainBased = -1;              /* IA5String_SIZE_1_64 */
1191 static int hf_h245_parameterIdentifier = -1;      /* ParameterIdentifier */
1192 static int hf_h245_parameterValue = -1;           /* ParameterValue */
1193 static int hf_h245_supersedes = -1;               /* SEQUENCE_OF_ParameterIdentifier */
1194 static int hf_h245_supersedes_item = -1;          /* ParameterIdentifier */
1195 static int hf_h245_standard = -1;                 /* T_standard */
1196 static int hf_h245_logical = -1;                  /* NULL */
1197 static int hf_h245_booleanArray = -1;             /* T_booleanArray */
1198 static int hf_h245_unsignedMin = -1;              /* T_unsignedMin */
1199 static int hf_h245_unsignedMax = -1;              /* T_unsignedMax */
1200 static int hf_h245_unsigned32Min = -1;            /* T_unsigned32Min */
1201 static int hf_h245_unsigned32Max = -1;            /* T_unsigned32Max */
1202 static int hf_h245_octetString = -1;              /* T_octetString */
1203 static int hf_h245_genericParameters = -1;        /* SEQUENCE_OF_GenericParameter */
1204 static int hf_h245_genericParameters_item = -1;   /* GenericParameter */
1205 static int hf_h245_multiplexFormat = -1;          /* MultiplexFormat */
1206 static int hf_h245_controlOnMuxStream = -1;       /* BOOLEAN */
1207 static int hf_h245_capabilityOnMuxStream = -1;    /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1208 static int hf_h245_capabilityOnMuxStream_item = -1;  /* AlternativeCapabilitySet */
1209 static int hf_h245_dynamicRTPPayloadType = -1;    /* INTEGER_96_127 */
1210 static int hf_h245_audioTelephoneEvent = -1;      /* GeneralString */
1211 static int hf_h245_capabilities = -1;             /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1212 static int hf_h245_capabilities_item = -1;        /* AlternativeCapabilitySet */
1213 static int hf_h245_fecc_rfc2733 = -1;             /* FECC_rfc2733 */
1214 static int hf_h245_redundancyEncodingBool = -1;   /* BOOLEAN */
1215 static int hf_h245_separateStreamBool = -1;       /* T_separateStreamBool */
1216 static int hf_h245_separatePort = -1;             /* BOOLEAN */
1217 static int hf_h245_samePortBool = -1;             /* BOOLEAN */
1218 static int hf_h245_protectedCapability = -1;      /* CapabilityTableEntryNumber */
1219 static int hf_h245_fecScheme = -1;                /* OBJECT_IDENTIFIER */
1220 static int hf_h245_rfc2733rfc2198 = -1;           /* MaxRedundancy */
1221 static int hf_h245_rfc2733sameport = -1;          /* MaxRedundancy */
1222 static int hf_h245_rfc2733diffport = -1;          /* MaxRedundancy */
1223 static int hf_h245_rfc2733Format = -1;            /* Rfc2733Format */
1224 static int hf_h245_olc_fw_lcn = -1;               /* OLC_fw_lcn */
1225 static int hf_h245_forwardLogicalChannelParameters = -1;  /* T_forwardLogicalChannelParameters */
1226 static int hf_h245_portNumber = -1;               /* INTEGER_0_65535 */
1227 static int hf_h245_dataType = -1;                 /* DataType */
1228 static int hf_h245_olc_forw_multiplexParameters = -1;  /* OLC_forw_multiplexParameters */
1229 static int hf_h245_h222LogicalChannelParameters = -1;  /* H222LogicalChannelParameters */
1230 static int hf_h245_olc_fw_h223_params = -1;       /* OLC_fw_h223_params */
1231 static int hf_h245_v76LogicalChannelParameters = -1;  /* V76LogicalChannelParameters */
1232 static int hf_h245_h2250LogicalChannelParameters = -1;  /* H2250LogicalChannelParameters */
1233 static int hf_h245_forwardLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1234 static int hf_h245_replacementFor = -1;           /* LogicalChannelNumber */
1235 static int hf_h245_reverseLogicalChannelParameters = -1;  /* OLC_reverseLogicalChannelParameters */
1236 static int hf_h245_olc_rev_multiplexParameter = -1;  /* OLC_rev_multiplexParameters */
1237 static int hf_h245_olc_rev_h223_params = -1;      /* OLC_rev_h223_params */
1238 static int hf_h245_reverseLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1239 static int hf_h245_separateStack = -1;            /* NetworkAccessParameters */
1240 static int hf_h245_encryptionSync = -1;           /* EncryptionSync */
1241 static int hf_h245_distribution = -1;             /* T_distribution */
1242 static int hf_h245_unicast = -1;                  /* NULL */
1243 static int hf_h245_multicast = -1;                /* NULL */
1244 static int hf_h245_networkAddress = -1;           /* T_networkAddress */
1245 static int hf_h245_q2931Address = -1;             /* Q2931Address */
1246 static int hf_h245_e164Address = -1;              /* T_e164Address */
1247 static int hf_h245_localAreaAddress = -1;         /* TransportAddress */
1248 static int hf_h245_associateConference = -1;      /* BOOLEAN */
1249 static int hf_h245_externalReference = -1;        /* OCTET_STRING_SIZE_1_255 */
1250 static int hf_h245_t120SetupProcedure = -1;       /* T_t120SetupProcedure */
1251 static int hf_h245_originateCall = -1;            /* NULL */
1252 static int hf_h245_waitForCall = -1;              /* NULL */
1253 static int hf_h245_issueQuery = -1;               /* NULL */
1254 static int hf_h245_address = -1;                  /* T_address */
1255 static int hf_h245_internationalNumber = -1;      /* NumericString_SIZE_1_16 */
1256 static int hf_h245_nsapAddress = -1;              /* OCTET_STRING_SIZE_1_20 */
1257 static int hf_h245_subaddress = -1;               /* OCTET_STRING_SIZE_1_20 */
1258 static int hf_h245_audioHeaderPresent = -1;       /* BOOLEAN */
1259 static int hf_h245_nullData = -1;                 /* NULL */
1260 static int hf_h245_videoData = -1;                /* VideoCapability */
1261 static int hf_h245_audioData = -1;                /* AudioCapability */
1262 static int hf_h245_data = -1;                     /* DataApplicationCapability */
1263 static int hf_h245_encryptionData = -1;           /* EncryptionMode */
1264 static int hf_h245_h235Control = -1;              /* NonStandardParameter */
1265 static int hf_h245_h235Media = -1;                /* H235Media */
1266 static int hf_h245_multiplexedStream = -1;        /* MultiplexedStreamParameter */
1267 static int hf_h245_redundancyEncoding = -1;       /* RedundancyEncoding */
1268 static int hf_h245_multiplePayloadStream = -1;    /* MultiplePayloadStream */
1269 static int hf_h245_depFec = -1;                   /* DepFECData */
1270 static int hf_h245_fec = -1;                      /* FECData */
1271 static int hf_h245_mediaType = -1;                /* T_mediaType */
1272 static int hf_h245_resourceID = -1;               /* INTEGER_0_65535 */
1273 static int hf_h245_subChannelID = -1;             /* INTEGER_0_8191 */
1274 static int hf_h245_pcr_pid = -1;                  /* INTEGER_0_8191 */
1275 static int hf_h245_programDescriptors = -1;       /* OCTET_STRING */
1276 static int hf_h245_streamDescriptors = -1;        /* OCTET_STRING */
1277 static int hf_h245_adaptationLayerType = -1;      /* T_adaptationLayerType */
1278 static int hf_h245_h223_al_type_al1Framed = -1;   /* T_h223_al_type_al1Framed */
1279 static int hf_h245_h223_al_type_al1NotFramed = -1;  /* T_h223_al_type_al1NotFramed */
1280 static int hf_h245_h223_al_type_al2WithoutSequenceNumbers = -1;  /* T_h223_al_type_al2WithoutSequenceNumbers */
1281 static int hf_h245_h223_al_type_al2WithSequenceNumbers = -1;  /* T_h223_al_type_al2WithSequenceNumbers */
1282 static int hf_h245_controlFieldOctets = -1;       /* T_controlFieldOctets */
1283 static int hf_h245_al3_sendBufferSize = -1;       /* T_al3_sendBufferSize */
1284 static int hf_h245_h223_al_type_al3 = -1;         /* T_h223_al_type_al3 */
1285 static int hf_h245_h223_al_type_al1M = -1;        /* T_h223_al_type_al1M */
1286 static int hf_h245_h223_al_type_al2M = -1;        /* T_h223_al_type_al2M */
1287 static int hf_h245_h223_al_type_al3M = -1;        /* T_h223_al_type_al3M */
1288 static int hf_h245_h223_lc_segmentableFlag = -1;  /* T_h223_lc_segmentableFlag */
1289 static int hf_h245_transferMode = -1;             /* T_transferMode */
1290 static int hf_h245_framed = -1;                   /* NULL */
1291 static int hf_h245_unframed = -1;                 /* NULL */
1292 static int hf_h245_aL1HeaderFEC = -1;             /* AL1HeaderFEC */
1293 static int hf_h245_sebch16_7 = -1;                /* NULL */
1294 static int hf_h245_golay24_12 = -1;               /* NULL */
1295 static int hf_h245_crcLength2 = -1;               /* AL1CrcLength */
1296 static int hf_h245_crc4bit = -1;                  /* NULL */
1297 static int hf_h245_crc12bit = -1;                 /* NULL */
1298 static int hf_h245_crc20bit = -1;                 /* NULL */
1299 static int hf_h245_crc28bit = -1;                 /* NULL */
1300 static int hf_h245_crc8bit = -1;                  /* NULL */
1301 static int hf_h245_crc16bit = -1;                 /* NULL */
1302 static int hf_h245_crc32bit = -1;                 /* NULL */
1303 static int hf_h245_crcNotUsed = -1;               /* NULL */
1304 static int hf_h245_rcpcCodeRate = -1;             /* INTEGER_8_32 */
1305 static int hf_h245_noArq = -1;                    /* NULL */
1306 static int hf_h245_typeIArq = -1;                 /* H223AnnexCArqParameters */
1307 static int hf_h245_typeIIArq = -1;                /* H223AnnexCArqParameters */
1308 static int hf_h245_arqType = -1;                  /* ArqType */
1309 static int hf_h245_alsduSplitting = -1;           /* BOOLEAN */
1310 static int hf_h245_rsCodeCorrection = -1;         /* INTEGER_0_127 */
1311 static int hf_h245_aL2HeaderFEC = -1;             /* AL2HeaderFEC */
1312 static int hf_h245_sebch16_5 = -1;                /* NULL */
1313 static int hf_h245_headerFormat = -1;             /* T_headerFormat */
1314 static int hf_h245_crlength2 = -1;                /* AL3CrcLength */
1315 static int hf_h245_numberOfRetransmissions = -1;  /* T_numberOfRetransmissions */
1316 static int hf_h245_finite = -1;                   /* INTEGER_0_16 */
1317 static int hf_h245_infinite = -1;                 /* NULL */
1318 static int hf_h245_sendBufferSize = -1;           /* INTEGER_0_16777215 */
1319 static int hf_h245_hdlcParameters = -1;           /* V76HDLCParameters */
1320 static int hf_h245_suspendResume = -1;            /* T_suspendResume */
1321 static int hf_h245_noSuspendResume = -1;          /* NULL */
1322 static int hf_h245_suspendResumewAddress = -1;    /* NULL */
1323 static int hf_h245_suspendResumewoAddress = -1;   /* NULL */
1324 static int hf_h245_uIH = -1;                      /* BOOLEAN */
1325 static int hf_h245_v76_mode = -1;                 /* V76LCP_mode */
1326 static int hf_h245_eRM = -1;                      /* T_eRM */
1327 static int hf_h245_windowSize = -1;               /* INTEGER_1_127 */
1328 static int hf_h245_recovery = -1;                 /* T_recovery */
1329 static int hf_h245_rej = -1;                      /* NULL */
1330 static int hf_h245_sREJ = -1;                     /* NULL */
1331 static int hf_h245_mSREJ = -1;                    /* NULL */
1332 static int hf_h245_uNERM = -1;                    /* NULL */
1333 static int hf_h245_v75Parameters = -1;            /* V75Parameters */
1334 static int hf_h245_crcLength = -1;                /* CRCLength */
1335 static int hf_h245_n401 = -1;                     /* INTEGER_1_4095 */
1336 static int hf_h245_loopbackTestProcedure = -1;    /* BOOLEAN */
1337 static int hf_h245_sessionID_0_255 = -1;          /* INTEGER_0_255 */
1338 static int hf_h245_associatedSessionID = -1;      /* INTEGER_1_255 */
1339 static int hf_h245_mediaChannel = -1;             /* T_mediaChannel */
1340 static int hf_h245_mediaGuaranteedDelivery = -1;  /* BOOLEAN */
1341 static int hf_h245_mediaControlChannel = -1;      /* T_mediaControlChannel */
1342 static int hf_h245_mediaControlGuaranteedDelivery = -1;  /* BOOLEAN */
1343 static int hf_h245_destination = -1;              /* TerminalLabel */
1344 static int hf_h245_mediaPacketization = -1;       /* T_mediaPacketization */
1345 static int hf_h245_h261aVideoPacketizationFlag = -1;  /* NULL */
1346 static int hf_h245_rtpPayloadType = -1;           /* RTPPayloadType */
1347 static int hf_h245_source = -1;                   /* TerminalLabel */
1348 static int hf_h245_payloadDescriptor = -1;        /* T_payloadDescriptor */
1349 static int hf_h245_rfc_number = -1;               /* T_rfc_number */
1350 static int hf_h245_oid = -1;                      /* OBJECT_IDENTIFIER */
1351 static int hf_h245_rtpPayloadType_01 = -1;        /* T_rtpPayloadType */
1352 static int hf_h245_secondaryEncoding = -1;        /* DataType */
1353 static int hf_h245_rtpRedundancyEncoding = -1;    /* T_rtpRedundancyEncoding */
1354 static int hf_h245_primary = -1;                  /* RedundancyEncodingElement */
1355 static int hf_h245_secondary = -1;                /* SEQUENCE_OF_RedundancyEncodingElement */
1356 static int hf_h245_secondary_item = -1;           /* RedundancyEncodingElement */
1357 static int hf_h245_payloadType = -1;              /* INTEGER_0_127 */
1358 static int hf_h245_elements = -1;                 /* SEQUENCE_OF_MultiplePayloadStreamElement */
1359 static int hf_h245_elements_item = -1;            /* MultiplePayloadStreamElement */
1360 static int hf_h245_dep_rfc2733 = -1;              /* RFC2733Data */
1361 static int hf_h245_fec_data_mode = -1;            /* FECdata_mode */
1362 static int hf_h245_redundancyEncodingFlag = -1;   /* NULL */
1363 static int hf_h245_differentPort = -1;            /* T_differentPort */
1364 static int hf_h245_protectedSessionID = -1;       /* INTEGER_1_255 */
1365 static int hf_h245_protectedPayloadType = -1;     /* INTEGER_0_127 */
1366 static int hf_h245_samePort = -1;                 /* T_samePort */
1367 static int hf_h245_separateStream = -1;           /* DepSeparateStream */
1368 static int hf_h245_rfc2733 = -1;                  /* T_rfc2733 */
1369 static int hf_h245_pktMode = -1;                  /* T_pktMode */
1370 static int hf_h245_rfc2198coding = -1;            /* NULL */
1371 static int hf_h245_mode_rfc2733sameport = -1;     /* T_mode_rfc2733sameport */
1372 static int hf_h245_mode_rfc2733diffport = -1;     /* T_mode_rfc2733diffport */
1373 static int hf_h245_protectedChannel = -1;         /* LogicalChannelNumber */
1374 static int hf_h245_unicastAddress = -1;           /* UnicastAddress */
1375 static int hf_h245_multicastAddress = -1;         /* MulticastAddress */
1376 static int hf_h245_iPAddress = -1;                /* T_iPAddress */
1377 static int hf_h245_ip4_network = -1;              /* Ipv4_network */
1378 static int hf_h245_tsapIdentifier = -1;           /* TsapIdentifier */
1379 static int hf_h245_iPXAddress = -1;               /* T_iPXAddress */
1380 static int hf_h245_node = -1;                     /* OCTET_STRING_SIZE_6 */
1381 static int hf_h245_netnum = -1;                   /* OCTET_STRING_SIZE_4 */
1382 static int hf_h245_ipx_tsapIdentifier = -1;       /* OCTET_STRING_SIZE_2 */
1383 static int hf_h245_iP6Address = -1;               /* T_iP6Address */
1384 static int hf_h245_ip6_network = -1;              /* OCTET_STRING_SIZE_16 */
1385 static int hf_h245_ipv6_tsapIdentifier = -1;      /* INTEGER_0_65535 */
1386 static int hf_h245_netBios = -1;                  /* OCTET_STRING_SIZE_16 */
1387 static int hf_h245_iPSourceRouteAddress = -1;     /* T_iPSourceRouteAddress */
1388 static int hf_h245_routing = -1;                  /* T_routing */
1389 static int hf_h245_strict = -1;                   /* NULL */
1390 static int hf_h245_loose = -1;                    /* NULL */
1391 static int hf_h245_network = -1;                  /* OCTET_STRING_SIZE_4 */
1392 static int hf_h245_iPSrcRoute_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1393 static int hf_h245_route = -1;                    /* T_route */
1394 static int hf_h245_route_item = -1;               /* OCTET_STRING_SIZE_4 */
1395 static int hf_h245_nsap = -1;                     /* OCTET_STRING_SIZE_1_20 */
1396 static int hf_h245_nonStandardAddress = -1;       /* NonStandardParameter */
1397 static int hf_h245_mIPAddress = -1;               /* MIPAddress */
1398 static int hf_h245_mip4_network = -1;             /* OCTET_STRING_SIZE_4 */
1399 static int hf_h245_multicast_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1400 static int hf_h245_mIP6Address = -1;              /* MIP6Address */
1401 static int hf_h245_mip6_network = -1;             /* OCTET_STRING_SIZE_16 */
1402 static int hf_h245_multicast_IPv6_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1403 static int hf_h245_synchFlag = -1;                /* INTEGER_0_255 */
1404 static int hf_h245_h235Key = -1;                  /* OCTET_STRING_SIZE_1_65535 */
1405 static int hf_h245_escrowentry = -1;              /* SEQUENCE_SIZE_1_256_OF_EscrowData */
1406 static int hf_h245_escrowentry_item = -1;         /* EscrowData */
1407 static int hf_h245_genericParameter = -1;         /* GenericParameter */
1408 static int hf_h245_escrowID = -1;                 /* OBJECT_IDENTIFIER */
1409 static int hf_h245_escrowValue = -1;              /* BIT_STRING_SIZE_1_65535 */
1410 static int hf_h245_olc_ack_fw_lcn = -1;           /* OLC_ack_fw_lcn */
1411 static int hf_h245_olc_ack_reverseLogicalChannelParameters = -1;  /* OLC_ack_reverseLogicalChannelParameters */
1412 static int hf_h245_reverseLogicalChannelNumber = -1;  /* T_reverseLogicalChannelNumber */
1413 static int hf_h245_olc_ack_multiplexParameters = -1;  /* T_olc_ack_multiplexParameters */
1414 static int hf_h245_forwardMultiplexAckParameters = -1;  /* T_forwardMultiplexAckParameters */
1415 static int hf_h245_h2250LogicalChannelAckParameters = -1;  /* H2250LogicalChannelAckParameters */
1416 static int hf_h245_forwardLogicalChannelNumber = -1;  /* LogicalChannelNumber */
1417 static int hf_h245_olc_rej_cause = -1;            /* OpenLogicalChannelRejectCause */
1418 static int hf_h245_unsuitableReverseParameters = -1;  /* NULL */
1419 static int hf_h245_dataTypeNotSupported = -1;     /* NULL */
1420 static int hf_h245_dataTypeNotAvailable = -1;     /* NULL */
1421 static int hf_h245_unknownDataType = -1;          /* NULL */
1422 static int hf_h245_dataTypeALCombinationNotSupported = -1;  /* NULL */
1423 static int hf_h245_multicastChannelNotAllowed = -1;  /* NULL */
1424 static int hf_h245_insufficientBandwidth = -1;    /* NULL */
1425 static int hf_h245_separateStackEstablishmentFailed = -1;  /* NULL */
1426 static int hf_h245_invalidSessionID = -1;         /* NULL */
1427 static int hf_h245_masterSlaveConflict = -1;      /* NULL */
1428 static int hf_h245_waitForCommunicationMode = -1;  /* NULL */
1429 static int hf_h245_invalidDependentChannel = -1;  /* NULL */
1430 static int hf_h245_replacementForRejected = -1;   /* NULL */
1431 static int hf_h245_securityDenied = -1;           /* NULL */
1432 static int hf_h245_qoSControlNotSupported = -1;   /* NULL */
1433 static int hf_h245_sessionID = -1;                /* INTEGER_1_255 */
1434 static int hf_h245_ack_mediaChannel = -1;         /* Ack_mediaChannel */
1435 static int hf_h245_ack_mediaControlChannel = -1;  /* Ack_mediaControlChannel */
1436 static int hf_h245_flowControlToZero = -1;        /* BOOLEAN */
1437 static int hf_h245_cLC_source = -1;               /* T_cLC_source */
1438 static int hf_h245_user = -1;                     /* NULL */
1439 static int hf_h245_lcse = -1;                     /* NULL */
1440 static int hf_h245_clc_reason = -1;               /* Clc_reason */
1441 static int hf_h245_unknown = -1;                  /* NULL */
1442 static int hf_h245_reopen = -1;                   /* NULL */
1443 static int hf_h245_reservationFailure = -1;       /* NULL */
1444 static int hf_h245_networkErrorCode = -1;         /* INTEGER_0_255 */
1445 static int hf_h245_qosCapability = -1;            /* QOSCapability */
1446 static int hf_h245_reason = -1;                   /* T_reason */
1447 static int hf_h245_normal = -1;                   /* NULL */
1448 static int hf_h245_req_chan_clos_rej_cause = -1;  /* RequestChannelCloseRejectCause */
1449 static int hf_h245_multiplexEntryDescriptors = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryDescriptor */
1450 static int hf_h245_multiplexEntryDescriptors_item = -1;  /* MultiplexEntryDescriptor */
1451 static int hf_h245_multiplexTableEntryNumber = -1;  /* MultiplexTableEntryNumber */
1452 static int hf_h245_elementList = -1;              /* T_elementList */
1453 static int hf_h245_elementList_item = -1;         /* MultiplexElement */
1454 static int hf_h245_me_type = -1;                  /* Me_type */
1455 static int hf_h245_logicalChannelNum = -1;        /* T_logicalChannelNum */
1456 static int hf_h245_subElementList = -1;           /* T_subElementList */
1457 static int hf_h245_subElementList_item = -1;      /* MultiplexElement */
1458 static int hf_h245_me_repeatCount = -1;           /* ME_repeatCount */
1459 static int hf_h245_me_repeatCount_finite = -1;    /* ME_finiteRepeatCount */
1460 static int hf_h245_untilClosingFlag = -1;         /* T_untilClosingFlag */
1461 static int hf_h245_multiplexTableEntryNumbers = -1;  /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1462 static int hf_h245_multiplexTableEntryNumbers_item = -1;  /* MultiplexTableEntryNumber */
1463 static int hf_h245_sendRejectionDescriptions = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions */
1464 static int hf_h245_sendRejectionDescriptions_item = -1;  /* MultiplexEntryRejectionDescriptions */
1465 static int hf_h245_mux_rej_cause = -1;            /* MultiplexEntryRejectionDescriptionsCause */
1466 static int hf_h245_unspecifiedCause = -1;         /* NULL */
1467 static int hf_h245_descriptorTooComplex = -1;     /* NULL */
1468 static int hf_h245_entryNumbers = -1;             /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1469 static int hf_h245_entryNumbers_item = -1;        /* MultiplexTableEntryNumber */
1470 static int hf_h245_rejectionDescriptions = -1;    /* SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions */
1471 static int hf_h245_rejectionDescriptions_item = -1;  /* RequestMultiplexEntryRejectionDescriptions */
1472 static int hf_h245_req_mux_rej_cause = -1;        /* RequestMultiplexEntryRejectionDescriptionsCause */
1473 static int hf_h245_requestedModes = -1;           /* SEQUENCE_SIZE_1_256_OF_ModeDescription */
1474 static int hf_h245_requestedModes_item = -1;      /* ModeDescription */
1475 static int hf_h245_req_mode_ack_response = -1;    /* Req_mode_ack_response */
1476 static int hf_h245_willTransmitMostPreferredMode = -1;  /* NULL */
1477 static int hf_h245_willTransmitLessPreferredMode = -1;  /* NULL */
1478 static int hf_h245_req_rej_cause = -1;            /* RequestModeRejectCause */
1479 static int hf_h245_modeUnavailable = -1;          /* NULL */
1480 static int hf_h245_multipointConstraint = -1;     /* NULL */
1481 static int hf_h245_requestDenied = -1;            /* NULL */
1482 static int hf_h245_ModeDescription_item = -1;     /* ModeElement */
1483 static int hf_h245_videoMode = -1;                /* VideoMode */
1484 static int hf_h245_audioMode = -1;                /* AudioMode */
1485 static int hf_h245_dataMode = -1;                 /* DataMode */
1486 static int hf_h245_encryptionMode = -1;           /* EncryptionMode */
1487 static int hf_h245_h235Mode = -1;                 /* H235Mode */
1488 static int hf_h245_multiplexedStreamMode = -1;    /* MultiplexedStreamParameter */
1489 static int hf_h245_redundancyEncodingDTMode = -1;  /* RedundancyEncodingDTMode */
1490 static int hf_h245_multiplePayloadStreamMode = -1;  /* MultiplePayloadStreamMode */
1491 static int hf_h245_depFecMode = -1;               /* DepFECMode */
1492 static int hf_h245_fecMode = -1;                  /* FECMode */
1493 static int hf_h245_type = -1;                     /* ModeElementType */
1494 static int hf_h245_h223ModeParameters = -1;       /* H223ModeParameters */
1495 static int hf_h245_v76ModeParameters = -1;        /* V76ModeParameters */
1496 static int hf_h245_h2250ModeParameters = -1;      /* H2250ModeParameters */
1497 static int hf_h245_genericModeParameters = -1;    /* GenericCapability */
1498 static int hf_h245_multiplexedStreamModeParameters = -1;  /* MultiplexedStreamModeParameters */
1499 static int hf_h245_logicalChannelNumber = -1;     /* LogicalChannelNumber */
1500 static int hf_h245_mediaMode = -1;                /* T_mediaMode */
1501 static int hf_h245_prmary_dtmode = -1;            /* RedundancyEncodingDTModeElement */
1502 static int hf_h245_secondaryDTM = -1;             /* SEQUENCE_OF_RedundancyEncodingDTModeElement */
1503 static int hf_h245_secondaryDTM_item = -1;        /* RedundancyEncodingDTModeElement */
1504 static int hf_h245_re_type = -1;                  /* Re_type */
1505 static int hf_h245_mpsmElements = -1;             /* SEQUENCE_OF_MultiplePayloadStreamElementMode */
1506 static int hf_h245_mpsmElements_item = -1;        /* MultiplePayloadStreamElementMode */
1507 static int hf_h245_rfc2733Mode = -1;              /* T_rfc2733Mode */
1508 static int hf_h245_fec_mode = -1;                 /* FEC_mode */
1509 static int hf_h245_protectedElement = -1;         /* ModeElementType */
1510 static int hf_h245_adaptationLayer = -1;          /* AdaptationLayerType */
1511 static int hf_h245_al1Framed = -1;                /* NULL */
1512 static int hf_h245_al1NotFramed = -1;             /* NULL */
1513 static int hf_h245_al2WithoutSequenceNumbers = -1;  /* NULL */
1514 static int hf_h245_al2WithSequenceNumbers = -1;   /* NULL */
1515 static int hf_h245_al3 = -1;                      /* Al3 */
1516 static int hf_h245_al1M = -1;                     /* H223AL1MParameters */
1517 static int hf_h245_al2M = -1;                     /* H223AL2MParameters */
1518 static int hf_h245_al3M = -1;                     /* H223AL3MParameters */
1519 static int hf_h245_segmentableFlag = -1;          /* BOOLEAN */
1520 static int hf_h245_redundancyEncodingMode = -1;   /* RedundancyEncodingMode */
1521 static int hf_h245_secondaryEncodingMode = -1;    /* T_secondaryEncodingMode */
1522 static int hf_h245_h261VideoMode = -1;            /* H261VideoMode */
1523 static int hf_h245_h262VideoMode = -1;            /* H262VideoMode */
1524 static int hf_h245_h263VideoMode = -1;            /* H263VideoMode */
1525 static int hf_h245_is11172VideoMode = -1;         /* IS11172VideoMode */
1526 static int hf_h245_genericVideoMode = -1;         /* GenericCapability */
1527 static int hf_h245_h261_resolution = -1;          /* H261Resolution */
1528 static int hf_h245_qcif = -1;                     /* NULL */
1529 static int hf_h245_cif = -1;                      /* NULL */
1530 static int hf_h245_profileAndLevel = -1;          /* T_profileAndLevel */
1531 static int hf_h245_profileAndLevel_SPatMLMode = -1;  /* NULL */
1532 static int hf_h245_profileAndLevel_MPatLLMode = -1;  /* NULL */
1533 static int hf_h245_profileAndLevel_MPatMLMode = -1;  /* NULL */
1534 static int hf_h245_profileAndLevel_MPatH_14Mode = -1;  /* NULL */
1535 static int hf_h245_profileAndLevel_MPatHLMode = -1;  /* NULL */
1536 static int hf_h245_profileAndLevel_SNRatLLMode = -1;  /* NULL */
1537 static int hf_h245_profileAndLevel_SNRatMLMode = -1;  /* NULL */
1538 static int hf_h245_profileAndLevel_SpatialatH_14Mode = -1;  /* NULL */
1539 static int hf_h245_profileAndLevel_HPatMLMode = -1;  /* NULL */
1540 static int hf_h245_profileAndLevel_HPatH_14Mode = -1;  /* NULL */
1541 static int hf_h245_profileAndLevel_HPatHLMode = -1;  /* NULL */
1542 static int hf_h245_h263_resolution = -1;          /* H263Resolution */
1543 static int hf_h245_sqcif = -1;                    /* NULL */
1544 static int hf_h245_cif4 = -1;                     /* NULL */
1545 static int hf_h245_cif16 = -1;                    /* NULL */
1546 static int hf_h245_custom_res = -1;               /* NULL */
1547 static int hf_h245_g711Alaw64k_mode = -1;         /* NULL */
1548 static int hf_h245_g711Alaw56k_mode = -1;         /* NULL */
1549 static int hf_h245_g711Ulaw64k_mode = -1;         /* NULL */
1550 static int hf_h245_g711Ulaw56k_mode = -1;         /* NULL */
1551 static int hf_h245_g722_64k_mode = -1;            /* NULL */
1552 static int hf_h245_g722_56k_mode = -1;            /* NULL */
1553 static int hf_h245_g722_48k_mode = -1;            /* NULL */
1554 static int hf_h245_g728_mode = -1;                /* NULL */
1555 static int hf_h245_g729_mode = -1;                /* NULL */
1556 static int hf_h245_g729AnnexA_mode = -1;          /* NULL */
1557 static int hf_h245_g7231_mode = -1;               /* Mode_g7231 */
1558 static int hf_h245_noSilenceSuppressionLowRate = -1;  /* NULL */
1559 static int hf_h245_noSilenceSuppressionHighRate = -1;  /* NULL */
1560 static int hf_h245_silenceSuppressionLowRate = -1;  /* NULL */
1561 static int hf_h245_silenceSuppressionHighRate = -1;  /* NULL */
1562 static int hf_h245_is11172AudioMode = -1;         /* IS11172AudioMode */
1563 static int hf_h245_is13818AudioMode = -1;         /* IS13818AudioMode */
1564 static int hf_h245_g7231AnnexCMode = -1;          /* G7231AnnexCMode */
1565 static int hf_h245_genericAudioMode = -1;         /* GenericCapability */
1566 static int hf_h245_vbd_mode = -1;                 /* VBDMode */
1567 static int hf_h245_audioLayer = -1;               /* T_audioLayer */
1568 static int hf_h245_audioLayer1Mode = -1;          /* NULL */
1569 static int hf_h245_audioLayer2Mode = -1;          /* NULL */
1570 static int hf_h245_audioLayer3Mode = -1;          /* NULL */
1571 static int hf_h245_audioSampling = -1;            /* T_audioSampling */
1572 static int hf_h245_audioSampling32kMode = -1;     /* NULL */
1573 static int hf_h245_audioSampling44k1Mode = -1;    /* NULL */
1574 static int hf_h245_audioSampling48kMode = -1;     /* NULL */
1575 static int hf_h245_is11172multichannelType = -1;  /* IS11172_multichannelType */
1576 static int hf_h245_singleChannelMode = -1;        /* NULL */
1577 static int hf_h245_twoChannelStereo = -1;         /* NULL */
1578 static int hf_h245_twoChannelDual = -1;           /* NULL */
1579 static int hf_h245_audioLayerMode = -1;           /* IS13818AudioLayer */
1580 static int hf_h245_audioSamplingMode = -1;        /* IS13818AudioSampling */
1581 static int hf_h245_audioSampling16kMode = -1;     /* NULL */
1582 static int hf_h245_audioSampling22k05Mode = -1;   /* NULL */
1583 static int hf_h245_audioSampling24kMode = -1;     /* NULL */
1584 static int hf_h245_is13818MultichannelType = -1;  /* IS13818MultichannelType */
1585 static int hf_h245_threeChannels2_1Mode = -1;     /* NULL */
1586 static int hf_h245_threeChannels3_0Mode = -1;     /* NULL */
1587 static int hf_h245_fourChannels2_0_2_0Mode = -1;  /* NULL */
1588 static int hf_h245_fourChannels2_2Mode = -1;      /* NULL */
1589 static int hf_h245_fourChannels3_1Mode = -1;      /* NULL */
1590 static int hf_h245_fiveChannels3_0_2_0Mode = -1;  /* NULL */
1591 static int hf_h245_fiveChannels3_2Mode = -1;      /* NULL */
1592 static int hf_h245_vbd_type = -1;                 /* AudioMode */
1593 static int hf_h245_datamodeapplication = -1;      /* DataModeApplication */
1594 static int hf_h245_t84DataProtocolCapability = -1;  /* DataProtocolCapability */
1595 static int hf_h245_t38faxDataProtocolCapability = -1;  /* T38faxApp */
1596 static int hf_h245_genericDataMode = -1;          /* GenericCapability */
1597 static int hf_h245_bitRate_0_4294967295 = -1;     /* INTEGER_0_4294967295 */
1598 static int hf_h245_h233Encryption = -1;           /* NULL */
1599 static int hf_h245_mlr_type = -1;                 /* Mlr_type */
1600 static int hf_h245_systemLoop = -1;               /* NULL */
1601 static int hf_h245_mediaLoop = -1;                /* LogicalChannelNumber */
1602 static int hf_h245_logicalChannelLoop = -1;       /* LogicalChannelNumber */
1603 static int hf_h245_mla_type = -1;                 /* Mla_type */
1604 static int hf_h245_mlrej_type = -1;               /* Mlrej_type */
1605 static int hf_h245_maintloop_rej_cause = -1;      /* MaintenanceLoopRejectCause */
1606 static int hf_h245_canNotPerformLoop = -1;        /* NULL */
1607 static int hf_h245_communicationModeTable = -1;   /* SET_SIZE_1_256_OF_CommunicationModeTableEntry */
1608 static int hf_h245_communicationModeTable_item = -1;  /* CommunicationModeTableEntry */
1609 static int hf_h245_terminalLabel = -1;            /* TerminalLabel */
1610 static int hf_h245_sessionDescription = -1;       /* BMPString_SIZE_1_128 */
1611 static int hf_h245_entryDataType = -1;            /* T_entryDataType */
1612 static int hf_h245_cm_mediaChannel = -1;          /* Cm_mediaChannel */
1613 static int hf_h245_cm_mediaControlChannel = -1;   /* TransportAddress */
1614 static int hf_h245_sessionDependency = -1;        /* INTEGER_1_255 */
1615 static int hf_h245_terminalListRequest = -1;      /* NULL */
1616 static int hf_h245_makeMeChair = -1;              /* NULL */
1617 static int hf_h245_cancelMakeMeChair = -1;        /* NULL */
1618 static int hf_h245_dropTerminal = -1;             /* TerminalLabel */
1619 static int hf_h245_requestTerminalID = -1;        /* TerminalLabel */
1620 static int hf_h245_enterH243Password = -1;        /* NULL */
1621 static int hf_h245_enterH243TerminalID = -1;      /* NULL */
1622 static int hf_h245_enterH243ConferenceID = -1;    /* NULL */
1623 static int hf_h245_enterExtensionAddress = -1;    /* NULL */
1624 static int hf_h245_requestChairTokenOwner = -1;   /* NULL */
1625 static int hf_h245_requestTerminalCertificate = -1;  /* T_requestTerminalCertificate */
1626 static int hf_h245_certSelectionCriteria = -1;    /* CertSelectionCriteria */
1627 static int hf_h245_sRandom = -1;                  /* INTEGER_1_4294967295 */
1628 static int hf_h245_broadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1629 static int hf_h245_makeTerminalBroadcaster = -1;  /* TerminalLabel */
1630 static int hf_h245_sendThisSource = -1;           /* TerminalLabel */
1631 static int hf_h245_requestAllTerminalIDs = -1;    /* NULL */
1632 static int hf_h245_remoteMCRequest = -1;          /* RemoteMCRequest */
1633 static int hf_h245_CertSelectionCriteria_item = -1;  /* Criteria */
1634 static int hf_h245_field = -1;                    /* OBJECT_IDENTIFIER */
1635 static int hf_h245_criteriaValue = -1;            /* OCTET_STRING_SIZE_1_65535 */
1636 static int hf_h245_mcuNumber = -1;                /* McuNumber */
1637 static int hf_h245_terminalNumber = -1;           /* TerminalNumber */
1638 static int hf_h245_mCTerminalIDResponse = -1;     /* T_mCTerminalIDResponse */
1639 static int hf_h245_terminalID = -1;               /* TerminalID */
1640 static int hf_h245_terminalIDResponse = -1;       /* T_terminalIDResponse */
1641 static int hf_h245_conferenceIDResponse = -1;     /* T_conferenceIDResponse */
1642 static int hf_h245_conferenceID = -1;             /* ConferenceID */
1643 static int hf_h245_passwordResponse = -1;         /* T_passwordResponse */
1644 static int hf_h245_password = -1;                 /* Password */
1645 static int hf_h245_terminalListResponse = -1;     /* SET_SIZE_1_256_OF_TerminalLabel */
1646 static int hf_h245_terminalListResponse_item = -1;  /* TerminalLabel */
1647 static int hf_h245_videoCommandReject = -1;       /* NULL */
1648 static int hf_h245_terminalDropReject = -1;       /* NULL */
1649 static int hf_h245_makeMeChairResponse = -1;      /* T_makeMeChairResponse */
1650 static int hf_h245_grantedChairToken = -1;        /* NULL */
1651 static int hf_h245_deniedChairToken = -1;         /* NULL */
1652 static int hf_h245_extensionAddressResponse = -1;  /* T_extensionAddressResponse */
1653 static int hf_h245_extensionAddress = -1;         /* TerminalID */
1654 static int hf_h245_chairTokenOwnerResponse = -1;  /* T_chairTokenOwnerResponse */
1655 static int hf_h245_terminalCertificateResponse = -1;  /* T_terminalCertificateResponse */
1656 static int hf_h245_certificateResponse = -1;      /* OCTET_STRING_SIZE_1_65535 */
1657 static int hf_h245_broadcastMyLogicalChannelResponse = -1;  /* T_broadcastMyLogicalChannelResponse */
1658 static int hf_h245_grantedBroadcastMyLogicalChannel = -1;  /* NULL */
1659 static int hf_h245_deniedBroadcastMyLogicalChannel = -1;  /* NULL */
1660 static int hf_h245_makeTerminalBroadcasterResponse = -1;  /* T_makeTerminalBroadcasterResponse */
1661 static int hf_h245_grantedMakeTerminalBroadcaster = -1;  /* NULL */
1662 static int hf_h245_deniedMakeTerminalBroadcaster = -1;  /* NULL */
1663 static int hf_h245_sendThisSourceResponse = -1;   /* T_sendThisSourceResponse */
1664 static int hf_h245_grantedSendThisSource = -1;    /* NULL */
1665 static int hf_h245_deniedSendThisSource = -1;     /* NULL */
1666 static int hf_h245_requestAllTerminalIDsResponse = -1;  /* RequestAllTerminalIDsResponse */
1667 static int hf_h245_remoteMCResponse = -1;         /* RemoteMCResponse */
1668 static int hf_h245_terminalInformation = -1;      /* SEQUENCE_OF_TerminalInformation */
1669 static int hf_h245_terminalInformation_item = -1;  /* TerminalInformation */
1670 static int hf_h245_masterActivate = -1;           /* NULL */
1671 static int hf_h245_slaveActivate = -1;            /* NULL */
1672 static int hf_h245_deActivate = -1;               /* NULL */
1673 static int hf_h245_accept = -1;                   /* NULL */
1674 static int hf_h245_reject = -1;                   /* T_reject */
1675 static int hf_h245_functionNotSupportedFlag = -1;  /* NULL */
1676 static int hf_h245_callInformationReq = -1;       /* CallInformationReq */
1677 static int hf_h245_maxNumberOfAdditionalConnections = -1;  /* INTEGER_1_65535 */
1678 static int hf_h245_addConnectionReq = -1;         /* AddConnectionReq */
1679 static int hf_h245_dialingInformation = -1;       /* DialingInformation */
1680 static int hf_h245_removeConnectionReq = -1;      /* RemoveConnectionReq */
1681 static int hf_h245_connectionIdentifier = -1;     /* ConnectionIdentifier */
1682 static int hf_h245_maximumHeaderIntervalReq = -1;  /* MaximumHeaderIntervalReq */
1683 static int hf_h245_requestType = -1;              /* T_requestType */
1684 static int hf_h245_currentIntervalInformation = -1;  /* NULL */
1685 static int hf_h245_requestedInterval = -1;        /* INTEGER_0_65535 */
1686 static int hf_h245_callInformationResp = -1;      /* CallInformationResp */
1687 static int hf_h245_callAssociationNumber = -1;    /* INTEGER_0_4294967295 */
1688 static int hf_h245_addConnectionResp = -1;        /* AddConnectionResp */
1689 static int hf_h245_responseCode = -1;             /* T_responseCode */
1690 static int hf_h245_accepted = -1;                 /* NULL */
1691 static int hf_h245_rejected = -1;                 /* T_rejected */
1692 static int hf_h245_connectionsNotAvailable = -1;  /* NULL */
1693 static int hf_h245_userRejected = -1;             /* NULL */
1694 static int hf_h245_removeConnectionResp = -1;     /* RemoveConnectionResp */
1695 static int hf_h245_maximumHeaderIntervalResp = -1;  /* MaximumHeaderIntervalResp */
1696 static int hf_h245_currentInterval = -1;          /* INTEGER_0_65535 */
1697 static int hf_h245_crcDesired = -1;               /* T_crcDesired */
1698 static int hf_h245_excessiveError = -1;           /* T_excessiveError */
1699 static int hf_h245_differential = -1;             /* SET_SIZE_1_65535_OF_DialingInformationNumber */
1700 static int hf_h245_differential_item = -1;        /* DialingInformationNumber */
1701 static int hf_h245_infoNotAvailable = -1;         /* INTEGER_1_65535 */
1702 static int hf_h245_networkAddressNum = -1;        /* NumericString_SIZE_0_40 */
1703 static int hf_h245_subAddress = -1;               /* IA5String_SIZE_1_40 */
1704 static int hf_h245_networkType = -1;              /* SET_SIZE_1_255_OF_DialingInformationNetworkType */
1705 static int hf_h245_networkType_item = -1;         /* DialingInformationNetworkType */
1706 static int hf_h245_n_isdn = -1;                   /* NULL */
1707 static int hf_h245_gstn = -1;                     /* NULL */
1708 static int hf_h245_mobile = -1;                   /* NULL */
1709 static int hf_h245_channelTag = -1;               /* INTEGER_0_4294967295 */
1710 static int hf_h245_sequenceNum = -1;              /* INTEGER_0_4294967295 */
1711 static int hf_h245_maximumBitRate = -1;           /* MaximumBitRate */
1712 static int hf_h245_rejectReason = -1;             /* LogicalChannelRateRejectReason */
1713 static int hf_h245_currentMaximumBitRate = -1;    /* MaximumBitRate */
1714 static int hf_h245_undefinedReason = -1;          /* NULL */
1715 static int hf_h245_insufficientResources = -1;    /* NULL */
1716 static int hf_h245_specificRequest = -1;          /* T_specificRequest */
1717 static int hf_h245_multiplexCapabilityBool = -1;  /* BOOLEAN */
1718 static int hf_h245_capabilityTableEntryNumbers = -1;  /* SET_SIZE_1_65535_OF_CapabilityTableEntryNumber */
1719 static int hf_h245_capabilityTableEntryNumbers_item = -1;  /* CapabilityTableEntryNumber */
1720 static int hf_h245_capabilityDescriptorNumbers = -1;  /* SET_SIZE_1_256_OF_CapabilityDescriptorNumber */
1721 static int hf_h245_capabilityDescriptorNumbers_item = -1;  /* CapabilityDescriptorNumber */
1722 static int hf_h245_genericRequestFlag = -1;       /* NULL */
1723 static int hf_h245_encryptionSE = -1;             /* OCTET_STRING */
1724 static int hf_h245_encryptionIVRequest = -1;      /* NULL */
1725 static int hf_h245_encryptionAlgorithmID = -1;    /* T_encryptionAlgorithmID */
1726 static int hf_h245_h233AlgorithmIdentifier = -1;  /* SequenceNumber */
1727 static int hf_h245_associatedAlgorithm = -1;      /* NonStandardParameter */
1728 static int hf_h245_wholeMultiplex = -1;           /* NULL */
1729 static int hf_h245_scope = -1;                    /* Scope */
1730 static int hf_h245_res_maximumBitRate = -1;       /* INTEGER_0_16777215 */
1731 static int hf_h245_noRestriction = -1;            /* NULL */
1732 static int hf_h245_restriction = -1;              /* Restriction */
1733 static int hf_h245_disconnect = -1;               /* NULL */
1734 static int hf_h245_gstnOptions = -1;              /* T_gstnOptions */
1735 static int hf_h245_telephonyMode = -1;            /* NULL */
1736 static int hf_h245_v8bis = -1;                    /* NULL */
1737 static int hf_h245_v34DSVD = -1;                  /* NULL */
1738 static int hf_h245_v34DuplexFAX = -1;             /* NULL */
1739 static int hf_h245_v34H324 = -1;                  /* NULL */
1740 static int hf_h245_isdnOptions = -1;              /* T_isdnOptions */
1741 static int hf_h245_v140 = -1;                     /* NULL */
1742 static int hf_h245_terminalOnHold = -1;           /* NULL */
1743 static int hf_h245_cancelBroadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1744 static int hf_h245_cancelMakeTerminalBroadcaster = -1;  /* NULL */
1745 static int hf_h245_cancelSendThisSource = -1;     /* NULL */
1746 static int hf_h245_dropConference = -1;           /* NULL */
1747 static int hf_h245_substituteConferenceIDCommand = -1;  /* SubstituteConferenceIDCommand */
1748 static int hf_h245_conferenceIdentifier = -1;     /* OCTET_STRING_SIZE_16 */
1749 static int hf_h245_masterToSlave = -1;            /* NULL */
1750 static int hf_h245_slaveToMaster = -1;            /* NULL */
1751 static int hf_h245_mc_type = -1;                  /* Mc_type */
1752 static int hf_h245_equaliseDelay = -1;            /* NULL */
1753 static int hf_h245_zeroDelay = -1;                /* NULL */
1754 static int hf_h245_multipointModeCommand = -1;    /* NULL */
1755 static int hf_h245_cancelMultipointModeCommand = -1;  /* NULL */
1756 static int hf_h245_videoFreezePicture = -1;       /* NULL */
1757 static int hf_h245_videoFastUpdatePicture = -1;   /* NULL */
1758 static int hf_h245_videoFastUpdateGOB = -1;       /* T_videoFastUpdateGOB */
1759 static int hf_h245_firstGOB = -1;                 /* INTEGER_0_17 */
1760 static int hf_h245_numberOfGOBs = -1;             /* INTEGER_1_18 */
1761 static int hf_h245_videoTemporalSpatialTradeOff = -1;  /* INTEGER_0_31 */
1762 static int hf_h245_videoSendSyncEveryGOB = -1;    /* NULL */
1763 static int hf_h245_videoSendSyncEveryGOBCancel = -1;  /* NULL */
1764 static int hf_h245_videoFastUpdateMB = -1;        /* T_videoFastUpdateMB */
1765 static int hf_h245_firstGOB_0_255 = -1;           /* INTEGER_0_255 */
1766 static int hf_h245_firstMB_1_8192 = -1;           /* INTEGER_1_8192 */
1767 static int hf_h245_numberOfMBs = -1;              /* INTEGER_1_8192 */
1768 static int hf_h245_maxH223MUXPDUsize = -1;        /* INTEGER_1_65535 */
1769 static int hf_h245_encryptionUpdate = -1;         /* EncryptionSync */
1770 static int hf_h245_encryptionUpdateRequest = -1;  /* EncryptionUpdateRequest */
1771 static int hf_h245_switchReceiveMediaOff = -1;    /* NULL */
1772 static int hf_h245_switchReceiveMediaOn = -1;     /* NULL */
1773 static int hf_h245_progressiveRefinementStart = -1;  /* T_progressiveRefinementStart */
1774 static int hf_h245_repeatCount = -1;              /* T_repeatCount */
1775 static int hf_h245_doOneProgression = -1;         /* NULL */
1776 static int hf_h245_doContinuousProgressions = -1;  /* NULL */
1777 static int hf_h245_doOneIndependentProgression = -1;  /* NULL */
1778 static int hf_h245_doContinuousIndependentProgressions = -1;  /* NULL */
1779 static int hf_h245_progressiveRefinementAbortOne = -1;  /* NULL */
1780 static int hf_h245_progressiveRefinementAbortContinuous = -1;  /* NULL */
1781 static int hf_h245_videoBadMBs = -1;              /* T_videoBadMBs */
1782 static int hf_h245_firstMB = -1;                  /* INTEGER_1_9216 */
1783 static int hf_h245_numberOfMBs1_1_9216 = -1;      /* INTEGER_1_9216 */
1784 static int hf_h245_temporalReference = -1;        /* INTEGER_0_1023 */
1785 static int hf_h245_lostPicture = -1;              /* SEQUENCE_OF_PictureReference */
1786 static int hf_h245_lostPicture_item = -1;         /* PictureReference */
1787 static int hf_h245_lostPartialPicture = -1;       /* T_lostPartialPicture */
1788 static int hf_h245_pictureReference = -1;         /* PictureReference */
1789 static int hf_h245_recoveryReferencePicture = -1;  /* SEQUENCE_OF_PictureReference */
1790 static int hf_h245_recoveryReferencePicture_item = -1;  /* PictureReference */
1791 static int hf_h245_encryptionUpdateCommand = -1;  /* T_encryptionUpdateCommand */
1792 static int hf_h245_encryptionUpdateAck = -1;      /* T_encryptionUpdateAck */
1793 static int hf_h245_direction = -1;                /* EncryptionUpdateDirection */
1794 static int hf_h245_secureChannel = -1;            /* BOOLEAN */
1795 static int hf_h245_sharedSecret = -1;             /* BOOLEAN */
1796 static int hf_h245_certProtectedKey = -1;         /* BOOLEAN */
1797 static int hf_h245_keyProtectionMethod = -1;      /* KeyProtectionMethod */
1798 static int hf_h245_pictureNumber = -1;            /* INTEGER_0_1023 */
1799 static int hf_h245_longTermPictureIndex = -1;     /* INTEGER_0_255 */
1800 static int hf_h245_h223ModeChange = -1;           /* T_h223ModeChange */
1801 static int hf_h245_toLevel0 = -1;                 /* NULL */
1802 static int hf_h245_toLevel1 = -1;                 /* NULL */
1803 static int hf_h245_toLevel2 = -1;                 /* NULL */
1804 static int hf_h245_toLevel2withOptionalHeader = -1;  /* NULL */
1805 static int hf_h245_h223AnnexADoubleFlag = -1;     /* T_h223AnnexADoubleFlag */
1806 static int hf_h245_start = -1;                    /* NULL */
1807 static int hf_h245_stop = -1;                     /* NULL */
1808 static int hf_h245_bitRate = -1;                  /* INTEGER_1_65535 */
1809 static int hf_h245_bitRateLockedToPCRClock = -1;  /* BOOLEAN */
1810 static int hf_h245_bitRateLockedToNetworkClock = -1;  /* BOOLEAN */
1811 static int hf_h245_cmd_aal = -1;                  /* Cmd_aal */
1812 static int hf_h245_cmd_aal1 = -1;                 /* Cmd_aal1 */
1813 static int hf_h245_cmd_clockRecovery = -1;        /* Cmd_clockRecovery */
1814 static int hf_h245_nullClockRecoveryflag = -1;    /* NULL */
1815 static int hf_h245_srtsClockRecovery = -1;        /* NULL */
1816 static int hf_h245_adaptiveClockRecoveryFlag = -1;  /* NULL */
1817 static int hf_h245_cmd_errorCorrection = -1;      /* Cmd_errorCorrection */
1818 static int hf_h245_nullErrorCorrectionFlag = -1;  /* NULL */
1819 static int hf_h245_longInterleaverFlag = -1;      /* NULL */
1820 static int hf_h245_shortInterleaverFlag = -1;     /* NULL */
1821 static int hf_h245_errorCorrectionOnlyFlag = -1;  /* NULL */
1822 static int hf_h245_cmd_aal5 = -1;                 /* Cmd_aal5 */
1823 static int hf_h245_cmd_multiplex = -1;            /* Cmd_multiplex */
1824 static int hf_h245_noMultiplex = -1;              /* NULL */
1825 static int hf_h245_transportStream = -1;          /* NULL */
1826 static int hf_h245_programStreamFlag = -1;        /* NULL */
1827 static int hf_h245_cmd_reverseParameters = -1;    /* Cmd_reverseParameters */
1828 static int hf_h245_cmdr_multiplex = -1;           /* CmdR_multiplex */
1829 static int hf_h245_sampleSize = -1;               /* INTEGER_1_255 */
1830 static int hf_h245_samplesPerFrame = -1;          /* INTEGER_1_255 */
1831 static int hf_h245_status = -1;                   /* T_status */
1832 static int hf_h245_synchronized = -1;             /* NULL */
1833 static int hf_h245_reconfiguration = -1;          /* NULL */
1834 static int hf_h245_fns_cause = -1;                /* FunctionNotSupportedCause */
1835 static int hf_h245_syntaxError = -1;              /* NULL */
1836 static int hf_h245_semanticError = -1;            /* NULL */
1837 static int hf_h245_unknownFunction = -1;          /* NULL */
1838 static int hf_h245_returnedFunction = -1;         /* T_returnedFunction */
1839 static int hf_h245_sbeNumber = -1;                /* INTEGER_0_9 */
1840 static int hf_h245_terminalNumberAssign = -1;     /* TerminalLabel */
1841 static int hf_h245_terminalJoinedConference = -1;  /* TerminalLabel */
1842 static int hf_h245_terminalLeftConference = -1;   /* TerminalLabel */
1843 static int hf_h245_seenByAtLeastOneOther = -1;    /* NULL */
1844 static int hf_h245_cancelSeenByAtLeastOneOther = -1;  /* NULL */
1845 static int hf_h245_seenByAll = -1;                /* NULL */
1846 static int hf_h245_cancelSeenByAll = -1;          /* NULL */
1847 static int hf_h245_terminalYouAreSeeing = -1;     /* TerminalLabel */
1848 static int hf_h245_requestForFloor = -1;          /* NULL */
1849 static int hf_h245_withdrawChairToken = -1;       /* NULL */
1850 static int hf_h245_floorRequested = -1;           /* TerminalLabel */
1851 static int hf_h245_terminalYouAreSeeingInSubPictureNumber = -1;  /* TerminalYouAreSeeingInSubPictureNumber */
1852 static int hf_h245_videoIndicateCompose = -1;     /* VideoIndicateCompose */
1853 static int hf_h245_subPictureNumber = -1;         /* INTEGER_0_255 */
1854 static int hf_h245_compositionNumber = -1;        /* INTEGER_0_255 */
1855 static int hf_h245_mi_type = -1;                  /* Mi_type */
1856 static int hf_h245_logicalChannelActive = -1;     /* NULL */
1857 static int hf_h245_logicalChannelInactive = -1;   /* NULL */
1858 static int hf_h245_multipointConference = -1;     /* NULL */
1859 static int hf_h245_cancelMultipointConference = -1;  /* NULL */
1860 static int hf_h245_multipointZeroComm = -1;       /* NULL */
1861 static int hf_h245_cancelMultipointZeroComm = -1;  /* NULL */
1862 static int hf_h245_multipointSecondaryStatus = -1;  /* NULL */
1863 static int hf_h245_cancelMultipointSecondaryStatus = -1;  /* NULL */
1864 static int hf_h245_videoIndicateReadyToActivate = -1;  /* NULL */
1865 static int hf_h245_videoNotDecodedMBs = -1;       /* T_videoNotDecodedMBs */
1866 static int hf_h245_temporalReference_0_255 = -1;  /* INTEGER_0_255 */
1867 static int hf_h245_estimatedReceivedJitterMantissa = -1;  /* INTEGER_0_3 */
1868 static int hf_h245_estimatedReceivedJitterExponent = -1;  /* INTEGER_0_7 */
1869 static int hf_h245_skippedFrameCount = -1;        /* INTEGER_0_15 */
1870 static int hf_h245_additionalDecoderBuffer = -1;  /* INTEGER_0_262143 */
1871 static int hf_h245_logicalChannelNumber1 = -1;    /* LogicalChannelNumber */
1872 static int hf_h245_logicalChannelNumber2 = -1;    /* LogicalChannelNumber */
1873 static int hf_h245_skew = -1;                     /* INTEGER_0_4095 */
1874 static int hf_h245_maximumSkew = -1;              /* INTEGER_0_4095 */
1875 static int hf_h245_signalAddress = -1;            /* TransportAddress */
1876 static int hf_h245_vendor = -1;                   /* NonStandardIdentifier */
1877 static int hf_h245_productNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1878 static int hf_h245_versionNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1879 static int hf_h245_ind_aal = -1;                  /* Ind_aal */
1880 static int hf_h245_ind_aal1 = -1;                 /* Ind_aal1 */
1881 static int hf_h245_ind_clockRecovery = -1;        /* Ind_clockRecovery */
1882 static int hf_h245_ind_errorCorrection = -1;      /* Ind_errorCorrection */
1883 static int hf_h245_ind_aal5 = -1;                 /* Ind_aal5 */
1884 static int hf_h245_ind_multiplex = -1;            /* Ind_multiplex */
1885 static int hf_h245_ind_reverseParameters = -1;    /* Ind_reverseParameters */
1886 static int hf_h245_indr_multiplex = -1;           /* IndR_multiplex */
1887 static int hf_h245_iv8 = -1;                      /* IV8 */
1888 static int hf_h245_iv16 = -1;                     /* IV16 */
1889 static int hf_h245_iv = -1;                       /* OCTET_STRING */
1890 static int hf_h245_alphanumeric = -1;             /* GeneralString */
1891 static int hf_h245_userInputSupportIndication = -1;  /* T_userInputSupportIndication */
1892 static int hf_h245_signal = -1;                   /* T_signal */
1893 static int hf_h245_signalType = -1;               /* T_signalType */
1894 static int hf_h245_duration = -1;                 /* INTEGER_1_65535 */
1895 static int hf_h245_rtp = -1;                      /* T_rtp */
1896 static int hf_h245_timestamp = -1;                /* INTEGER_0_4294967295 */
1897 static int hf_h245_expirationTime = -1;           /* INTEGER_0_4294967295 */
1898 static int hf_h245_rtpPayloadIndication = -1;     /* NULL */
1899 static int hf_h245_paramS = -1;                   /* Params */
1900 static int hf_h245_encryptedSignalType = -1;      /* OCTET_STRING_SIZE_1 */
1901 static int hf_h245_algorithmOID = -1;             /* OBJECT_IDENTIFIER */
1902 static int hf_h245_signalUpdate = -1;             /* T_signalUpdate */
1903 static int hf_h245_si_rtp = -1;                   /* Si_rtp */
1904 static int hf_h245_extendedAlphanumeric = -1;     /* T_extendedAlphanumeric */
1905 static int hf_h245_encrypted = -1;                /* OCTET_STRING */
1906 static int hf_h245_encryptedAlphanumeric = -1;    /* EncryptedAlphanumeric */
1907
1908 /*--- End of included file: packet-h245-hf.c ---*/
1909 #line 374 "packet-h245-template.c"
1910
1911 /* Initialize the subtree pointers */
1912 static int ett_h245 = -1;
1913 static int ett_h245_returnedFunction = -1;
1914
1915 /*--- Included file: packet-h245-ett.c ---*/
1916 #line 1 "packet-h245-ett.c"
1917 static gint ett_h245_MultimediaSystemControlMessage = -1;
1918 static gint ett_h245_RequestMessage = -1;
1919 static gint ett_h245_ResponseMessage = -1;
1920 static gint ett_h245_CommandMessage = -1;
1921 static gint ett_h245_IndicationMessage = -1;
1922 static gint ett_h245_GenericMessage = -1;
1923 static gint ett_h245_T_messageContent = -1;
1924 static gint ett_h245_NonStandardMessage = -1;
1925 static gint ett_h245_NonStandardParameter = -1;
1926 static gint ett_h245_NonStandardIdentifier = -1;
1927 static gint ett_h245_H221NonStandardID = -1;
1928 static gint ett_h245_MasterSlaveDetermination = -1;
1929 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1930 static gint ett_h245_T_decision = -1;
1931 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1932 static gint ett_h245_MasterSlaveDeterminationRejectCause = -1;
1933 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1934 static gint ett_h245_TerminalCapabilitySet = -1;
1935 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry = -1;
1936 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor = -1;
1937 static gint ett_h245_SEQUENCE_OF_GenericInformation = -1;
1938 static gint ett_h245_CapabilityTableEntry = -1;
1939 static gint ett_h245_CapabilityDescriptor = -1;
1940 static gint ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet = -1;
1941 static gint ett_h245_AlternativeCapabilitySet = -1;
1942 static gint ett_h245_TerminalCapabilitySetAck = -1;
1943 static gint ett_h245_TerminalCapabilitySetReject = -1;
1944 static gint ett_h245_TerminalCapabilitySetRejectCause = -1;
1945 static gint ett_h245_T_tableEntryCapacityExceeded = -1;
1946 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1947 static gint ett_h245_Capability = -1;
1948 static gint ett_h245_T_h233EncryptionReceiveCapability = -1;
1949 static gint ett_h245_H235SecurityCapability = -1;
1950 static gint ett_h245_MultiplexCapability = -1;
1951 static gint ett_h245_H222Capability = -1;
1952 static gint ett_h245_SET_OF_VCCapability = -1;
1953 static gint ett_h245_VCCapability = -1;
1954 static gint ett_h245_T_aal1 = -1;
1955 static gint ett_h245_T_aal5 = -1;
1956 static gint ett_h245_T_availableBitRates = -1;
1957 static gint ett_h245_Avb_type = -1;
1958 static gint ett_h245_T_rangeOfBitRates = -1;
1959 static gint ett_h245_T_aal1ViaGateway = -1;
1960 static gint ett_h245_SET_SIZE_1_256_OF_Q2931Address = -1;
1961 static gint ett_h245_H223Capability = -1;
1962 static gint ett_h245_T_h223MultiplexTableCapability = -1;
1963 static gint ett_h245_T_enhanced = -1;
1964 static gint ett_h245_T_mobileOperationTransmitCapability = -1;
1965 static gint ett_h245_T_mobileMultilinkFrameCapability = -1;
1966 static gint ett_h245_H223AnnexCCapability = -1;
1967 static gint ett_h245_V76Capability = -1;
1968 static gint ett_h245_V75Capability = -1;
1969 static gint ett_h245_H2250Capability = -1;
1970 static gint ett_h245_T_mcCapability = -1;
1971 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability = -1;
1972 static gint ett_h245_MediaPacketizationCapability = -1;
1973 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType = -1;
1974 static gint ett_h245_RSVPParameters = -1;
1975 static gint ett_h245_QOSMode = -1;
1976 static gint ett_h245_ATMParameters = -1;
1977 static gint ett_h245_ServicePriorityValue = -1;
1978 static gint ett_h245_ServicePriority = -1;
1979 static gint ett_h245_AuthorizationParameters = -1;
1980 static gint ett_h245_QOSType = -1;
1981 static gint ett_h245_QOSClass = -1;
1982 static gint ett_h245_QOSDescriptor = -1;
1983 static gint ett_h245_GenericTransportParameters = -1;
1984 static gint ett_h245_QOSCapability = -1;
1985 static gint ett_h245_MediaTransportType = -1;
1986 static gint ett_h245_T_atm_AAL5_compressed = -1;
1987 static gint ett_h245_MediaChannelCapability = -1;
1988 static gint ett_h245_TransportCapability = -1;
1989 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability = -1;
1990 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability = -1;
1991 static gint ett_h245_RedundancyEncodingCapability = -1;
1992 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber = -1;
1993 static gint ett_h245_RedundancyEncodingMethod = -1;
1994 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
1995 static gint ett_h245_T_frameToThreadMapping = -1;
1996 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping = -1;
1997 static gint ett_h245_T_containedThreads = -1;
1998 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
1999 static gint ett_h245_T_frameSequence = -1;
2000 static gint ett_h245_MultipointCapability = -1;
2001 static gint ett_h245_SEQUENCE_OF_MediaDistributionCapability = -1;
2002 static gint ett_h245_MediaDistributionCapability = -1;
2003 static gint ett_h245_SEQUENCE_OF_DataApplicationCapability = -1;
2004 static gint ett_h245_VideoCapability = -1;
2005 static gint ett_h245_ExtendedVideoCapability = -1;
2006 static gint ett_h245_SEQUENCE_OF_VideoCapability = -1;
2007 static gint ett_h245_SEQUENCE_OF_GenericCapability = -1;
2008 static gint ett_h245_H261VideoCapability = -1;
2009 static gint ett_h245_H262VideoCapability = -1;
2010 static gint ett_h245_H263VideoCapability = -1;
2011 static gint ett_h245_EnhancementLayerInfo = -1;
2012 static gint ett_h245_SET_SIZE_1_14_OF_EnhancementOptions = -1;
2013 static gint ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters = -1;
2014 static gint ett_h245_BEnhancementParameters = -1;
2015 static gint ett_h245_EnhancementOptions = -1;
2016 static gint ett_h245_H263Options = -1;
2017 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency = -1;
2018 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat = -1;
2019 static gint ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos = -1;
2020 static gint ett_h245_TransparencyParameters = -1;
2021 static gint ett_h245_RefPictureSelection = -1;
2022 static gint ett_h245_T_additionalPictureMemory = -1;
2023 static gint ett_h245_T_videoBackChannelSend = -1;
2024 static gint ett_h245_T_enhancedReferencePicSelect = -1;
2025 static gint ett_h245_T_subPictureRemovalParameters = -1;
2026 static gint ett_h245_CustomPictureClockFrequency = -1;
2027 static gint ett_h245_CustomPictureFormat = -1;
2028 static gint ett_h245_T_mPI = -1;
2029 static gint ett_h245_T_customPCF = -1;
2030 static gint ett_h245_T_customPCF_item = -1;
2031 static gint ett_h245_T_pixelAspectInformation = -1;
2032 static gint ett_h245_T_pixelAspectCode = -1;
2033 static gint ett_h245_T_extendedPAR = -1;
2034 static gint ett_h245_T_extendedPAR_item = -1;
2035 static gint ett_h245_H263VideoModeCombos = -1;
2036 static gint ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags = -1;
2037 static gint ett_h245_H263ModeComboFlags = -1;
2038 static gint ett_h245_H263Version3Options = -1;
2039 static gint ett_h245_IS11172VideoCapability = -1;
2040 static gint ett_h245_AudioCapability = -1;
2041 static gint ett_h245_T_g7231 = -1;
2042 static gint ett_h245_G729Extensions = -1;
2043 static gint ett_h245_G7231AnnexCCapability = -1;
2044 static gint ett_h245_G723AnnexCAudioMode = -1;
2045 static gint ett_h245_IS11172AudioCapability = -1;
2046 static gint ett_h245_IS13818AudioCapability = -1;
2047 static gint ett_h245_GSMAudioCapability = -1;
2048 static gint ett_h245_VBDCapability = -1;
2049 static gint ett_h245_DataApplicationCapability = -1;
2050 static gint ett_h245_Application = -1;
2051 static gint ett_h245_T_t84 = -1;
2052 static gint ett_h245_Nlpid = -1;
2053 static gint ett_h245_T_t38fax = -1;
2054 static gint ett_h245_DataProtocolCapability = -1;
2055 static gint ett_h245_T_v76wCompression = -1;
2056 static gint ett_h245_CompressionType = -1;
2057 static gint ett_h245_V42bis = -1;
2058 static gint ett_h245_T84Profile = -1;
2059 static gint ett_h245_T_t84Restricted = -1;
2060 static gint ett_h245_T38FaxProfile = -1;
2061 static gint ett_h245_T38FaxRateManagement = -1;
2062 static gint ett_h245_T38FaxUdpOptions = -1;
2063 static gint ett_h245_T_t38FaxUdpEC = -1;
2064 static gint ett_h245_T38FaxTcpOptions = -1;
2065 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
2066 static gint ett_h245_EncryptionCapability = -1;
2067 static gint ett_h245_MediaEncryptionAlgorithm = -1;
2068 static gint ett_h245_AuthenticationCapability = -1;
2069 static gint ett_h245_IntegrityCapability = -1;
2070 static gint ett_h245_UserInputCapability = -1;
2071 static gint ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter = -1;
2072 static gint ett_h245_ConferenceCapability = -1;
2073 static gint ett_h245_SEQUENCE_OF_NonStandardParameter = -1;
2074 static gint ett_h245_GenericCapability = -1;
2075 static gint ett_h245_T_collapsing = -1;
2076 static gint ett_h245_T_nonCollapsing = -1;
2077 static gint ett_h245_CapabilityIdentifier = -1;
2078 static gint ett_h245_GenericParameter = -1;
2079 static gint ett_h245_SEQUENCE_OF_ParameterIdentifier = -1;
2080 static gint ett_h245_ParameterIdentifier = -1;
2081 static gint ett_h245_ParameterValue = -1;
2082 static gint ett_h245_SEQUENCE_OF_GenericParameter = -1;
2083 static gint ett_h245_MultiplexedStreamCapability = -1;
2084 static gint ett_h245_MultiplexFormat = -1;
2085 static gint ett_h245_AudioTelephonyEventCapability = -1;
2086 static gint ett_h245_AudioToneCapability = -1;
2087 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
2088 static gint ett_h245_NoPTAudioToneCapability = -1;
2089 static gint ett_h245_MultiplePayloadStreamCapability = -1;
2090 static gint ett_h245_DepFECCapability = -1;
2091 static gint ett_h245_FECC_rfc2733 = -1;
2092 static gint ett_h245_T_separateStreamBool = -1;
2093 static gint ett_h245_FECCapability = -1;
2094 static gint ett_h245_Rfc2733Format = -1;
2095 static gint ett_h245_OpenLogicalChannel = -1;
2096 static gint ett_h245_T_forwardLogicalChannelParameters = -1;
2097 static gint ett_h245_OLC_forw_multiplexParameters = -1;
2098 static gint ett_h245_OLC_reverseLogicalChannelParameters = -1;
2099 static gint ett_h245_OLC_rev_multiplexParameters = -1;
2100 static gint ett_h245_NetworkAccessParameters = -1;
2101 static gint ett_h245_T_distribution = -1;
2102 static gint ett_h245_T_networkAddress = -1;
2103 static gint ett_h245_T_t120SetupProcedure = -1;
2104 static gint ett_h245_Q2931Address = -1;
2105 static gint ett_h245_T_address = -1;
2106 static gint ett_h245_V75Parameters = -1;
2107 static gint ett_h245_DataType = -1;
2108 static gint ett_h245_H235Media = -1;
2109 static gint ett_h245_T_mediaType = -1;
2110 static gint ett_h245_MultiplexedStreamParameter = -1;
2111 static gint ett_h245_H222LogicalChannelParameters = -1;
2112 static gint ett_h245_H223LogicalChannelParameters = -1;
2113 static gint ett_h245_T_adaptationLayerType = -1;
2114 static gint ett_h245_Al3 = -1;
2115 static gint ett_h245_H223AL1MParameters = -1;
2116 static gint ett_h245_T_transferMode = -1;
2117 static gint ett_h245_AL1HeaderFEC = -1;
2118 static gint ett_h245_AL1CrcLength = -1;
2119 static gint ett_h245_ArqType = -1;
2120 static gint ett_h245_H223AL2MParameters = -1;
2121 static gint ett_h245_AL2HeaderFEC = -1;
2122 static gint ett_h245_H223AL3MParameters = -1;
2123 static gint ett_h245_T_headerFormat = -1;
2124 static gint ett_h245_AL3CrcLength = -1;
2125 static gint ett_h245_H223AnnexCArqParameters = -1;
2126 static gint ett_h245_T_numberOfRetransmissions = -1;
2127 static gint ett_h245_V76LogicalChannelParameters = -1;
2128 static gint ett_h245_T_suspendResume = -1;
2129 static gint ett_h245_V76LCP_mode = -1;
2130 static gint ett_h245_T_eRM = -1;
2131 static gint ett_h245_T_recovery = -1;
2132 static gint ett_h245_V76HDLCParameters = -1;
2133 static gint ett_h245_CRCLength = -1;
2134 static gint ett_h245_H2250LogicalChannelParameters = -1;
2135 static gint ett_h245_T_mediaPacketization = -1;
2136 static gint ett_h245_RTPPayloadType = -1;
2137 static gint ett_h245_T_payloadDescriptor = -1;
2138 static gint ett_h245_RedundancyEncoding = -1;
2139 static gint ett_h245_T_rtpRedundancyEncoding = -1;
2140 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingElement = -1;
2141 static gint ett_h245_RedundancyEncodingElement = -1;
2142 static gint ett_h245_MultiplePayloadStream = -1;
2143 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement = -1;
2144 static gint ett_h245_MultiplePayloadStreamElement = -1;
2145 static gint ett_h245_DepFECData = -1;
2146 static gint ett_h245_RFC2733Data = -1;
2147 static gint ett_h245_FECdata_mode = -1;
2148 static gint ett_h245_DepSeparateStream = -1;
2149 static gint ett_h245_T_differentPort = -1;
2150 static gint ett_h245_T_samePort = -1;
2151 static gint ett_h245_FECData = -1;
2152 static gint ett_h245_T_rfc2733 = -1;
2153 static gint ett_h245_T_pktMode = -1;
2154 static gint ett_h245_T_mode_rfc2733sameport = -1;
2155 static gint ett_h245_T_mode_rfc2733diffport = -1;
2156 static gint ett_h245_TransportAddress = -1;
2157 static gint ett_h245_UnicastAddress = -1;
2158 static gint ett_h245_T_iPAddress = -1;
2159 static gint ett_h245_T_iPXAddress = -1;
2160 static gint ett_h245_T_iP6Address = -1;
2161 static gint ett_h245_T_iPSourceRouteAddress = -1;
2162 static gint ett_h245_T_routing = -1;
2163 static gint ett_h245_T_route = -1;
2164 static gint ett_h245_MulticastAddress = -1;
2165 static gint ett_h245_MIPAddress = -1;
2166 static gint ett_h245_MIP6Address = -1;
2167 static gint ett_h245_EncryptionSync = -1;
2168 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData = -1;
2169 static gint ett_h245_EscrowData = -1;
2170 static gint ett_h245_OpenLogicalChannelAck = -1;
2171 static gint ett_h245_OLC_ack_reverseLogicalChannelParameters = -1;
2172 static gint ett_h245_T_olc_ack_multiplexParameters = -1;
2173 static gint ett_h245_T_forwardMultiplexAckParameters = -1;
2174 static gint ett_h245_OpenLogicalChannelReject = -1;
2175 static gint ett_h245_OpenLogicalChannelRejectCause = -1;
2176 static gint ett_h245_OpenLogicalChannelConfirm = -1;
2177 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
2178 static gint ett_h245_CloseLogicalChannel = -1;
2179 static gint ett_h245_T_cLC_source = -1;
2180 static gint ett_h245_Clc_reason = -1;
2181 static gint ett_h245_CloseLogicalChannelAck = -1;
2182 static gint ett_h245_RequestChannelClose = -1;
2183 static gint ett_h245_T_reason = -1;
2184 static gint ett_h245_RequestChannelCloseAck = -1;
2185 static gint ett_h245_RequestChannelCloseReject = -1;
2186 static gint ett_h245_RequestChannelCloseRejectCause = -1;
2187 static gint ett_h245_RequestChannelCloseRelease = -1;
2188 static gint ett_h245_MultiplexEntrySend = -1;
2189 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor = -1;
2190 static gint ett_h245_MultiplexEntryDescriptor = -1;
2191 static gint ett_h245_T_elementList = -1;
2192 static gint ett_h245_MultiplexElement = -1;
2193 static gint ett_h245_Me_type = -1;
2194 static gint ett_h245_T_subElementList = -1;
2195 static gint ett_h245_ME_repeatCount = -1;
2196 static gint ett_h245_MultiplexEntrySendAck = -1;
2197 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber = -1;
2198 static gint ett_h245_MultiplexEntrySendReject = -1;
2199 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions = -1;
2200 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
2201 static gint ett_h245_MultiplexEntryRejectionDescriptionsCause = -1;
2202 static gint ett_h245_MultiplexEntrySendRelease = -1;
2203 static gint ett_h245_RequestMultiplexEntry = -1;
2204 static gint ett_h245_RequestMultiplexEntryAck = -1;
2205 static gint ett_h245_RequestMultiplexEntryReject = -1;
2206 static gint ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions = -1;
2207 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
2208 static gint ett_h245_RequestMultiplexEntryRejectionDescriptionsCause = -1;
2209 static gint ett_h245_RequestMultiplexEntryRelease = -1;
2210 static gint ett_h245_RequestMode = -1;
2211 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription = -1;
2212 static gint ett_h245_RequestModeAck = -1;
2213 static gint ett_h245_Req_mode_ack_response = -1;
2214 static gint ett_h245_RequestModeReject = -1;
2215 static gint ett_h245_RequestModeRejectCause = -1;
2216 static gint ett_h245_RequestModeRelease = -1;
2217 static gint ett_h245_ModeDescription = -1;
2218 static gint ett_h245_ModeElementType = -1;
2219 static gint ett_h245_ModeElement = -1;
2220 static gint ett_h245_H235Mode = -1;
2221 static gint ett_h245_T_mediaMode = -1;
2222 static gint ett_h245_MultiplexedStreamModeParameters = -1;
2223 static gint ett_h245_RedundancyEncodingDTMode = -1;
2224 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement = -1;
2225 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
2226 static gint ett_h245_Re_type = -1;
2227 static gint ett_h245_MultiplePayloadStreamMode = -1;
2228 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode = -1;
2229 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
2230 static gint ett_h245_DepFECMode = -1;
2231 static gint ett_h245_T_rfc2733Mode = -1;
2232 static gint ett_h245_FEC_mode = -1;
2233 static gint ett_h245_FECMode = -1;
2234 static gint ett_h245_H223ModeParameters = -1;
2235 static gint ett_h245_AdaptationLayerType = -1;
2236 static gint ett_h245_V76ModeParameters = -1;
2237 static gint ett_h245_H2250ModeParameters = -1;
2238 static gint ett_h245_RedundancyEncodingMode = -1;
2239 static gint ett_h245_T_secondaryEncodingMode = -1;
2240 static gint ett_h245_VideoMode = -1;
2241 static gint ett_h245_H261VideoMode = -1;
2242 static gint ett_h245_H261Resolution = -1;
2243 static gint ett_h245_H262VideoMode = -1;
2244 static gint ett_h245_T_profileAndLevel = -1;
2245 static gint ett_h245_H263VideoMode = -1;
2246 static gint ett_h245_H263Resolution = -1;
2247 static gint ett_h245_IS11172VideoMode = -1;
2248 static gint ett_h245_AudioMode = -1;
2249 static gint ett_h245_Mode_g7231 = -1;
2250 static gint ett_h245_IS11172AudioMode = -1;
2251 static gint ett_h245_T_audioLayer = -1;
2252 static gint ett_h245_T_audioSampling = -1;
2253 static gint ett_h245_IS11172_multichannelType = -1;
2254 static gint ett_h245_IS13818AudioMode = -1;
2255 static gint ett_h245_IS13818AudioLayer = -1;
2256 static gint ett_h245_IS13818AudioSampling = -1;
2257 static gint ett_h245_IS13818MultichannelType = -1;
2258 static gint ett_h245_G7231AnnexCMode = -1;
2259 static gint ett_h245_VBDMode = -1;
2260 static gint ett_h245_DataMode = -1;
2261 static gint ett_h245_DataModeApplication = -1;
2262 static gint ett_h245_T38faxApp = -1;
2263 static gint ett_h245_EncryptionMode = -1;
2264 static gint ett_h245_RoundTripDelayRequest = -1;
2265 static gint ett_h245_RoundTripDelayResponse = -1;
2266 static gint ett_h245_MaintenanceLoopRequest = -1;
2267 static gint ett_h245_Mlr_type = -1;
2268 static gint ett_h245_MaintenanceLoopAck = -1;
2269 static gint ett_h245_Mla_type = -1;
2270 static gint ett_h245_MaintenanceLoopReject = -1;
2271 static gint ett_h245_Mlrej_type = -1;
2272 static gint ett_h245_MaintenanceLoopRejectCause = -1;
2273 static gint ett_h245_MaintenanceLoopOffCommand = -1;
2274 static gint ett_h245_CommunicationModeCommand = -1;
2275 static gint ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry = -1;
2276 static gint ett_h245_CommunicationModeRequest = -1;
2277 static gint ett_h245_CommunicationModeResponse = -1;
2278 static gint ett_h245_CommunicationModeTableEntry = -1;
2279 static gint ett_h245_T_entryDataType = -1;
2280 static gint ett_h245_ConferenceRequest = -1;
2281 static gint ett_h245_T_requestTerminalCertificate = -1;
2282 static gint ett_h245_CertSelectionCriteria = -1;
2283 static gint ett_h245_Criteria = -1;
2284 static gint ett_h245_TerminalLabel = -1;
2285 static gint ett_h245_ConferenceResponse = -1;
2286 static gint ett_h245_T_mCTerminalIDResponse = -1;
2287 static gint ett_h245_T_terminalIDResponse = -1;
2288 static gint ett_h245_T_conferenceIDResponse = -1;
2289 static gint ett_h245_T_passwordResponse = -1;
2290 static gint ett_h245_SET_SIZE_1_256_OF_TerminalLabel = -1;
2291 static gint ett_h245_T_makeMeChairResponse = -1;
2292 static gint ett_h245_T_extensionAddressResponse = -1;
2293 static gint ett_h245_T_chairTokenOwnerResponse = -1;
2294 static gint ett_h245_T_terminalCertificateResponse = -1;
2295 static gint ett_h245_T_broadcastMyLogicalChannelResponse = -1;
2296 static gint ett_h245_T_makeTerminalBroadcasterResponse = -1;
2297 static gint ett_h245_T_sendThisSourceResponse = -1;
2298 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
2299 static gint ett_h245_SEQUENCE_OF_TerminalInformation = -1;
2300 static gint ett_h245_TerminalInformation = -1;
2301 static gint ett_h245_RemoteMCRequest = -1;
2302 static gint ett_h245_RemoteMCResponse = -1;
2303 static gint ett_h245_T_reject = -1;
2304 static gint ett_h245_MultilinkRequest = -1;
2305 static gint ett_h245_CallInformationReq = -1;
2306 static gint ett_h245_AddConnectionReq = -1;
2307 static gint ett_h245_RemoveConnectionReq = -1;
2308 static gint ett_h245_MaximumHeaderIntervalReq = -1;
2309 static gint ett_h245_T_requestType = -1;
2310 static gint ett_h245_MultilinkResponse = -1;
2311 static gint ett_h245_CallInformationResp = -1;
2312 static gint ett_h245_AddConnectionResp = -1;
2313 static gint ett_h245_T_responseCode = -1;
2314 static gint ett_h245_T_rejected = -1;
2315 static gint ett_h245_RemoveConnectionResp = -1;
2316 static gint ett_h245_MaximumHeaderIntervalResp = -1;
2317 static gint ett_h245_MultilinkIndication = -1;
2318 static gint ett_h245_T_crcDesired = -1;
2319 static gint ett_h245_T_excessiveError = -1;
2320 static gint ett_h245_DialingInformation = -1;
2321 static gint ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber = -1;
2322 static gint ett_h245_DialingInformationNumber = -1;
2323 static gint ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType = -1;
2324 static gint ett_h245_DialingInformationNetworkType = -1;
2325 static gint ett_h245_ConnectionIdentifier = -1;
2326 static gint ett_h245_LogicalChannelRateRequest = -1;
2327 static gint ett_h245_LogicalChannelRateAcknowledge = -1;
2328 static gint ett_h245_LogicalChannelRateReject = -1;
2329 static gint ett_h245_LogicalChannelRateRejectReason = -1;
2330 static gint ett_h245_LogicalChannelRateRelease = -1;
2331 static gint ett_h245_SendTerminalCapabilitySet = -1;
2332 static gint ett_h245_T_specificRequest = -1;
2333 static gint ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber = -1;
2334 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber = -1;
2335 static gint ett_h245_EncryptionCommand = -1;
2336 static gint ett_h245_T_encryptionAlgorithmID = -1;
2337 static gint ett_h245_FlowControlCommand = -1;
2338 static gint ett_h245_Scope = -1;
2339 static gint ett_h245_Restriction = -1;
2340 static gint ett_h245_EndSessionCommand = -1;
2341 static gint ett_h245_T_gstnOptions = -1;
2342 static gint ett_h245_T_isdnOptions = -1;
2343 static gint ett_h245_ConferenceCommand = -1;
2344 static gint ett_h245_SubstituteConferenceIDCommand = -1;
2345 static gint ett_h245_EncryptionUpdateDirection = -1;
2346 static gint ett_h245_MiscellaneousCommand = -1;
2347 static gint ett_h245_Mc_type = -1;
2348 static gint ett_h245_T_videoFastUpdateGOB = -1;
2349 static gint ett_h245_T_videoFastUpdateMB = -1;
2350 static gint ett_h245_T_progressiveRefinementStart = -1;
2351 static gint ett_h245_T_repeatCount = -1;
2352 static gint ett_h245_T_videoBadMBs = -1;
2353 static gint ett_h245_SEQUENCE_OF_PictureReference = -1;
2354 static gint ett_h245_T_lostPartialPicture = -1;
2355 static gint ett_h245_T_encryptionUpdateCommand = -1;
2356 static gint ett_h245_T_encryptionUpdateAck = -1;
2357 static gint ett_h245_KeyProtectionMethod = -1;
2358 static gint ett_h245_EncryptionUpdateRequest = -1;
2359 static gint ett_h245_PictureReference = -1;
2360 static gint ett_h245_H223MultiplexReconfiguration = -1;
2361 static gint ett_h245_T_h223ModeChange = -1;
2362 static gint ett_h245_T_h223AnnexADoubleFlag = -1;
2363 static gint ett_h245_NewATMVCCommand = -1;
2364 static gint ett_h245_Cmd_aal = -1;
2365 static gint ett_h245_Cmd_aal1 = -1;
2366 static gint ett_h245_Cmd_clockRecovery = -1;
2367 static gint ett_h245_Cmd_errorCorrection = -1;
2368 static gint ett_h245_Cmd_aal5 = -1;
2369 static gint ett_h245_Cmd_multiplex = -1;
2370 static gint ett_h245_Cmd_reverseParameters = -1;
2371 static gint ett_h245_CmdR_multiplex = -1;
2372 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
2373 static gint ett_h245_T_status = -1;
2374 static gint ett_h245_FunctionNotUnderstood = -1;
2375 static gint ett_h245_FunctionNotSupported = -1;
2376 static gint ett_h245_FunctionNotSupportedCause = -1;
2377 static gint ett_h245_ConferenceIndication = -1;
2378 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
2379 static gint ett_h245_VideoIndicateCompose = -1;
2380 static gint ett_h245_MiscellaneousIndication = -1;
2381 static gint ett_h245_Mi_type = -1;
2382 static gint ett_h245_T_videoNotDecodedMBs = -1;
2383 static gint ett_h245_JitterIndication = -1;
2384 static gint ett_h245_H223SkewIndication = -1;
2385 static gint ett_h245_H2250MaximumSkewIndication = -1;
2386 static gint ett_h245_MCLocationIndication = -1;
2387 static gint ett_h245_VendorIdentification = -1;
2388 static gint ett_h245_NewATMVCIndication = -1;
2389 static gint ett_h245_Ind_aal = -1;
2390 static gint ett_h245_Ind_aal1 = -1;
2391 static gint ett_h245_Ind_clockRecovery = -1;
2392 static gint ett_h245_Ind_errorCorrection = -1;
2393 static gint ett_h245_Ind_aal5 = -1;
2394 static gint ett_h245_Ind_multiplex = -1;
2395 static gint ett_h245_Ind_reverseParameters = -1;
2396 static gint ett_h245_IndR_multiplex = -1;
2397 static gint ett_h245_Params = -1;
2398 static gint ett_h245_UserInputIndication = -1;
2399 static gint ett_h245_T_userInputSupportIndication = -1;
2400 static gint ett_h245_T_signal = -1;
2401 static gint ett_h245_T_rtp = -1;
2402 static gint ett_h245_T_signalUpdate = -1;
2403 static gint ett_h245_Si_rtp = -1;
2404 static gint ett_h245_T_extendedAlphanumeric = -1;
2405 static gint ett_h245_EncryptedAlphanumeric = -1;
2406 static gint ett_h245_FlowControlIndication = -1;
2407 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
2408
2409 /*--- End of included file: packet-h245-ett.c ---*/
2410 #line 379 "packet-h245-template.c"
2411
2412 /* Forward declarations */
2413 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_);
2414 static void reset_h245_pi(void *dummy _U_)
2415 {
2416         h245_pi = NULL; /* Make sure we don't leave ep_alloc()ated memory lying around */
2417 }
2418
2419
2420 /*--- Included file: packet-h245-fn.c ---*/
2421 #line 1 "packet-h245-fn.c"
2422 /*--- Cyclic dependencies ---*/
2423
2424 /* GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter */
2425 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_);
2426
2427 /* VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability */
2428 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_);
2429
2430 /* AudioCapability -> VBDCapability -> AudioCapability */
2431 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_);
2432
2433 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType */
2434 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> RedundancyEncoding/rtpRedundancyEncoding -> RedundancyEncodingElement -> DataType */
2435 /* DataType -> H235Media -> H235Media/mediaType -> MultiplePayloadStream -> MultiplePayloadStream/elements -> MultiplePayloadStreamElement -> DataType */
2436 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_);
2437
2438 /* MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement */
2439 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_);
2440
2441 /* AudioMode -> VBDMode -> AudioMode */
2442 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_);
2443
2444 /* ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType */
2445 /* ModeElementType -> MultiplePayloadStreamMode -> MultiplePayloadStreamMode/elements -> MultiplePayloadStreamElementMode -> ModeElementType */
2446 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_);
2447
2448
2449
2450
2451 static int
2452 dissect_h245_T_object(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2453   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID);
2454
2455   return offset;
2456 }
2457
2458
2459
2460 static int
2461 dissect_h245_T_t35CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2462   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2463                                                             0U, 255U, &t35CountryCode, FALSE);
2464
2465   return offset;
2466 }
2467
2468
2469
2470 static int
2471 dissect_h245_T_t35Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2472   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2473                                                             0U, 255U, &t35Extension, FALSE);
2474
2475   return offset;
2476 }
2477
2478
2479
2480 static int
2481 dissect_h245_T_manufacturerCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2482   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2483                                                             0U, 65535U, &manufacturerCode, FALSE);
2484
2485   return offset;
2486 }
2487
2488
2489 static const per_sequence_t H221NonStandardID_sequence[] = {
2490   { &hf_h245_t35CountryCode , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35CountryCode },
2491   { &hf_h245_t35Extension   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35Extension },
2492   { &hf_h245_manufacturerCode, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_manufacturerCode },
2493   { NULL, 0, 0, NULL }
2494 };
2495
2496 static int
2497 dissect_h245_H221NonStandardID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2498 #line 957 "h245.cnf"
2499   t35CountryCode = 0;
2500   t35Extension = 0;
2501   manufacturerCode = 0;
2502
2503   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2504                                    ett_h245_H221NonStandardID, H221NonStandardID_sequence);
2505
2506 #line 961 "h245.cnf"
2507   h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
2508   proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
2509
2510   return offset;
2511 }
2512
2513
2514 static const value_string h245_NonStandardIdentifier_vals[] = {
2515   {   0, "object" },
2516   {   1, "h221NonStandard" },
2517   { 0, NULL }
2518 };
2519
2520 static const per_choice_t NonStandardIdentifier_choice[] = {
2521   {   0, &hf_h245_object         , ASN1_NO_EXTENSIONS     , dissect_h245_T_object },
2522   {   1, &hf_h245_h221NonStandardID, ASN1_NO_EXTENSIONS     , dissect_h245_H221NonStandardID },
2523   { 0, NULL, 0, NULL }
2524 };
2525
2526 static int
2527 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2528 #line 938 "h245.cnf"
2529         gint32 value;
2530
2531         nsiOID = "";
2532         h221NonStandard = 0;
2533
2534   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2535                                  ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice,
2536                                  &value);
2537
2538         switch (value) {
2539                 case 0 :  /* object */
2540                         nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
2541                         break;
2542                 case 1 :  /* h221NonStandard */
2543                         nsp_handle = dissector_get_port_handle(nsp_h221_dissector_table, h221NonStandard);
2544                         break;
2545                 default :
2546                         nsp_handle = NULL;
2547     }
2548
2549
2550   return offset;
2551 }
2552
2553
2554
2555 static int
2556 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_) {
2557 #line 972 "h245.cnf"
2558   tvbuff_t *next_tvb = NULL;
2559
2560   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2561                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
2562
2563   if (next_tvb && tvb_length(next_tvb)) {
2564     call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
2565   }
2566
2567
2568   return offset;
2569 }
2570
2571
2572 static const per_sequence_t NonStandardParameter_sequence[] = {
2573   { &hf_h245_nonStandardIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
2574   { &hf_h245_nsd_data       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nsd_data },
2575   { NULL, 0, 0, NULL }
2576 };
2577
2578 static int
2579 dissect_h245_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2580 #line 970 "h245.cnf"
2581   nsp_handle = NULL;
2582
2583   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2584                                    ett_h245_NonStandardParameter, NonStandardParameter_sequence);
2585
2586   return offset;
2587 }
2588
2589
2590 static const per_sequence_t NonStandardMessage_sequence[] = {
2591   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
2592   { NULL, 0, 0, NULL }
2593 };
2594
2595 static int
2596 dissect_h245_NonStandardMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2597   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2598                                    ett_h245_NonStandardMessage, NonStandardMessage_sequence);
2599
2600   return offset;
2601 }
2602
2603
2604
2605 static int
2606 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_) {
2607   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2608                                                             0U, 255U, NULL, FALSE);
2609
2610   return offset;
2611 }
2612
2613
2614
2615 static int
2616 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_) {
2617   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2618                                                             0U, 16777215U, NULL, FALSE);
2619
2620   return offset;
2621 }
2622
2623
2624 static const per_sequence_t MasterSlaveDetermination_sequence[] = {
2625   { &hf_h245_terminalType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
2626   { &hf_h245_statusDeterminationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
2627   { NULL, 0, 0, NULL }
2628 };
2629
2630 static int
2631 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2632   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2633                                    ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
2634
2635 #line 583 "h245.cnf"
2636
2637 if (h245_pi != NULL)
2638   h245_pi->msg_type = H245_MastSlvDet;
2639
2640   return offset;
2641 }
2642
2643
2644
2645 static int
2646 dissect_h245_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2647   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2648                                                             0U, 255U, NULL, FALSE);
2649
2650   return offset;
2651 }
2652
2653
2654
2655 static int
2656 dissect_h245_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2657   offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
2658
2659   return offset;
2660 }
2661
2662
2663
2664 static int
2665 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_) {
2666   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2667                                                             1U, 256U, NULL, FALSE);
2668
2669   return offset;
2670 }
2671
2672
2673
2674 static int
2675 dissect_h245_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2676   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2677
2678   return offset;
2679 }
2680
2681
2682 static const per_sequence_t T_aal1_sequence[] = {
2683   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2684   { &hf_h245_srtsClockRecovery_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2685   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2686   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2687   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2688   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2689   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2690   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2691   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2692   { NULL, 0, 0, NULL }
2693 };
2694
2695 static int
2696 dissect_h245_T_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2697   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2698                                    ett_h245_T_aal1, T_aal1_sequence);
2699
2700   return offset;
2701 }
2702
2703
2704
2705 static int
2706 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_) {
2707   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2708                                                             0U, 65535U, NULL, FALSE);
2709
2710   return offset;
2711 }
2712
2713
2714 static const per_sequence_t T_aal5_sequence[] = {
2715   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2716   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2717   { NULL, 0, 0, NULL }
2718 };
2719
2720 static int
2721 dissect_h245_T_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2722   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2723                                    ett_h245_T_aal5, T_aal5_sequence);
2724
2725   return offset;
2726 }
2727
2728
2729
2730 static int
2731 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_) {
2732   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2733                                                             1U, 65535U, NULL, FALSE);
2734
2735   return offset;
2736 }
2737
2738
2739 static const per_sequence_t T_rangeOfBitRates_sequence[] = {
2740   { &hf_h245_lowerBitRate   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2741   { &hf_h245_higherBitRate  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2742   { NULL, 0, 0, NULL }
2743 };
2744
2745 static int
2746 dissect_h245_T_rangeOfBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2747   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2748                                    ett_h245_T_rangeOfBitRates, T_rangeOfBitRates_sequence);
2749
2750   return offset;
2751 }
2752
2753
2754 static const value_string h245_Avb_type_vals[] = {
2755   {   0, "singleBitRate" },
2756   {   1, "rangeOfBitRates" },
2757   { 0, NULL }
2758 };
2759
2760 static const per_choice_t Avb_type_choice[] = {
2761   {   0, &hf_h245_singleBitRate  , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_1_65535 },
2762   {   1, &hf_h245_rangeOfBitRates, ASN1_NO_EXTENSIONS     , dissect_h245_T_rangeOfBitRates },
2763   { 0, NULL, 0, NULL }
2764 };
2765
2766 static int
2767 dissect_h245_Avb_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2768   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2769                                  ett_h245_Avb_type, Avb_type_choice,
2770                                  NULL);
2771
2772   return offset;
2773 }
2774
2775
2776 static const per_sequence_t T_availableBitRates_sequence[] = {
2777   { &hf_h245_avb_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Avb_type },
2778   { NULL, 0, 0, NULL }
2779 };
2780
2781 static int
2782 dissect_h245_T_availableBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2783   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2784                                    ett_h245_T_availableBitRates, T_availableBitRates_sequence);
2785
2786   return offset;
2787 }
2788
2789
2790
2791 static int
2792 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_) {
2793   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
2794                                           1, 16, FALSE);
2795
2796   return offset;
2797 }
2798
2799
2800
2801 static int
2802 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_) {
2803   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2804                                        1, 20, FALSE, NULL);
2805
2806   return offset;
2807 }
2808
2809
2810 static const value_string h245_T_address_vals[] = {
2811   {   0, "internationalNumber" },
2812   {   1, "nsapAddress" },
2813   { 0, NULL }
2814 };
2815
2816 static const per_choice_t T_address_choice[] = {
2817   {   0, &hf_h245_internationalNumber, ASN1_EXTENSION_ROOT    , dissect_h245_NumericString_SIZE_1_16 },
2818   {   1, &hf_h245_nsapAddress    , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2819   { 0, NULL, 0, NULL }
2820 };
2821
2822 static int
2823 dissect_h245_T_address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2824   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2825                                  ett_h245_T_address, T_address_choice,
2826                                  NULL);
2827
2828   return offset;
2829 }
2830
2831
2832 static const per_sequence_t Q2931Address_sequence[] = {
2833   { &hf_h245_address        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_address },
2834   { &hf_h245_subaddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2835   { NULL, 0, 0, NULL }
2836 };
2837
2838 static int
2839 dissect_h245_Q2931Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2840   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2841                                    ett_h245_Q2931Address, Q2931Address_sequence);
2842
2843   return offset;
2844 }
2845
2846
2847 static const per_sequence_t SET_SIZE_1_256_OF_Q2931Address_set_of[1] = {
2848   { &hf_h245_gatewayAddress_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Q2931Address },
2849 };
2850
2851 static int
2852 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_) {
2853   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
2854                                              ett_h245_SET_SIZE_1_256_OF_Q2931Address, SET_SIZE_1_256_OF_Q2931Address_set_of,
2855                                              1, 256, FALSE);
2856
2857   return offset;
2858 }
2859
2860
2861 static const per_sequence_t T_aal1ViaGateway_sequence[] = {
2862   { &hf_h245_gatewayAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_Q2931Address },
2863   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2864   { &hf_h245_srtsClockRecoveryflag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2865   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2866   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2867   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2868   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2869   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2870   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2871   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2872   { NULL, 0, 0, NULL }
2873 };
2874
2875 static int
2876 dissect_h245_T_aal1ViaGateway(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2877   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2878                                    ett_h245_T_aal1ViaGateway, T_aal1ViaGateway_sequence);
2879
2880   return offset;
2881 }
2882
2883
2884 static const per_sequence_t VCCapability_sequence[] = {
2885   { &hf_h245_aal1           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal1 },
2886   { &hf_h245_aal5           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal5 },
2887   { &hf_h245_transportStream_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2888   { &hf_h245_programStream  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2889   { &hf_h245_availableBitRates, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_availableBitRates },
2890   { &hf_h245_aal1ViaGateway , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_aal1ViaGateway },
2891   { NULL, 0, 0, NULL }
2892 };
2893
2894 static int
2895 dissect_h245_VCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2896   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2897                                    ett_h245_VCCapability, VCCapability_sequence);
2898
2899   return offset;
2900 }
2901
2902
2903 static const per_sequence_t SET_OF_VCCapability_set_of[1] = {
2904   { &hf_h245_vcCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VCCapability },
2905 };
2906
2907 static int
2908 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_) {
2909   offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
2910                                  ett_h245_SET_OF_VCCapability, SET_OF_VCCapability_set_of);
2911
2912   return offset;
2913 }
2914
2915
2916 static const per_sequence_t H222Capability_sequence[] = {
2917   { &hf_h245_numberOfVCs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
2918   { &hf_h245_vcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_OF_VCCapability },
2919   { NULL, 0, 0, NULL }
2920 };
2921
2922 static int
2923 dissect_h245_H222Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2924   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2925                                    ett_h245_H222Capability, H222Capability_sequence);
2926
2927   return offset;
2928 }
2929
2930
2931
2932 static int
2933 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_) {
2934   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2935                                                             0U, 1023U, NULL, FALSE);
2936
2937   return offset;
2938 }
2939
2940
2941
2942 static int
2943 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2944   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
2945
2946   return offset;
2947 }
2948
2949
2950
2951 static int
2952 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_) {
2953   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2954                                                             1U, 15U, NULL, FALSE);
2955
2956   return offset;
2957 }
2958
2959
2960
2961 static int
2962 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_) {
2963   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2964                                                             2U, 255U, NULL, FALSE);
2965
2966   return offset;
2967 }
2968
2969
2970 static const per_sequence_t T_enhanced_sequence[] = {
2971   { &hf_h245_maximumNestingDepth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_15 },
2972   { &hf_h245_maximumElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2973   { &hf_h245_maximumSubElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2974   { NULL, 0, 0, NULL }
2975 };
2976
2977 static int
2978 dissect_h245_T_enhanced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2979   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2980                                    ett_h245_T_enhanced, T_enhanced_sequence);
2981
2982   return offset;
2983 }
2984
2985
2986 static const value_string h245_T_h223MultiplexTableCapability_vals[] = {
2987   {   0, "basic" },
2988   {   1, "enhanced" },
2989   { 0, NULL }
2990 };
2991
2992 static const per_choice_t T_h223MultiplexTableCapability_choice[] = {
2993   {   0, &hf_h245_basic          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
2994   {   1, &hf_h245_enhanced       , ASN1_NO_EXTENSIONS     , dissect_h245_T_enhanced },
2995   { 0, NULL, 0, NULL }
2996 };
2997
2998 static int
2999 dissect_h245_T_h223MultiplexTableCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3000   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3001                                  ett_h245_T_h223MultiplexTableCapability, T_h223MultiplexTableCapability_choice,
3002                                  NULL);
3003
3004   return offset;
3005 }
3006
3007
3008 static const per_sequence_t T_mobileOperationTransmitCapability_sequence[] = {
3009   { &hf_h245_modeChangeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3010   { &hf_h245_h223AnnexA     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3011   { &hf_h245_h223AnnexADoubleFlagFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3012   { &hf_h245_h223AnnexB     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3013   { &hf_h245_h223AnnexBwithHeader, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3014   { NULL, 0, 0, NULL }
3015 };
3016
3017 static int
3018 dissect_h245_T_mobileOperationTransmitCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3019   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3020                                    ett_h245_T_mobileOperationTransmitCapability, T_mobileOperationTransmitCapability_sequence);
3021
3022   return offset;
3023 }
3024
3025
3026 static const per_sequence_t H223AnnexCCapability_sequence[] = {
3027   { &hf_h245_videoWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3028   { &hf_h245_videoWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3029   { &hf_h245_videoWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3030   { &hf_h245_audioWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3031   { &hf_h245_audioWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3032   { &hf_h245_audioWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3033   { &hf_h245_dataWithAL1M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3034   { &hf_h245_dataWithAL2M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3035   { &hf_h245_dataWithAL3M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3036   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3037   { &hf_h245_maximumAL1MPDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3038   { &hf_h245_maximumAL2MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3039   { &hf_h245_maximumAL3MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3040   { &hf_h245_rsCodeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
3041   { NULL, 0, 0, NULL }
3042 };
3043
3044 static int
3045 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3046   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3047                                    ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
3048
3049   return offset;
3050 }
3051
3052
3053
3054 static int
3055 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_) {
3056   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3057                                                             1U, 19200U, NULL, FALSE);
3058
3059   return offset;
3060 }
3061
3062
3063
3064 static int
3065 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_) {
3066   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3067                                                             1U, 255U, NULL, FALSE);
3068
3069   return offset;
3070 }
3071
3072
3073
3074 static int
3075 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_) {
3076   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3077                                                             1U, 65025U, NULL, FALSE);
3078
3079   return offset;
3080 }
3081
3082
3083 static const per_sequence_t T_mobileMultilinkFrameCapability_sequence[] = {
3084   { &hf_h245_maximumSampleSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
3085   { &hf_h245_maximumPayloadLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65025 },
3086   { NULL, 0, 0, NULL }
3087 };
3088
3089 static int
3090 dissect_h245_T_mobileMultilinkFrameCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3091   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3092                                    ett_h245_T_mobileMultilinkFrameCapability, T_mobileMultilinkFrameCapability_sequence);
3093
3094   return offset;
3095 }
3096
3097
3098 static const per_sequence_t H223Capability_sequence[] = {
3099   { &hf_h245_transportWithI_frames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3100   { &hf_h245_videoWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3101   { &hf_h245_videoWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3102   { &hf_h245_videoWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3103   { &hf_h245_audioWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3104   { &hf_h245_audioWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3105   { &hf_h245_audioWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3106   { &hf_h245_dataWithAL1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3107   { &hf_h245_dataWithAL2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3108   { &hf_h245_dataWithAL3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3109   { &hf_h245_maximumAl2SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3110   { &hf_h245_maximumAl3SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3111   { &hf_h245_maximumDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
3112   { &hf_h245_h223MultiplexTableCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223MultiplexTableCapability },
3113   { &hf_h245_maxMUXPDUSizeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3114   { &hf_h245_nsrpSupport    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3115   { &hf_h245_mobileOperationTransmitCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileOperationTransmitCapability },
3116   { &hf_h245_h223AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H223AnnexCCapability },
3117   { &hf_h245_bitRate_1_19200, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_19200 },
3118   { &hf_h245_mobileMultilinkFrameCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileMultilinkFrameCapability },
3119   { NULL, 0, 0, NULL }
3120 };
3121
3122 int
3123 dissect_h245_H223Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3124   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3125                                    ett_h245_H223Capability, H223Capability_sequence);
3126
3127   return offset;
3128 }
3129
3130
3131
3132 static int
3133 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_) {
3134   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3135                                                             2U, 8191U, NULL, FALSE);
3136
3137   return offset;
3138 }
3139
3140
3141
3142 static int
3143 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_) {
3144   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3145                                                             1U, 4095U, NULL, FALSE);
3146
3147   return offset;
3148 }
3149
3150
3151
3152 static int
3153 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_) {
3154   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3155                                                             1U, 127U, NULL, FALSE);
3156
3157   return offset;
3158 }
3159
3160
3161 static const per_sequence_t V75Capability_sequence[] = {
3162   { &hf_h245_audioHeader    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3163   { NULL, 0, 0, NULL }
3164 };
3165
3166 static int
3167 dissect_h245_V75Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3168   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3169                                    ett_h245_V75Capability, V75Capability_sequence);
3170
3171   return offset;
3172 }
3173
3174
3175 static const per_sequence_t V76Capability_sequence[] = {
3176   { &hf_h245_suspendResumeCapabilitywAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3177   { &hf_h245_suspendResumeCapabilitywoAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3178   { &hf_h245_rejCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3179   { &hf_h245_sREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3180   { &hf_h245_mREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3181   { &hf_h245_crc8bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3182   { &hf_h245_crc16bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3183   { &hf_h245_crc32bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3184   { &hf_h245_uihCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3185   { &hf_h245_numOfDLCS      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_8191 },
3186   { &hf_h245_twoOctetAddressFieldCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3187   { &hf_h245_loopBackTestCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3188   { &hf_h245_n401Capability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
3189   { &hf_h245_maxWindowSizeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
3190   { &hf_h245_v75Capability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Capability },
3191   { NULL, 0, 0, NULL }
3192 };
3193
3194 static int
3195 dissect_h245_V76Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3196   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3197                                    ett_h245_V76Capability, V76Capability_sequence);
3198
3199   return offset;
3200 }
3201
3202
3203
3204 static int
3205 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_) {
3206   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3207                                                             1U, 65536U, NULL, FALSE);
3208
3209   return offset;
3210 }
3211
3212
3213 static const per_sequence_t V42bis_sequence[] = {
3214   { &hf_h245_numberOfCodewords, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
3215   { &hf_h245_maximumStringLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
3216   { NULL, 0, 0, NULL }
3217 };
3218
3219 static int
3220 dissect_h245_V42bis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3221   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3222                                    ett_h245_V42bis, V42bis_sequence);
3223
3224   return offset;
3225 }
3226
3227
3228 static const value_string h245_CompressionType_vals[] = {
3229   {   0, "v42bis" },
3230   { 0, NULL }
3231 };
3232
3233 static const per_choice_t CompressionType_choice[] = {
3234   {   0, &hf_h245_v42bis         , ASN1_EXTENSION_ROOT    , dissect_h245_V42bis },
3235   { 0, NULL, 0, NULL }
3236 };
3237
3238 static int
3239 dissect_h245_CompressionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3240   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3241                                  ett_h245_CompressionType, CompressionType_choice,
3242                                  NULL);
3243
3244   return offset;
3245 }
3246
3247
3248 static const value_string h245_T_v76wCompression_vals[] = {
3249   {   0, "transmitCompression" },
3250   {   1, "receiveCompression" },
3251   {   2, "transmitAndReceiveCompression" },
3252   { 0, NULL }
3253 };
3254
3255 static const per_choice_t T_v76wCompression_choice[] = {
3256   {   0, &hf_h245_transmitCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3257   {   1, &hf_h245_receiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3258   {   2, &hf_h245_transmitAndReceiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3259   { 0, NULL, 0, NULL }
3260 };
3261
3262 static int
3263 dissect_h245_T_v76wCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3264   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3265                                  ett_h245_T_v76wCompression, T_v76wCompression_choice,
3266                                  NULL);
3267
3268   return offset;
3269 }
3270
3271
3272 const value_string DataProtocolCapability_vals[] = {
3273   {   0, "nonStandard" },
3274   {   1, "v14buffered" },
3275   {   2, "v42lapm" },
3276   {   3, "hdlcFrameTunnelling" },
3277   {   4, "h310SeparateVCStack" },
3278   {   5, "h310SingleVCStack" },
3279   {   6, "transparent" },
3280   {   7, "segmentationAndReassembly" },
3281   {   8, "hdlcFrameTunnelingwSAR" },
3282   {   9, "v120" },
3283   {  10, "separateLANStack" },
3284   {  11, "v76wCompression" },
3285   {  12, "tcp" },
3286   {  13, "udp" },
3287   { 0, NULL }
3288 };
3289
3290 static const per_choice_t DataProtocolCapability_choice[] = {
3291   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3292   {   1, &hf_h245_v14buffered    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3293   {   2, &hf_h245_v42lapm        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3294   {   3, &hf_h245_hdlcFrameTunnelling, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3295   {   4, &hf_h245_h310SeparateVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3296   {   5, &hf_h245_h310SingleVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3297   {   6, &hf_h245_transparent    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3298   {   7, &hf_h245_segmentationAndReassembly, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3299   {   8, &hf_h245_hdlcFrameTunnelingwSAR, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3300   {   9, &hf_h245_v120           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3301   {  10, &hf_h245_separateLANStack, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3302   {  11, &hf_h245_v76wCompression, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_v76wCompression },
3303   {  12, &hf_h245_tcp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3304   {  13, &hf_h245_udp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3305   { 0, NULL, 0, NULL }
3306 };
3307
3308 int
3309 dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3310   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3311                                  ett_h245_DataProtocolCapability, DataProtocolCapability_choice,
3312                                  NULL);
3313
3314   return offset;
3315 }
3316
3317
3318 static const per_sequence_t T_t84Restricted_sequence[] = {
3319   { &hf_h245_qcif_bool      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3320   { &hf_h245_cif_bool       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3321   { &hf_h245_ccir601Seq     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3322   { &hf_h245_ccir601Prog    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3323   { &hf_h245_hdtvSeq        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3324   { &hf_h245_hdtvProg       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3325   { &hf_h245_g3FacsMH200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3326   { &hf_h245_g3FacsMH200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3327   { &hf_h245_g4FacsMMR200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3328   { &hf_h245_g4FacsMMR200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3329   { &hf_h245_jbig200x200Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3330   { &hf_h245_jbig200x200Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3331   { &hf_h245_jbig300x300Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3332   { &hf_h245_jbig300x300Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3333   { &hf_h245_digPhotoLow    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3334   { &hf_h245_digPhotoMedSeq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3335   { &hf_h245_digPhotoMedProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3336   { &hf_h245_digPhotoHighSeq, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3337   { &hf_h245_digPhotoHighProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3338   { NULL, 0, 0, NULL }
3339 };
3340
3341 static int
3342 dissect_h245_T_t84Restricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3343   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3344                                    ett_h245_T_t84Restricted, T_t84Restricted_sequence);
3345
3346   return offset;
3347 }
3348
3349
3350 static const value_string h245_T84Profile_vals[] = {
3351   {   0, "t84Unrestricted" },
3352   {   1, "t84Restricted" },
3353   { 0, NULL }
3354 };
3355
3356 static const per_choice_t T84Profile_choice[] = {
3357   {   0, &hf_h245_t84Unrestricted, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
3358   {   1, &hf_h245_t84Restricted  , ASN1_NO_EXTENSIONS     , dissect_h245_T_t84Restricted },
3359   { 0, NULL, 0, NULL }
3360 };
3361
3362 static int
3363 dissect_h245_T84Profile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3364   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3365                                  ett_h245_T84Profile, T84Profile_choice,
3366                                  NULL);
3367
3368   return offset;
3369 }
3370
3371
3372 static const per_sequence_t T_t84_sequence[] = {
3373   { &hf_h245_t84Protocol    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3374   { &hf_h245_t84Profile     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T84Profile },
3375   { NULL, 0, 0, NULL }
3376 };
3377
3378 static int
3379 dissect_h245_T_t84(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3380   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3381                                    ett_h245_T_t84, T_t84_sequence);
3382
3383   return offset;
3384 }
3385
3386
3387
3388 static int
3389 dissect_h245_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3390   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3391                                        NO_BOUND, NO_BOUND, FALSE, NULL);
3392
3393   return offset;
3394 }
3395
3396
3397 static const per_sequence_t Nlpid_sequence[] = {
3398   { &hf_h245_nlpidProtocol  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3399   { &hf_h245_nlpidData      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
3400   { NULL, 0, 0, NULL }
3401 };
3402
3403 static int
3404 dissect_h245_Nlpid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3405   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3406                                    ett_h245_Nlpid, Nlpid_sequence);
3407
3408   return offset;
3409 }
3410
3411
3412 static const value_string h245_T38FaxRateManagement_vals[] = {
3413   {   0, "localTCF" },
3414   {   1, "transferredTCF" },
3415   { 0, NULL }
3416 };
3417
3418 static const per_choice_t T38FaxRateManagement_choice[] = {
3419   {   0, &hf_h245_localTCF       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3420   {   1, &hf_h245_transferredTCF , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3421   { 0, NULL, 0, NULL }
3422 };
3423
3424 static int
3425 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3426   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3427                                  ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice,
3428                                  NULL);
3429
3430   return offset;
3431 }
3432
3433
3434
3435 static int
3436 dissect_h245_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3437   offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
3438
3439   return offset;
3440 }
3441
3442
3443 static const value_string h245_T_t38FaxUdpEC_vals[] = {
3444   {   0, "t38UDPFEC" },
3445   {   1, "t38UDPRedundancy" },
3446   { 0, NULL }
3447 };
3448
3449 static const per_choice_t T_t38FaxUdpEC_choice[] = {
3450   {   0, &hf_h245_t38UDPFEC      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3451   {   1, &hf_h245_t38UDPRedundancy, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3452   { 0, NULL, 0, NULL }
3453 };
3454
3455 static int
3456 dissect_h245_T_t38FaxUdpEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3457   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3458                                  ett_h245_T_t38FaxUdpEC, T_t38FaxUdpEC_choice,
3459                                  NULL);
3460
3461   return offset;
3462 }
3463
3464
3465 static const per_sequence_t T38FaxUdpOptions_sequence[] = {
3466   { &hf_h245_t38FaxMaxBuffer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3467   { &hf_h245_t38FaxMaxDatagram, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3468   { &hf_h245_t38FaxUdpEC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t38FaxUdpEC },
3469   { NULL, 0, 0, NULL }
3470 };
3471
3472 static int
3473 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3474   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3475                                    ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
3476
3477   return offset;
3478 }
3479
3480
3481 static const per_sequence_t T38FaxTcpOptions_sequence[] = {
3482   { &hf_h245_t38TCPBidirectionalMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3483   { NULL, 0, 0, NULL }
3484 };
3485
3486 static int
3487 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3488   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3489                                    ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
3490
3491   return offset;
3492 }
3493
3494
3495 static const per_sequence_t T38FaxProfile_sequence[] = {
3496   { &hf_h245_fillBitRemoval , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3497   { &hf_h245_transcodingJBIG, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3498   { &hf_h245_transcodingMMR , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3499   { &hf_h245_version        , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
3500   { &hf_h245_t38FaxRateManagement, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T38FaxRateManagement },
3501   { &hf_h245_t38FaxUdpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxUdpOptions },
3502   { &hf_h245_t38FaxTcpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxTcpOptions },
3503   { NULL, 0, 0, NULL }
3504 };
3505
3506 int
3507 dissect_h245_T38FaxProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3508   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3509                                    ett_h245_T38FaxProfile, T38FaxProfile_sequence);
3510
3511   return offset;
3512 }
3513
3514
3515 static const per_sequence_t T_t38fax_sequence[] = {
3516   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3517   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
3518   { NULL, 0, 0, NULL }
3519 };
3520
3521 static int
3522 dissect_h245_T_t38fax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3523   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3524                                    ett_h245_T_t38fax, T_t38fax_sequence);
3525
3526   return offset;
3527 }
3528
3529
3530
3531 static int
3532 dissect_h245_T_standardOid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3533 #line 722 "h245.cnf"
3534   const gchar *standard_oid_str = NULL;
3535   gef_ctx_t *gefx;
3536
3537   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &standard_oid_str);
3538
3539   gefx = gef_ctx_get(actx->private_data);
3540   if (gefx) gefx->id = standard_oid_str;
3541
3542   if(strcmp(standard_oid_str,"0.0.8.235.0.3.76") == 0) {  /* MIKEY */
3543     if (upcoming_channel)
3544           upcoming_channel->srtp_flag = TRUE;
3545   }
3546
3547   if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0)
3548         h245_lc_dissector = amr_handle;
3549
3550
3551   return offset;
3552 }
3553
3554
3555
3556 static int
3557 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_) {
3558   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3559                                        16, 16, FALSE, NULL);
3560
3561   return offset;
3562 }
3563
3564
3565
3566 static int
3567 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_) {
3568   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3569                                           1, 64, FALSE);
3570
3571   return offset;
3572 }
3573
3574
3575 static const value_string h245_CapabilityIdentifier_vals[] = {
3576   {   0, "standard" },
3577   {   1, "h221NonStandard" },
3578   {   2, "uuid" },
3579   {   3, "domainBased" },
3580   { 0, NULL }
3581 };
3582
3583 static const per_choice_t CapabilityIdentifier_choice[] = {
3584   {   0, &hf_h245_standardOid    , ASN1_EXTENSION_ROOT    , dissect_h245_T_standardOid },
3585   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3586   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3587   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3588   { 0, NULL, 0, NULL }
3589 };
3590
3591 static int
3592 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3593 #line 708 "h245.cnf"
3594   gef_ctx_t *gefx;
3595
3596   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3597                                  ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice,
3598                                  NULL);
3599
3600 #line 710 "h245.cnf"
3601   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3602   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG CapabilityIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3603   gefx = gef_ctx_get(actx->private_data);
3604   if (gefx) {
3605     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3606     actx->pinfo->private_data = actx;
3607     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3608   }
3609   actx->private_data = gefx;  /* subdissector could overwrite it */
3610
3611   return offset;
3612 }
3613
3614
3615
3616 static int
3617 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_) {
3618   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3619                                                             0U, 4294967295U, NULL, FALSE);
3620
3621   return offset;
3622 }
3623
3624
3625
3626 static int
3627 dissect_h245_T_standard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3628 #line 753 "h245.cnf"
3629   guint32 value_int = (guint32)-1;
3630   gef_ctx_t *gefx;
3631
3632   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3633                                                             0U, 127U, &value_int, FALSE);
3634
3635   gefx = gef_ctx_get(actx->private_data);
3636   if (gefx) gefx->id = ep_strdup_printf("%d", value_int);
3637
3638
3639   return offset;
3640 }
3641
3642
3643 static const value_string h245_ParameterIdentifier_vals[] = {
3644   {   0, "standard" },
3645   {   1, "h221NonStandard" },
3646   {   2, "uuid" },
3647   {   3, "domainBased" },
3648   { 0, NULL }
3649 };
3650
3651 static const per_choice_t ParameterIdentifier_choice[] = {
3652   {   0, &hf_h245_standard       , ASN1_EXTENSION_ROOT    , dissect_h245_T_standard },
3653   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3654   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3655   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3656   { 0, NULL, 0, NULL }
3657 };
3658
3659 static int
3660 dissect_h245_ParameterIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3661 #line 739 "h245.cnf"
3662   gef_ctx_t *gefx;
3663
3664   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3665                                  ett_h245_ParameterIdentifier, ParameterIdentifier_choice,
3666                                  NULL);
3667
3668 #line 741 "h245.cnf"
3669   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3670   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG ParameterIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3671   gefx = gef_ctx_get(actx->private_data);
3672   if (gefx) {
3673     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3674     actx->pinfo->private_data = actx;
3675     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3676   }
3677   actx->private_data = gefx;  /* subdissector could overwrite it */
3678
3679   return offset;
3680 }
3681
3682
3683
3684 static int
3685 dissect_h245_T_booleanArray(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3686 #line 762 "h245.cnf"
3687   guint32 value;
3688   guint8 *buf;
3689   tvbuff_t *value_tvb;
3690   gef_ctx_t *gefx;
3691
3692   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3693                                                             0U, 255U, &value, FALSE);
3694
3695   gefx = gef_ctx_get(actx->private_data);
3696   if (gefx) {
3697     buf = ep_alloc(sizeof(guint8));
3698     buf[0] = value;
3699     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint8), sizeof(guint8));
3700     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3701     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3702   }
3703
3704
3705   return offset;
3706 }
3707
3708
3709
3710 static int
3711 dissect_h245_T_unsignedMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3712 #line 778 "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, 65535U, &value, FALSE);
3720
3721   gefx = gef_ctx_get(actx->private_data);
3722   if (gefx) {
3723     buf = ep_alloc(sizeof(guint16));
3724     phtons(buf, value);
3725     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
3726     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3727     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3728   }
3729
3730
3731   return offset;
3732 }
3733
3734
3735
3736 static int
3737 dissect_h245_T_unsignedMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3738 #line 794 "h245.cnf"
3739   guint32 value;
3740   guint8 *buf;
3741   tvbuff_t *value_tvb;
3742   gef_ctx_t *gefx;
3743
3744   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3745                                                             0U, 65535U, &value, FALSE);
3746
3747   gefx = gef_ctx_get(actx->private_data);
3748   if (gefx) {
3749     buf = ep_alloc(sizeof(guint16));
3750     phtons(buf, value);
3751     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
3752     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3753     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3754   }
3755
3756
3757   return offset;
3758 }
3759
3760
3761
3762 static int
3763 dissect_h245_T_unsigned32Min(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3764 #line 810 "h245.cnf"
3765   guint32 value;
3766   guint8 *buf;
3767   tvbuff_t *value_tvb;
3768   gef_ctx_t *gefx;
3769
3770   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3771                                                             0U, 4294967295U, &value, FALSE);
3772
3773   gefx = gef_ctx_get(actx->private_data);
3774   if (gefx) {
3775     buf = ep_alloc(sizeof(guint32));
3776     phtonl(buf, value);
3777     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
3778     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3779     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3780   }
3781
3782
3783   return offset;
3784 }
3785
3786
3787
3788 static int
3789 dissect_h245_T_unsigned32Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3790 #line 826 "h245.cnf"
3791   guint32 value;
3792   guint8 *buf;
3793   tvbuff_t *value_tvb;
3794   gef_ctx_t *gefx;
3795
3796   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3797                                                             0U, 4294967295U, &value, FALSE);
3798
3799   gefx = gef_ctx_get(actx->private_data);
3800   if (gefx) {
3801     buf = ep_alloc(sizeof(guint32));
3802     phtonl(buf, value);
3803     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
3804     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3805     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3806   }
3807
3808
3809   return offset;
3810 }
3811
3812
3813
3814 static int
3815 dissect_h245_T_octetString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3816 #line 842 "h245.cnf"
3817   tvbuff_t *value_tvb;
3818   gef_ctx_t *gefx;
3819
3820   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3821                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3822
3823   gefx = gef_ctx_get(actx->private_data);
3824   if (gefx) {
3825     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3826     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3827   }
3828
3829
3830   return offset;
3831 }
3832
3833
3834 static const per_sequence_t SEQUENCE_OF_GenericParameter_sequence_of[1] = {
3835   { &hf_h245_genericParameters_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericParameter },
3836 };
3837
3838 static int
3839 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_) {
3840   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3841                                       ett_h245_SEQUENCE_OF_GenericParameter, SEQUENCE_OF_GenericParameter_sequence_of);
3842
3843   return offset;
3844 }
3845
3846
3847 static const value_string h245_ParameterValue_vals[] = {
3848   {   0, "logical" },
3849   {   1, "booleanArray" },
3850   {   2, "unsignedMin" },
3851   {   3, "unsignedMax" },
3852   {   4, "unsigned32Min" },
3853   {   5, "unsigned32Max" },
3854   {   6, "octetString" },
3855   {   7, "genericParameter" },
3856   { 0, NULL }
3857 };
3858
3859 static const per_choice_t ParameterValue_choice[] = {
3860   {   0, &hf_h245_logical        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3861   {   1, &hf_h245_booleanArray   , ASN1_EXTENSION_ROOT    , dissect_h245_T_booleanArray },
3862   {   2, &hf_h245_unsignedMin    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMin },
3863   {   3, &hf_h245_unsignedMax    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMax },
3864   {   4, &hf_h245_unsigned32Min  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Min },
3865   {   5, &hf_h245_unsigned32Max  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Max },
3866   {   6, &hf_h245_octetString    , ASN1_EXTENSION_ROOT    , dissect_h245_T_octetString },
3867   {   7, &hf_h245_genericParameters, ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_OF_GenericParameter },
3868   { 0, NULL, 0, NULL }
3869 };
3870
3871 static int
3872 dissect_h245_ParameterValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3873   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3874                                  ett_h245_ParameterValue, ParameterValue_choice,
3875                                  NULL);
3876
3877   return offset;
3878 }
3879
3880
3881 static const per_sequence_t SEQUENCE_OF_ParameterIdentifier_sequence_of[1] = {
3882   { &hf_h245_supersedes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3883 };
3884
3885 static int
3886 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_) {
3887   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3888                                       ett_h245_SEQUENCE_OF_ParameterIdentifier, SEQUENCE_OF_ParameterIdentifier_sequence_of);
3889
3890   return offset;
3891 }
3892
3893
3894 static const per_sequence_t GenericParameter_sequence[] = {
3895   { &hf_h245_parameterIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3896   { &hf_h245_parameterValue , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterValue },
3897   { &hf_h245_supersedes     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_ParameterIdentifier },
3898   { NULL, 0, 0, NULL }
3899 };
3900
3901 static int
3902 dissect_h245_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3903   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3904                                    ett_h245_GenericParameter, GenericParameter_sequence);
3905
3906   return offset;
3907 }
3908
3909
3910
3911 static int
3912 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_) {
3913 #line 664 "h245.cnf"
3914   gef_ctx_t *parent_gefx;
3915
3916   parent_gefx = gef_ctx_get(actx->private_data);
3917   actx->private_data = gef_ctx_alloc(parent_gefx, "collapsing");
3918
3919   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3920
3921 #line 669 "h245.cnf"
3922   actx->private_data = parent_gefx;
3923
3924   return offset;
3925 }
3926
3927
3928 static const per_sequence_t T_collapsing_sequence_of[1] = {
3929   { &hf_h245_collapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_collapsing_item },
3930 };
3931
3932 static int
3933 dissect_h245_T_collapsing(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_of(tvb, offset, actx, tree, hf_index,
3935                                       ett_h245_T_collapsing, T_collapsing_sequence_of);
3936
3937   return offset;
3938 }
3939
3940
3941
3942 static int
3943 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_) {
3944 #line 673 "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, "nonCollapsing");
3949
3950   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3951
3952 #line 678 "h245.cnf"
3953   actx->private_data = parent_gefx;
3954
3955   return offset;
3956 }
3957
3958
3959 static const per_sequence_t T_nonCollapsing_sequence_of[1] = {
3960   { &hf_h245_nonCollapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nonCollapsing_item },
3961 };
3962
3963 static int
3964 dissect_h245_T_nonCollapsing(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_nonCollapsing, T_nonCollapsing_sequence_of);
3967
3968   return offset;
3969 }
3970
3971
3972
3973 static int
3974 dissect_h245_T_nonCollapsingRaw(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3975 #line 682 "h245.cnf"
3976   tvbuff_t *value_tvb;
3977   gef_ctx_t *parent_gefx;
3978   gef_ctx_t *gefx;
3979
3980   parent_gefx = gef_ctx_get(actx->private_data);
3981   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsingRaw");
3982   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3983                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3984
3985   gefx = gef_ctx_get(actx->private_data);
3986   if (gefx) {
3987     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3988     actx->pinfo->private_data = actx;
3989     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3990   }
3991   actx->private_data = parent_gefx;
3992
3993
3994   return offset;
3995 }
3996
3997
3998 static const per_sequence_t GenericCapability_sequence[] = {
3999   { &hf_h245_capabilityIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
4000   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4001   { &hf_h245_collapsing     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_collapsing },
4002   { &hf_h245_nonCollapsing  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsing },
4003   { &hf_h245_nonCollapsingRaw, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsingRaw },
4004   { &hf_h245_transport      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataProtocolCapability },
4005   { NULL, 0, 0, NULL }
4006 };
4007
4008 static int
4009 dissect_h245_GenericCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4010 #line 657 "h245.cnf"
4011   void *priv_data = actx->private_data;
4012   actx->private_data = gef_ctx_alloc(NULL, "GenericCapability");
4013
4014   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4015                                    ett_h245_GenericCapability, GenericCapability_sequence);
4016
4017 #line 660 "h245.cnf"
4018   actx->private_data = priv_data;
4019
4020   return offset;
4021 }
4022
4023
4024 static const value_string h245_Application_vals[] = {
4025   {   0, "nonStandard" },
4026   {   1, "t120" },
4027   {   2, "dsm-cc" },
4028   {   3, "userData" },
4029   {   4, "t84" },
4030   {   5, "t434" },
4031   {   6, "h224" },
4032   {   7, "nlpid" },
4033   {   8, "dsvdControl" },
4034   {   9, "h222DataPartitioning" },
4035   {  10, "t30fax" },
4036   {  11, "t140" },
4037   {  12, "t38fax" },
4038   {  13, "genericDataCapability" },
4039   { 0, NULL }
4040 };
4041
4042 static const per_choice_t Application_choice[] = {
4043   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4044   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4045   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4046   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4047   {   4, &hf_h245_t84            , ASN1_EXTENSION_ROOT    , dissect_h245_T_t84 },
4048   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4049   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4050   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
4051   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4052   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4053   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4054   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4055   {  12, &hf_h245_t38fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_t38fax },
4056   {  13, &hf_h245_genericDataCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4057   { 0, NULL, 0, NULL }
4058 };
4059
4060 static int
4061 dissect_h245_Application(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4062 #line 505 "h245.cnf"
4063   gint32 value;
4064
4065   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4066                                  ett_h245_Application, Application_choice,
4067                                  &value);
4068
4069         codec_type = val_to_str(value, h245_Application_vals, "<unknown>");
4070                 if (h245_pi != NULL) 
4071                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, codec_type);
4072
4073
4074   return offset;
4075 }
4076
4077
4078 static const per_sequence_t DataApplicationCapability_sequence[] = {
4079   { &hf_h245_application    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Application },
4080   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
4081   { NULL, 0, 0, NULL }
4082 };
4083
4084 static int
4085 dissect_h245_DataApplicationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4086   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4087                                    ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
4088
4089   return offset;
4090 }
4091
4092
4093 static const per_sequence_t SEQUENCE_OF_DataApplicationCapability_sequence_of[1] = {
4094   { &hf_h245_centralizedData_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataApplicationCapability },
4095 };
4096
4097 static int
4098 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_) {
4099   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4100                                       ett_h245_SEQUENCE_OF_DataApplicationCapability, SEQUENCE_OF_DataApplicationCapability_sequence_of);
4101
4102   return offset;
4103 }
4104
4105
4106 static const per_sequence_t MediaDistributionCapability_sequence[] = {
4107   { &hf_h245_centralizedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4108   { &hf_h245_distributedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4109   { &hf_h245_centralizedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4110   { &hf_h245_distributedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4111   { &hf_h245_centralizedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4112   { &hf_h245_distributedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4113   { &hf_h245_centralizedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4114   { &hf_h245_distributedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4115   { NULL, 0, 0, NULL }
4116 };
4117
4118 static int
4119 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4120   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4121                                    ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
4122
4123   return offset;
4124 }
4125
4126
4127 static const per_sequence_t SEQUENCE_OF_MediaDistributionCapability_sequence_of[1] = {
4128   { &hf_h245_mediaDistributionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaDistributionCapability },
4129 };
4130
4131 static int
4132 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_) {
4133   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4134                                       ett_h245_SEQUENCE_OF_MediaDistributionCapability, SEQUENCE_OF_MediaDistributionCapability_sequence_of);
4135
4136   return offset;
4137 }
4138
4139
4140 static const per_sequence_t MultipointCapability_sequence[] = {
4141   { &hf_h245_multicastCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4142   { &hf_h245_multiUniCastConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4143   { &hf_h245_mediaDistributionCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MediaDistributionCapability },
4144   { NULL, 0, 0, NULL }
4145 };
4146
4147 static int
4148 dissect_h245_MultipointCapability(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_MultipointCapability, MultipointCapability_sequence);
4151
4152   return offset;
4153 }
4154
4155
4156 static const per_sequence_t T_mcCapability_sequence[] = {
4157   { &hf_h245_centralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4158   { &hf_h245_decentralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4159   { NULL, 0, 0, NULL }
4160 };
4161
4162 static int
4163 dissect_h245_T_mcCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4164   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4165                                    ett_h245_T_mcCapability, T_mcCapability_sequence);
4166
4167   return offset;
4168 }
4169
4170
4171
4172 static int
4173 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_) {
4174   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4175                                                             1U, 32768U, &rfc_number, TRUE);
4176
4177   return offset;
4178 }
4179
4180
4181 static const value_string h245_T_payloadDescriptor_vals[] = {
4182   {   0, "nonStandardIdentifier" },
4183   {   1, "rfc-number" },
4184   {   2, "oid" },
4185   { 0, NULL }
4186 };
4187
4188 static const per_choice_t T_payloadDescriptor_choice[] = {
4189   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4190   {   1, &hf_h245_rfc_number     , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc_number },
4191   {   2, &hf_h245_oid            , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
4192   { 0, NULL, 0, NULL }
4193 };
4194
4195 static int
4196 dissect_h245_T_payloadDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4197   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4198                                  ett_h245_T_payloadDescriptor, T_payloadDescriptor_choice,
4199                                  NULL);
4200
4201   return offset;
4202 }
4203
4204
4205
4206 static int
4207 dissect_h245_T_rtpPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4208 #line 923 "h245.cnf"
4209   unsigned int pt;
4210
4211   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4212                                                             0U, 127U, &pt, FALSE);
4213
4214
4215   if ((rfc_number == 2198) && upcoming_channel) {
4216     upcoming_channel->rfc2198 = pt;
4217   }
4218
4219
4220   return offset;
4221 }
4222
4223
4224 static const per_sequence_t RTPPayloadType_sequence[] = {
4225   { &hf_h245_payloadDescriptor, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_payloadDescriptor },
4226   { &hf_h245_rtpPayloadType_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtpPayloadType },
4227   { NULL, 0, 0, NULL }
4228 };
4229
4230 static int
4231 dissect_h245_RTPPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4232 #line 915 "h245.cnf"
4233   rfc_number = 0;
4234
4235   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4236                                    ett_h245_RTPPayloadType, RTPPayloadType_sequence);
4237
4238   return offset;
4239 }
4240
4241
4242 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of[1] = {
4243   { &hf_h245_rtpPayloadTypes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPPayloadType },
4244 };
4245
4246 static int
4247 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_) {
4248   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4249                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType, SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of,
4250                                                   1, 256, FALSE);
4251
4252   return offset;
4253 }
4254
4255
4256 static const per_sequence_t MediaPacketizationCapability_sequence[] = {
4257   { &hf_h245_h261aVideoPacketization, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4258   { &hf_h245_rtpPayloadTypes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType },
4259   { NULL, 0, 0, NULL }
4260 };
4261
4262 static int
4263 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4264   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4265                                    ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
4266
4267   return offset;
4268 }
4269
4270
4271 static const value_string h245_QOSMode_vals[] = {
4272   {   0, "guaranteedQOS" },
4273   {   1, "controlledLoad" },
4274   { 0, NULL }
4275 };
4276
4277 static const per_choice_t QOSMode_choice[] = {
4278   {   0, &hf_h245_guaranteedQOS  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4279   {   1, &hf_h245_controlledLoad , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4280   { 0, NULL, 0, NULL }
4281 };
4282
4283 static int
4284 dissect_h245_QOSMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4285   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4286                                  ett_h245_QOSMode, QOSMode_choice,
4287                                  NULL);
4288
4289   return offset;
4290 }
4291
4292
4293
4294 static int
4295 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_) {
4296   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4297                                                             1U, 4294967295U, NULL, FALSE);
4298
4299   return offset;
4300 }
4301
4302
4303 static const per_sequence_t RSVPParameters_sequence[] = {
4304   { &hf_h245_qosMode        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_QOSMode },
4305   { &hf_h245_tokenRate      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4306   { &hf_h245_bucketSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4307   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4308   { &hf_h245_minPoliced     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4309   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4310   { NULL, 0, 0, NULL }
4311 };
4312
4313 static int
4314 dissect_h245_RSVPParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4315   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4316                                    ett_h245_RSVPParameters, RSVPParameters_sequence);
4317
4318   return offset;
4319 }
4320
4321
4322 static const per_sequence_t ATMParameters_sequence[] = {
4323   { &hf_h245_maxNTUSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
4324   { &hf_h245_atmUBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4325   { &hf_h245_atmrtVBR       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4326   { &hf_h245_atmnrtVBR      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4327   { &hf_h245_atmABR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4328   { &hf_h245_atmCBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4329   { NULL, 0, 0, NULL }
4330 };
4331
4332 static int
4333 dissect_h245_ATMParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4334   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4335                                    ett_h245_ATMParameters, ATMParameters_sequence);
4336
4337   return offset;
4338 }
4339
4340
4341 static const per_sequence_t GenericTransportParameters_sequence[] = {
4342   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4343   { &hf_h245_averageRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4344   { &hf_h245_burst          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4345   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4346   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4347   { NULL, 0, 0, NULL }
4348 };
4349
4350 static int
4351 dissect_h245_GenericTransportParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4352   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4353                                    ett_h245_GenericTransportParameters, GenericTransportParameters_sequence);
4354
4355   return offset;
4356 }
4357
4358
4359 static const per_sequence_t ServicePriorityValue_sequence[] = {
4360   { &hf_h245_nonStandardParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4361   { &hf_h245_value          , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4362   { NULL, 0, 0, NULL }
4363 };
4364
4365 static int
4366 dissect_h245_ServicePriorityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4367   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4368                                    ett_h245_ServicePriorityValue, ServicePriorityValue_sequence);
4369
4370   return offset;
4371 }
4372
4373
4374
4375 static int
4376 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_) {
4377   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4378                                                             0U, 4095U, NULL, FALSE);
4379
4380   return offset;
4381 }
4382
4383
4384 static const per_sequence_t ServicePriority_sequence[] = {
4385   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4386   { &hf_h245_servicePrioritySignalled, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4387   { &hf_h245_servicePriorityValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ServicePriorityValue },
4388   { &hf_h245_serviceClass   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4095 },
4389   { &hf_h245_serviceSubclass, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
4390   { NULL, 0, 0, NULL }
4391 };
4392
4393 static int
4394 dissect_h245_ServicePriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4395   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4396                                    ett_h245_ServicePriority, ServicePriority_sequence);
4397
4398   return offset;
4399 }
4400
4401
4402 static const per_sequence_t AuthorizationParameters_sequence[] = {
4403   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4404   { NULL, 0, 0, NULL }
4405 };
4406
4407 static int
4408 dissect_h245_AuthorizationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4409   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4410                                    ett_h245_AuthorizationParameters, AuthorizationParameters_sequence);
4411
4412   return offset;
4413 }
4414
4415
4416 static const value_string h245_QOSType_vals[] = {
4417   {   0, "desired" },
4418   {   1, "required" },
4419   { 0, NULL }
4420 };
4421
4422 static const per_choice_t QOSType_choice[] = {
4423   {   0, &hf_h245_desired        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4424   {   1, &hf_h245_required       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4425   { 0, NULL, 0, NULL }
4426 };
4427
4428 static int
4429 dissect_h245_QOSType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4430   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4431                                  ett_h245_QOSType, QOSType_choice,
4432                                  NULL);
4433
4434   return offset;
4435 }
4436
4437
4438 static const value_string h245_QOSClass_vals[] = {
4439   {   0, "class0" },
4440   {   1, "class1" },
4441   {   2, "class2" },
4442   {   3, "class3" },
4443   {   4, "class4" },
4444   {   5, "class5" },
4445   { 0, NULL }
4446 };
4447
4448 static const per_choice_t QOSClass_choice[] = {
4449   {   0, &hf_h245_class0         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4450   {   1, &hf_h245_class1         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4451   {   2, &hf_h245_class2         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4452   {   3, &hf_h245_class3         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4453   {   4, &hf_h245_class4         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4454   {   5, &hf_h245_class5         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4455   { 0, NULL, 0, NULL }
4456 };
4457
4458 static int
4459 dissect_h245_QOSClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4460   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4461                                  ett_h245_QOSClass, QOSClass_choice,
4462                                  NULL);
4463
4464   return offset;
4465 }
4466
4467
4468 static const per_sequence_t QOSDescriptor_sequence[] = {
4469   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4470   { &hf_h245_qosType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSType },
4471   { &hf_h245_qosClass       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSClass },
4472   { NULL, 0, 0, NULL }
4473 };
4474
4475 static int
4476 dissect_h245_QOSDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4477   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4478                                    ett_h245_QOSDescriptor, QOSDescriptor_sequence);
4479
4480   return offset;
4481 }
4482
4483
4484
4485 static int
4486 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_) {
4487   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4488                                                             0U, 63U, NULL, FALSE);
4489
4490   return offset;
4491 }
4492
4493
4494 static const per_sequence_t QOSCapability_sequence[] = {
4495   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4496   { &hf_h245_rsvpParameters , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RSVPParameters },
4497   { &hf_h245_atmParameters  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ATMParameters },
4498   { &hf_h245_localQoS       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
4499   { &hf_h245_genericTransportParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericTransportParameters },
4500   { &hf_h245_servicePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_ServicePriority },
4501   { &hf_h245_authorizationParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_AuthorizationParameters },
4502   { &hf_h245_qosDescriptor  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSDescriptor },
4503   { &hf_h245_dscpValue      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_63 },
4504   { NULL, 0, 0, NULL }
4505 };
4506
4507 int
4508 dissect_h245_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4509   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4510                                    ett_h245_QOSCapability, QOSCapability_sequence);
4511
4512   return offset;
4513 }
4514
4515
4516 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = {
4517   { &hf_h245_qOSCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability },
4518 };
4519
4520 static int
4521 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_) {
4522   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4523                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of,
4524                                                   1, 256, FALSE);
4525
4526   return offset;
4527 }
4528
4529
4530 static const per_sequence_t T_atm_AAL5_compressed_sequence[] = {
4531   { &hf_h245_variable_delta , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4532   { NULL, 0, 0, NULL }
4533 };
4534
4535 static int
4536 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_) {
4537   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4538                                    ett_h245_T_atm_AAL5_compressed, T_atm_AAL5_compressed_sequence);
4539
4540   return offset;
4541 }
4542
4543
4544 static const value_string h245_MediaTransportType_vals[] = {
4545   {   0, "ip-UDP" },
4546   {   1, "ip-TCP" },
4547   {   2, "atm-AAL5-UNIDIR" },
4548   {   3, "atm-AAL5-BIDIR" },
4549   {   4, "atm-AAL5-compressed" },
4550   { 0, NULL }
4551 };
4552
4553 static const per_choice_t MediaTransportType_choice[] = {
4554   {   0, &hf_h245_ip_UDP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4555   {   1, &hf_h245_ip_TCP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4556   {   2, &hf_h245_atm_AAL5_UNIDIR, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4557   {   3, &hf_h245_atm_AAL5_BIDIR , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4558   {   4, &hf_h245_atm_AAL5_compressed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_atm_AAL5_compressed },
4559   { 0, NULL, 0, NULL }
4560 };
4561
4562 static int
4563 dissect_h245_MediaTransportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4564   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4565                                  ett_h245_MediaTransportType, MediaTransportType_choice,
4566                                  NULL);
4567
4568   return offset;
4569 }
4570
4571
4572 static const per_sequence_t MediaChannelCapability_sequence[] = {
4573   { &hf_h245_mediaTransport , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MediaTransportType },
4574   { NULL, 0, 0, NULL }
4575 };
4576
4577 static int
4578 dissect_h245_MediaChannelCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4579   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4580                                    ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4581
4582   return offset;
4583 }
4584
4585
4586 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of[1] = {
4587   { &hf_h245_mediaChannelCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaChannelCapability },
4588 };
4589
4590 static int
4591 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_) {
4592   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4593                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability, SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of,
4594                                                   1, 256, FALSE);
4595
4596   return offset;
4597 }
4598
4599
4600 static const per_sequence_t TransportCapability_sequence[] = {
4601   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4602   { &hf_h245_qOSCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability },
4603   { &hf_h245_mediaChannelCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability },
4604   { NULL, 0, 0, NULL }
4605 };
4606
4607 static int
4608 dissect_h245_TransportCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4609   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4610                                    ett_h245_TransportCapability, TransportCapability_sequence);
4611
4612   return offset;
4613 }
4614
4615
4616
4617 static int
4618 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_) {
4619   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4620                                                             1U, 16U, NULL, FALSE);
4621
4622   return offset;
4623 }
4624
4625
4626
4627 static int
4628 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_) {
4629   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4630                                                             0U, 15U, NULL, FALSE);
4631
4632   return offset;
4633 }
4634
4635
4636 static const per_sequence_t T_frameSequence_sequence_of[1] = {
4637   { &hf_h245_frameSequence_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4638 };
4639
4640 static int
4641 dissect_h245_T_frameSequence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4642   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4643                                                   ett_h245_T_frameSequence, T_frameSequence_sequence_of,
4644                                                   1, 256, FALSE);
4645
4646   return offset;
4647 }
4648
4649
4650 static const per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
4651   { &hf_h245_threadNumber   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4652   { &hf_h245_frameSequence  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameSequence },
4653   { NULL, 0, 0, NULL }
4654 };
4655
4656 static int
4657 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4658   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4659                                    ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
4660
4661   return offset;
4662 }
4663
4664
4665 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of[1] = {
4666   { &hf_h245_custom_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPH263VideoRedundancyFrameMapping },
4667 };
4668
4669 static int
4670 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_) {
4671   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4672                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping, SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of,
4673                                                   1, 256, FALSE);
4674
4675   return offset;
4676 }
4677
4678
4679 static const value_string h245_T_frameToThreadMapping_vals[] = {
4680   {   0, "roundrobin" },
4681   {   1, "custom" },
4682   { 0, NULL }
4683 };
4684
4685 static const per_choice_t T_frameToThreadMapping_choice[] = {
4686   {   0, &hf_h245_roundrobin     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4687   {   1, &hf_h245_custom         , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping },
4688   { 0, NULL, 0, NULL }
4689 };
4690
4691 static int
4692 dissect_h245_T_frameToThreadMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4693   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4694                                  ett_h245_T_frameToThreadMapping, T_frameToThreadMapping_choice,
4695                                  NULL);
4696
4697   return offset;
4698 }
4699
4700
4701 static const per_sequence_t T_containedThreads_sequence_of[1] = {
4702   { &hf_h245_containedThreads_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4703 };
4704
4705 static int
4706 dissect_h245_T_containedThreads(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4707   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4708                                                   ett_h245_T_containedThreads, T_containedThreads_sequence_of,
4709                                                   1, 256, FALSE);
4710
4711   return offset;
4712 }
4713
4714
4715 static const per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
4716   { &hf_h245_numberOfThreads, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_16 },
4717   { &hf_h245_framesBetweenSyncPoints, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
4718   { &hf_h245_frameToThreadMapping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameToThreadMapping },
4719   { &hf_h245_containedThreads, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_containedThreads },
4720   { NULL, 0, 0, NULL }
4721 };
4722
4723 static int
4724 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4725   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4726                                    ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
4727
4728   return offset;
4729 }
4730
4731
4732 static const value_string h245_RedundancyEncodingMethod_vals[] = {
4733   {   0, "nonStandard" },
4734   {   1, "rtpAudioRedundancyEncoding" },
4735   {   2, "rtpH263VideoRedundancyEncoding" },
4736   { 0, NULL }
4737 };
4738
4739 static const per_choice_t RedundancyEncodingMethod_choice[] = {
4740   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4741   {   1, &hf_h245_rtpAudioRedundancyEncoding, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4742   {   2, &hf_h245_rtpH263VideoRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPH263VideoRedundancyEncoding },
4743   { 0, NULL, 0, NULL }
4744 };
4745
4746 static int
4747 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4748   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4749                                  ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice,
4750                                  NULL);
4751
4752   return offset;
4753 }
4754
4755
4756
4757 static int
4758 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4759   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4760                                                             1U, 65535U, NULL, FALSE);
4761
4762   return offset;
4763 }
4764
4765
4766 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of[1] = {
4767   { &hf_h245_secondaryEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4768 };
4769
4770 static int
4771 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_) {
4772   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4773                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber, SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of,
4774                                                   1, 256, FALSE);
4775
4776   return offset;
4777 }
4778
4779
4780 static const per_sequence_t RedundancyEncodingCapability_sequence[] = {
4781   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
4782   { &hf_h245_primaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4783   { &hf_h245_secondaryEncodingCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber },
4784   { NULL, 0, 0, NULL }
4785 };
4786
4787 static int
4788 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4789   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4790                                    ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
4791
4792   return offset;
4793 }
4794
4795
4796 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of[1] = {
4797   { &hf_h245_redundancyEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingCapability },
4798 };
4799
4800 static int
4801 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_) {
4802   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4803                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability, SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of,
4804                                                   1, 256, FALSE);
4805
4806   return offset;
4807 }
4808
4809
4810 static const per_sequence_t H2250Capability_sequence[] = {
4811   { &hf_h245_maximumAudioDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
4812   { &hf_h245_receiveMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4813   { &hf_h245_transmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4814   { &hf_h245_receiveAndTransmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4815   { &hf_h245_mcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mcCapability },
4816   { &hf_h245_rtcpVideoControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4817   { &hf_h245_mediaPacketizationCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MediaPacketizationCapability },
4818   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
4819   { &hf_h245_redundancyEncodingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability },
4820   { &hf_h245_logicalChannelSwitchingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4821   { &hf_h245_t120DynamicPortCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4822   { NULL, 0, 0, NULL }
4823 };
4824
4825 static int
4826 dissect_h245_H2250Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4827   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4828                                    ett_h245_H2250Capability, H2250Capability_sequence);
4829
4830   return offset;
4831 }
4832
4833
4834 static const value_string h245_MultiplexCapability_vals[] = {
4835   {   0, "nonStandard" },
4836   {   1, "h222Capability" },
4837   {   2, "h223Capability" },
4838   {   3, "v76Capability" },
4839   {   4, "h2250Capability" },
4840   {   5, "genericMultiplexCapability" },
4841   { 0, NULL }
4842 };
4843
4844 static const per_choice_t MultiplexCapability_choice[] = {
4845   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4846   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
4847   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
4848   {   3, &hf_h245_v76Capability  , ASN1_EXTENSION_ROOT    , dissect_h245_V76Capability },
4849   {   4, &hf_h245_h2250Capability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250Capability },
4850   {   5, &hf_h245_genericMultiplexCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4851   { 0, NULL, 0, NULL }
4852 };
4853
4854 static int
4855 dissect_h245_MultiplexCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4856   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4857                                  ett_h245_MultiplexCapability, MultiplexCapability_choice,
4858                                  NULL);
4859
4860   return offset;
4861 }
4862
4863
4864
4865 static int
4866 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_) {
4867   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4868                                                             1U, 4U, NULL, FALSE);
4869
4870   return offset;
4871 }
4872
4873
4874 static const per_sequence_t H261VideoCapability_sequence[] = {
4875   { &hf_h245_qcifMPI_1_4    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4876   { &hf_h245_cifMPI_1_4     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4877   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4878   { &hf_h245_maxBitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
4879   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4880   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4881   { NULL, 0, 0, NULL }
4882 };
4883
4884 static int
4885 dissect_h245_H261VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4886   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4887                                    ett_h245_H261VideoCapability, H261VideoCapability_sequence);
4888
4889   return offset;
4890 }
4891
4892
4893
4894 static int
4895 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_) {
4896   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4897                                                             0U, 1073741823U, NULL, FALSE);
4898
4899   return offset;
4900 }
4901
4902
4903
4904 static int
4905 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_) {
4906   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4907                                                             0U, 262143U, NULL, FALSE);
4908
4909   return offset;
4910 }
4911
4912
4913
4914 static int
4915 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_) {
4916   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4917                                                             0U, 16383U, NULL, FALSE);
4918
4919   return offset;
4920 }
4921
4922
4923 static const per_sequence_t H262VideoCapability_sequence[] = {
4924   { &hf_h245_profileAndLevel_SPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4925   { &hf_h245_profileAndLevel_MPatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4926   { &hf_h245_profileAndLevel_MPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4927   { &hf_h245_profileAndLevel_MPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4928   { &hf_h245_profileAndLevel_MPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4929   { &hf_h245_profileAndLevel_SNRatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4930   { &hf_h245_profileAndLevel_SNRatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4931   { &hf_h245_profileAndLevel_SpatialatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4932   { &hf_h245_profileAndLevel_HPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4933   { &hf_h245_profileAndLevel_HPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4934   { &hf_h245_profileAndLevel_HPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4935   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
4936   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
4937   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4938   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4939   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
4940   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4941   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4942   { NULL, 0, 0, NULL }
4943 };
4944
4945 static int
4946 dissect_h245_H262VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4947   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4948                                    ett_h245_H262VideoCapability, H262VideoCapability_sequence);
4949
4950   return offset;
4951 }
4952
4953
4954
4955 static int
4956 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_) {
4957   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4958                                                             1U, 32U, NULL, FALSE);
4959
4960   return offset;
4961 }
4962
4963
4964
4965 static int
4966 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_) {
4967   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4968                                                             1U, 192400U, NULL, FALSE);
4969
4970   return offset;
4971 }
4972
4973
4974
4975 static int
4976 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_) {
4977   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4978                                                             0U, 524287U, NULL, FALSE);
4979
4980   return offset;
4981 }
4982
4983
4984
4985 static int
4986 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_) {
4987   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4988                                                             1U, 3600U, NULL, FALSE);
4989
4990   return offset;
4991 }
4992
4993
4994
4995 static int
4996 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_) {
4997   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4998                                                             -262144, 262143U, NULL, FALSE);
4999
5000   return offset;
5001 }
5002
5003
5004 static const per_sequence_t TransparencyParameters_sequence[] = {
5005   { &hf_h245_presentationOrder, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5006   { &hf_h245_offset_x       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
5007   { &hf_h245_offset_y       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
5008   { &hf_h245_scale_x        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5009   { &hf_h245_scale_y        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5010   { NULL, 0, 0, NULL }
5011 };
5012
5013 static int
5014 dissect_h245_TransparencyParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5015   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5016                                    ett_h245_TransparencyParameters, TransparencyParameters_sequence);
5017
5018   return offset;
5019 }
5020
5021
5022 static const per_sequence_t T_additionalPictureMemory_sequence[] = {
5023   { &hf_h245_sqcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5024   { &hf_h245_qcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5025   { &hf_h245_cifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5026   { &hf_h245_cif4AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5027   { &hf_h245_cif16AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5028   { &hf_h245_bigCpfAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5029   { NULL, 0, 0, NULL }
5030 };
5031
5032 static int
5033 dissect_h245_T_additionalPictureMemory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5034   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5035                                    ett_h245_T_additionalPictureMemory, T_additionalPictureMemory_sequence);
5036
5037   return offset;
5038 }
5039
5040
5041 static const value_string h245_T_videoBackChannelSend_vals[] = {
5042   {   0, "none" },
5043   {   1, "ackMessageOnly" },
5044   {   2, "nackMessageOnly" },
5045   {   3, "ackOrNackMessageOnly" },
5046   {   4, "ackAndNackMessage" },
5047   { 0, NULL }
5048 };
5049
5050 static const per_choice_t T_videoBackChannelSend_choice[] = {
5051   {   0, &hf_h245_none           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5052   {   1, &hf_h245_ackMessageOnly , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5053   {   2, &hf_h245_nackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5054   {   3, &hf_h245_ackOrNackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5055   {   4, &hf_h245_ackAndNackMessage, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5056   { 0, NULL, 0, NULL }
5057 };
5058
5059 static int
5060 dissect_h245_T_videoBackChannelSend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5061   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5062                                  ett_h245_T_videoBackChannelSend, T_videoBackChannelSend_choice,
5063                                  NULL);
5064
5065   return offset;
5066 }
5067
5068
5069
5070 static int
5071 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_) {
5072   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5073                                                             1U, 128U, NULL, FALSE);
5074
5075   return offset;
5076 }
5077
5078
5079
5080 static int
5081 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_) {
5082   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5083                                                             1U, 72U, NULL, FALSE);
5084
5085   return offset;
5086 }
5087
5088
5089 static const per_sequence_t T_subPictureRemovalParameters_sequence[] = {
5090   { &hf_h245_mpuHorizMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_128 },
5091   { &hf_h245_mpuVertMBs     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_72 },
5092   { &hf_h245_mpuTotalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
5093   { NULL, 0, 0, NULL }
5094 };
5095
5096 static int
5097 dissect_h245_T_subPictureRemovalParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5098   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5099                                    ett_h245_T_subPictureRemovalParameters, T_subPictureRemovalParameters_sequence);
5100
5101   return offset;
5102 }
5103
5104
5105 static const per_sequence_t T_enhancedReferencePicSelect_sequence[] = {
5106   { &hf_h245_subPictureRemovalParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subPictureRemovalParameters },
5107   { NULL, 0, 0, NULL }
5108 };
5109
5110 static int
5111 dissect_h245_T_enhancedReferencePicSelect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5112   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5113                                    ett_h245_T_enhancedReferencePicSelect, T_enhancedReferencePicSelect_sequence);
5114
5115   return offset;
5116 }
5117
5118
5119 static const per_sequence_t RefPictureSelection_sequence[] = {
5120   { &hf_h245_additionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_additionalPictureMemory },
5121   { &hf_h245_videoMux       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5122   { &hf_h245_videoBackChannelSend, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_videoBackChannelSend },
5123   { &hf_h245_enhancedReferencePicSelect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_enhancedReferencePicSelect },
5124   { NULL, 0, 0, NULL }
5125 };
5126
5127 static int
5128 dissect_h245_RefPictureSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5129   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5130                                    ett_h245_RefPictureSelection, RefPictureSelection_sequence);
5131
5132   return offset;
5133 }
5134
5135
5136
5137 static int
5138 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_) {
5139   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5140                                                             1000U, 1001U, NULL, FALSE);
5141
5142   return offset;
5143 }
5144
5145
5146
5147 static int
5148 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_) {
5149   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5150                                                             1U, 2048U, NULL, FALSE);
5151
5152   return offset;
5153 }
5154
5155
5156 static const per_sequence_t CustomPictureClockFrequency_sequence[] = {
5157   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5158   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5159   { &hf_h245_sqcifMPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5160   { &hf_h245_qcifMPI_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5161   { &hf_h245_cifMPI2_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5162   { &hf_h245_cif4MPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5163   { &hf_h245_cif16MPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5164   { NULL, 0, 0, NULL }
5165 };
5166
5167 static int
5168 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5169   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5170                                    ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
5171
5172   return offset;
5173 }
5174
5175
5176 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of[1] = {
5177   { &hf_h245_customPictureClockFrequency_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureClockFrequency },
5178 };
5179
5180 static int
5181 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_) {
5182   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5183                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency, SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of,
5184                                              1, 16, FALSE);
5185
5186   return offset;
5187 }
5188
5189
5190
5191 static int
5192 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_) {
5193   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5194                                                             1U, 31U, NULL, FALSE);
5195
5196   return offset;
5197 }
5198
5199
5200 static const per_sequence_t T_customPCF_item_sequence[] = {
5201   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5202   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5203   { &hf_h245_customMPI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5204   { NULL, 0, 0, NULL }
5205 };
5206
5207 static int
5208 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_) {
5209   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5210                                    ett_h245_T_customPCF_item, T_customPCF_item_sequence);
5211
5212   return offset;
5213 }
5214
5215
5216 static const per_sequence_t T_customPCF_set_of[1] = {
5217   { &hf_h245_customPCF_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_customPCF_item },
5218 };
5219
5220 static int
5221 dissect_h245_T_customPCF(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_set_of(tvb, offset, actx, tree, hf_index,
5223                                              ett_h245_T_customPCF, T_customPCF_set_of,
5224                                              1, 16, FALSE);
5225
5226   return offset;
5227 }
5228
5229
5230 static const per_sequence_t T_mPI_sequence[] = {
5231   { &hf_h245_standardMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_31 },
5232   { &hf_h245_customPCF      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_customPCF },
5233   { NULL, 0, 0, NULL }
5234 };
5235
5236 static int
5237 dissect_h245_T_mPI(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_mPI, T_mPI_sequence);
5240
5241   return offset;
5242 }
5243
5244
5245
5246 static int
5247 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_) {
5248   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5249                                                             1U, 14U, NULL, FALSE);
5250
5251   return offset;
5252 }
5253
5254
5255 static const per_sequence_t T_pixelAspectCode_set_of[1] = {
5256   { &hf_h245_pixelAspectCode_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_14 },
5257 };
5258
5259 static int
5260 dissect_h245_T_pixelAspectCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5261   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5262                                              ett_h245_T_pixelAspectCode, T_pixelAspectCode_set_of,
5263                                              1, 14, FALSE);
5264
5265   return offset;
5266 }
5267
5268
5269 static const per_sequence_t T_extendedPAR_item_sequence[] = {
5270   { &hf_h245_width          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5271   { &hf_h245_height         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5272   { NULL, 0, 0, NULL }
5273 };
5274
5275 static int
5276 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_) {
5277   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5278                                    ett_h245_T_extendedPAR_item, T_extendedPAR_item_sequence);
5279
5280   return offset;
5281 }
5282
5283
5284 static const per_sequence_t T_extendedPAR_set_of[1] = {
5285   { &hf_h245_extendedPAR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_extendedPAR_item },
5286 };
5287
5288 static int
5289 dissect_h245_T_extendedPAR(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_extendedPAR, T_extendedPAR_set_of,
5292                                              1, 256, FALSE);
5293
5294   return offset;
5295 }
5296
5297
5298 static const value_string h245_T_pixelAspectInformation_vals[] = {
5299   {   0, "anyPixelAspectRatio" },
5300   {   1, "pixelAspectCode" },
5301   {   2, "extendedPAR" },
5302   { 0, NULL }
5303 };
5304
5305 static const per_choice_t T_pixelAspectInformation_choice[] = {
5306   {   0, &hf_h245_anyPixelAspectRatio, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
5307   {   1, &hf_h245_pixelAspectCode, ASN1_EXTENSION_ROOT    , dissect_h245_T_pixelAspectCode },
5308   {   2, &hf_h245_extendedPAR    , ASN1_EXTENSION_ROOT    , dissect_h245_T_extendedPAR },
5309   { 0, NULL, 0, NULL }
5310 };
5311
5312 static int
5313 dissect_h245_T_pixelAspectInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5314   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5315                                  ett_h245_T_pixelAspectInformation, T_pixelAspectInformation_choice,
5316                                  NULL);
5317
5318   return offset;
5319 }
5320
5321
5322 static const per_sequence_t CustomPictureFormat_sequence[] = {
5323   { &hf_h245_maxCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5324   { &hf_h245_maxCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5325   { &hf_h245_minCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5326   { &hf_h245_minCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5327   { &hf_h245_mPI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mPI },
5328   { &hf_h245_pixelAspectInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pixelAspectInformation },
5329   { NULL, 0, 0, NULL }
5330 };
5331
5332 static int
5333 dissect_h245_CustomPictureFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5334   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5335                                    ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
5336
5337   return offset;
5338 }
5339
5340
5341 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureFormat_set_of[1] = {
5342   { &hf_h245_customPictureFormat_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureFormat },
5343 };
5344
5345 static int
5346 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_) {
5347   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5348                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat, SET_SIZE_1_16_OF_CustomPictureFormat_set_of,
5349                                              1, 16, FALSE);
5350
5351   return offset;
5352 }
5353
5354
5355 static const per_sequence_t H263Version3Options_sequence[] = {
5356   { &hf_h245_dataPartitionedSlices, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5357   { &hf_h245_fixedPointIDCT0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5358   { &hf_h245_interlacedFields, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5359   { &hf_h245_currentPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5360   { &hf_h245_previousPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5361   { &hf_h245_nextPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5362   { &hf_h245_pictureNumberBoolean, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5363   { &hf_h245_spareReferencePictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5364   { NULL, 0, 0, NULL }
5365 };
5366
5367 static int
5368 dissect_h245_H263Version3Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5369   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5370                                    ett_h245_H263Version3Options, H263Version3Options_sequence);
5371
5372   return offset;
5373 }
5374
5375
5376 static const per_sequence_t H263ModeComboFlags_sequence[] = {
5377   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5378   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5379   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5380   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5381   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5382   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5383   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5384   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5385   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5386   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5387   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5388   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5389   { &hf_h245_referencePicSelect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5390   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5391   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5392   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5393   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5394   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5395   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5396   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5397   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5398   { &hf_h245_enhancedReferencePicSelectBool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5399   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5400   { NULL, 0, 0, NULL }
5401 };
5402
5403 static int
5404 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5405   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5406                                    ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5407
5408   return offset;
5409 }
5410
5411
5412 static const per_sequence_t SET_SIZE_1_16_OF_H263ModeComboFlags_set_of[1] = {
5413   { &hf_h245_h263VideoCoupledModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5414 };
5415
5416 static int
5417 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_) {
5418   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5419                                              ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags, SET_SIZE_1_16_OF_H263ModeComboFlags_set_of,
5420                                              1, 16, FALSE);
5421
5422   return offset;
5423 }
5424
5425
5426 static const per_sequence_t H263VideoModeCombos_sequence[] = {
5427   { &hf_h245_h263VideoUncoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5428   { &hf_h245_h263VideoCoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags },
5429   { NULL, 0, 0, NULL }
5430 };
5431
5432 static int
5433 dissect_h245_H263VideoModeCombos(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_H263VideoModeCombos, H263VideoModeCombos_sequence);
5436
5437   return offset;
5438 }
5439
5440
5441 static const per_sequence_t SET_SIZE_1_16_OF_H263VideoModeCombos_set_of[1] = {
5442   { &hf_h245_modeCombos_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263VideoModeCombos },
5443 };
5444
5445 static int
5446 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_) {
5447   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5448                                              ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos, SET_SIZE_1_16_OF_H263VideoModeCombos_set_of,
5449                                              1, 16, FALSE);
5450
5451   return offset;
5452 }
5453
5454
5455 static const per_sequence_t H263Options_sequence[] = {
5456   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5457   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5458   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5459   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5460   { &hf_h245_fullPictureFreeze, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5461   { &hf_h245_partialPictureFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5462   { &hf_h245_resizingPartPicFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5463   { &hf_h245_fullPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5464   { &hf_h245_partialPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5465   { &hf_h245_videoSegmentTagging, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5466   { &hf_h245_progressiveRefinement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5467   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5468   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5469   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5470   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5471   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5472   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5473   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5474   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5475   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5476   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5477   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5478   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5479   { &hf_h245_transparencyParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransparencyParameters },
5480   { &hf_h245_separateVideoBackChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5481   { &hf_h245_refPictureSelection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RefPictureSelection },
5482   { &hf_h245_customPictureClockFrequency, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency },
5483   { &hf_h245_customPictureFormat, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat },
5484   { &hf_h245_modeCombos     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos },
5485   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5486   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5487   { NULL, 0, 0, NULL }
5488 };
5489
5490 static int
5491 dissect_h245_H263Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5492   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5493                                    ett_h245_H263Options, H263Options_sequence);
5494
5495   return offset;
5496 }
5497
5498
5499 static const per_sequence_t EnhancementOptions_sequence[] = {
5500   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5501   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5502   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5503   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5504   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5505   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5506   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5507   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5508   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5509   { &hf_h245_slowSqcifMPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5510   { &hf_h245_slowQcifMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5511   { &hf_h245_slowCifMPI     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5512   { &hf_h245_slowCif4MPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5513   { &hf_h245_slowCif16MPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5514   { &hf_h245_errorCompensation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5515   { &hf_h245_h263Options    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H263Options },
5516   { NULL, 0, 0, NULL }
5517 };
5518
5519 static int
5520 dissect_h245_EnhancementOptions(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_EnhancementOptions, EnhancementOptions_sequence);
5523
5524   return offset;
5525 }
5526
5527
5528 static const per_sequence_t SET_SIZE_1_14_OF_EnhancementOptions_set_of[1] = {
5529   { &hf_h245_snrEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5530 };
5531
5532 static int
5533 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_) {
5534   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5535                                              ett_h245_SET_SIZE_1_14_OF_EnhancementOptions, SET_SIZE_1_14_OF_EnhancementOptions_set_of,
5536                                              1, 14, FALSE);
5537
5538   return offset;
5539 }
5540
5541
5542
5543 static int
5544 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_) {
5545   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5546                                                             1U, 64U, NULL, FALSE);
5547
5548   return offset;
5549 }
5550
5551
5552 static const per_sequence_t BEnhancementParameters_sequence[] = {
5553   { &hf_h245_enhancementOptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5554   { &hf_h245_numberOfBPictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_64 },
5555   { NULL, 0, 0, NULL }
5556 };
5557
5558 static int
5559 dissect_h245_BEnhancementParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5560   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5561                                    ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
5562
5563   return offset;
5564 }
5565
5566
5567 static const per_sequence_t SET_SIZE_1_14_OF_BEnhancementParameters_set_of[1] = {
5568   { &hf_h245_bPictureEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BEnhancementParameters },
5569 };
5570
5571 static int
5572 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_) {
5573   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5574                                              ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters, SET_SIZE_1_14_OF_BEnhancementParameters_set_of,
5575                                              1, 14, FALSE);
5576
5577   return offset;
5578 }
5579
5580
5581 static const per_sequence_t EnhancementLayerInfo_sequence[] = {
5582   { &hf_h245_baseBitRateConstrained, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5583   { &hf_h245_snrEnhancement , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5584   { &hf_h245_spatialEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5585   { &hf_h245_bPictureEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters },
5586   { NULL, 0, 0, NULL }
5587 };
5588
5589 static int
5590 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5591   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5592                                    ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
5593
5594   return offset;
5595 }
5596
5597
5598 static const per_sequence_t H263VideoCapability_sequence[] = {
5599   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5600   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5601   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5602   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5603   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5604   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5605   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5606   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5607   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5608   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5609   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5610   { &hf_h245_hrd_B          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_524287 },
5611   { &hf_h245_bppMaxKb       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
5612   { &hf_h245_slowSqcifMPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5613   { &hf_h245_slowQcifMPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5614   { &hf_h245_slowCifMPI     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5615   { &hf_h245_slowCif4MPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5616   { &hf_h245_slowCif16MPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5617   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5618   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
5619   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
5620   { NULL, 0, 0, NULL }
5621 };
5622
5623 static int
5624 dissect_h245_H263VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5625   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5626                                    ett_h245_H263VideoCapability, H263VideoCapability_sequence);
5627
5628 #line 362 "h245.cnf"
5629   h245_lc_dissector = h263_handle;
5630
5631   return offset;
5632 }
5633
5634
5635 static const per_sequence_t IS11172VideoCapability_sequence[] = {
5636   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5637   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
5638   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
5639   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5640   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5641   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
5642   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
5643   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5644   { NULL, 0, 0, NULL }
5645 };
5646
5647 static int
5648 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5649   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5650                                    ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
5651
5652   return offset;
5653 }
5654
5655
5656 static const per_sequence_t SEQUENCE_OF_VideoCapability_sequence_of[1] = {
5657   { &hf_h245_videoCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VideoCapability },
5658 };
5659
5660 static int
5661 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_) {
5662   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5663                                       ett_h245_SEQUENCE_OF_VideoCapability, SEQUENCE_OF_VideoCapability_sequence_of);
5664
5665   return offset;
5666 }
5667
5668
5669 static const per_sequence_t SEQUENCE_OF_GenericCapability_sequence_of[1] = {
5670   { &hf_h245_videoCapabilityExtension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericCapability },
5671 };
5672
5673 static int
5674 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_) {
5675   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5676                                       ett_h245_SEQUENCE_OF_GenericCapability, SEQUENCE_OF_GenericCapability_sequence_of);
5677
5678   return offset;
5679 }
5680
5681
5682 static const per_sequence_t ExtendedVideoCapability_sequence[] = {
5683   { &hf_h245_videoCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_VideoCapability },
5684   { &hf_h245_videoCapabilityExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericCapability },
5685   { NULL, 0, 0, NULL }
5686 };
5687
5688 static int
5689 dissect_h245_ExtendedVideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5690   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5691                                    ett_h245_ExtendedVideoCapability, ExtendedVideoCapability_sequence);
5692
5693   return offset;
5694 }
5695
5696
5697 static const value_string h245_VideoCapability_vals[] = {
5698   {   0, "nonStandard" },
5699   {   1, "h261VideoCapability" },
5700   {   2, "h262VideoCapability" },
5701   {   3, "h263VideoCapability" },
5702   {   4, "is11172VideoCapability" },
5703   {   5, "genericVideoCapability" },
5704   {   6, "extendedVideoCapability" },
5705   { 0, NULL }
5706 };
5707
5708 static const per_choice_t VideoCapability_choice[] = {
5709   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
5710   {   1, &hf_h245_h261VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoCapability },
5711   {   2, &hf_h245_h262VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoCapability },
5712   {   3, &hf_h245_h263VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoCapability },
5713   {   4, &hf_h245_is11172VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoCapability },
5714   {   5, &hf_h245_genericVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
5715   {   6, &hf_h245_extendedVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ExtendedVideoCapability },
5716   { 0, NULL, 0, NULL }
5717 };
5718
5719 static int
5720 dissect_h245_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5721 #line 495 "h245.cnf"
5722   gint32 value;
5723
5724   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5725                                  ett_h245_VideoCapability, VideoCapability_choice,
5726                                  &value);
5727
5728         codec_type = val_to_str(value, h245_VideoCapability_vals, "<unknown>");
5729                 if (h245_pi != NULL) 
5730                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, codec_type);
5731
5732
5733
5734   return offset;
5735 }
5736
5737
5738 static const per_sequence_t T_g7231_sequence[] = {
5739   { &hf_h245_maxAl_sduAudioFrames, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5740   { &hf_h245_silenceSuppression, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5741   { NULL, 0, 0, NULL }
5742 };
5743
5744 static int
5745 dissect_h245_T_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5746   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5747                                    ett_h245_T_g7231, T_g7231_sequence);
5748
5749   return offset;
5750 }
5751
5752
5753
5754 static int
5755 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_) {
5756   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5757                                                             1U, 448U, NULL, FALSE);
5758
5759   return offset;
5760 }
5761
5762
5763 static const per_sequence_t IS11172AudioCapability_sequence[] = {
5764   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5765   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5766   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5767   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5768   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5769   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5770   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5771   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5772   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
5773   { NULL, 0, 0, NULL }
5774 };
5775
5776 static int
5777 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5778   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5779                                    ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
5780
5781   return offset;
5782 }
5783
5784
5785
5786 static int
5787 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_) {
5788   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5789                                                             1U, 1130U, NULL, FALSE);
5790
5791   return offset;
5792 }
5793
5794
5795 static const per_sequence_t IS13818AudioCapability_sequence[] = {
5796   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5797   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5798   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5799   { &hf_h245_audioSampling16k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5800   { &hf_h245_audioSampling22k05, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5801   { &hf_h245_audioSampling24k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5802   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5803   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5804   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5805   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5806   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5807   { &hf_h245_threeChannels2_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5808   { &hf_h245_threeChannels3_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5809   { &hf_h245_fourChannels2_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5810   { &hf_h245_fourChannels2_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5811   { &hf_h245_fourChannels3_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5812   { &hf_h245_fiveChannels3_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5813   { &hf_h245_fiveChannels3_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5814   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5815   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5816   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
5817   { NULL, 0, 0, NULL }
5818 };
5819
5820 static int
5821 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5822   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5823                                    ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
5824
5825   return offset;
5826 }
5827
5828
5829
5830 static int
5831 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_) {
5832   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5833                                                             27U, 78U, NULL, FALSE);
5834
5835   return offset;
5836 }
5837
5838
5839
5840 static int
5841 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_) {
5842   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5843                                                             23U, 66U, NULL, FALSE);
5844
5845   return offset;
5846 }
5847
5848
5849
5850 static int
5851 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_) {
5852   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5853                                                             6U, 17U, NULL, FALSE);
5854
5855   return offset;
5856 }
5857
5858
5859 static const per_sequence_t G723AnnexCAudioMode_sequence[] = {
5860   { &hf_h245_highRateMode0  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5861   { &hf_h245_highRateMode1  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5862   { &hf_h245_lowRateMode0   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5863   { &hf_h245_lowRateMode1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5864   { &hf_h245_sidMode0       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5865   { &hf_h245_sidMode1       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5866   { NULL, 0, 0, NULL }
5867 };
5868
5869 static int
5870 dissect_h245_G723AnnexCAudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5871   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5872                                    ett_h245_G723AnnexCAudioMode, G723AnnexCAudioMode_sequence);
5873
5874   return offset;
5875 }
5876
5877
5878 static const per_sequence_t G7231AnnexCCapability_sequence[] = {
5879   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5880   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5881   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_G723AnnexCAudioMode },
5882   { NULL, 0, 0, NULL }
5883 };
5884
5885 static int
5886 dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5887   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5888                                    ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
5889
5890   return offset;
5891 }
5892
5893
5894 static const per_sequence_t GSMAudioCapability_sequence[] = {
5895   { &hf_h245_audioUnitSize  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5896   { &hf_h245_comfortNoise   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5897   { &hf_h245_scrambled      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5898   { NULL, 0, 0, NULL }
5899 };
5900
5901 static int
5902 dissect_h245_GSMAudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5903   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5904                                    ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
5905
5906   return offset;
5907 }
5908
5909
5910 static const per_sequence_t G729Extensions_sequence[] = {
5911   { &hf_h245_audioUnit      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5912   { &hf_h245_annexA         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5913   { &hf_h245_annexB         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5914   { &hf_h245_annexD         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5915   { &hf_h245_annexE         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5916   { &hf_h245_annexF         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5917   { &hf_h245_annexG         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5918   { &hf_h245_annexH         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5919   { NULL, 0, 0, NULL }
5920 };
5921
5922 static int
5923 dissect_h245_G729Extensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5924   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5925                                    ett_h245_G729Extensions, G729Extensions_sequence);
5926
5927   return offset;
5928 }
5929
5930
5931 static const per_sequence_t VBDCapability_sequence[] = {
5932   { &hf_h245_vbd_cap_type   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioCapability },
5933   { NULL, 0, 0, NULL }
5934 };
5935
5936 static int
5937 dissect_h245_VBDCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5938   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5939                                    ett_h245_VBDCapability, VBDCapability_sequence);
5940
5941   return offset;
5942 }
5943
5944
5945
5946 static int
5947 dissect_h245_GeneralString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5948   offset = dissect_per_GeneralString(tvb, offset, actx, tree, hf_index);
5949
5950   return offset;
5951 }
5952
5953
5954 static const per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
5955   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
5956   { NULL, 0, 0, NULL }
5957 };
5958
5959 static int
5960 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5961   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5962                                    ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
5963
5964   return offset;
5965 }
5966
5967
5968 static const per_sequence_t NoPTAudioToneCapability_sequence[] = {
5969   { NULL, 0, 0, NULL }
5970 };
5971
5972 static int
5973 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5974   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5975                                    ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
5976
5977   return offset;
5978 }
5979
5980
5981 static const value_string h245_AudioCapability_vals[] = {
5982   { AudioCapability_nonStandard, "nonStandard" },
5983   { AudioCapability_g711Alaw64k, "g711Alaw64k" },
5984   { AudioCapability_g711Alaw56k, "g711Alaw56k" },
5985   { AudioCapability_g711Ulaw64k, "g711Ulaw64k" },
5986   { AudioCapability_g711Ulaw56k, "g711Ulaw56k" },
5987   { AudioCapability_g722_64k, "g722-64k" },
5988   { AudioCapability_g722_56k, "g722-56k" },
5989   { AudioCapability_g722_48k, "g722-48k" },
5990   { AudioCapability_g7231, "g7231" },
5991   { AudioCapability_g728, "g728" },
5992   { AudioCapability_g729, "g729" },
5993   { AudioCapability_g729AnnexA, "g729AnnexA" },
5994   { AudioCapability_is11172AudioCapability, "is11172AudioCapability" },
5995   { AudioCapability_is13818AudioCapability, "is13818AudioCapability" },
5996   { AudioCapability_g729wAnnexB, "g729wAnnexB" },
5997   { AudioCapability_g729AnnexAwAnnexB, "g729AnnexAwAnnexB" },
5998   { AudioCapability_g7231AnnexCCapability, "g7231AnnexCCapability" },
5999   { AudioCapability_gsmFullRate, "gsmFullRate" },
6000   { AudioCapability_gsmHalfRate, "gsmHalfRate" },
6001   { AudioCapability_gsmEnhancedFullRate, "gsmEnhancedFullRate" },
6002   { AudioCapability_genericAudioCapability, "genericAudioCapability" },
6003   { AudioCapability_g729Extensions, "g729Extensions" },
6004   { AudioCapability_vbd, "vbd" },
6005   { AudioCapability_audioTelephonyEvent, "audioTelephonyEvent" },
6006   { AudioCapability_audioTone, "audioTone" },
6007   { 0, NULL }
6008 };
6009
6010 static const per_choice_t AudioCapability_choice[] = {
6011   { AudioCapability_nonStandard, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6012   { AudioCapability_g711Alaw64k, &hf_h245_g711Alaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6013   { AudioCapability_g711Alaw56k, &hf_h245_g711Alaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6014   { AudioCapability_g711Ulaw64k, &hf_h245_g711Ulaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6015   { AudioCapability_g711Ulaw56k, &hf_h245_g711Ulaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6016   { AudioCapability_g722_64k, &hf_h245_g722_64k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6017   { AudioCapability_g722_56k, &hf_h245_g722_56k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6018   { AudioCapability_g722_48k, &hf_h245_g722_48k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6019   { AudioCapability_g7231, &hf_h245_g7231          , ASN1_EXTENSION_ROOT    , dissect_h245_T_g7231 },
6020   { AudioCapability_g728, &hf_h245_g728           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6021   { AudioCapability_g729, &hf_h245_g729           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6022   { AudioCapability_g729AnnexA, &hf_h245_g729AnnexA     , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6023   { AudioCapability_is11172AudioCapability, &hf_h245_is11172AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioCapability },
6024   { AudioCapability_is13818AudioCapability, &hf_h245_is13818AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioCapability },
6025   { AudioCapability_g729wAnnexB, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
6026   { AudioCapability_g729AnnexAwAnnexB, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
6027   { AudioCapability_g7231AnnexCCapability, &hf_h245_g7231AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCCapability },
6028   { AudioCapability_gsmFullRate, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6029   { AudioCapability_gsmHalfRate, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6030   { AudioCapability_gsmEnhancedFullRate, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6031   { AudioCapability_genericAudioCapability, &hf_h245_genericAudioCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6032   { AudioCapability_g729Extensions, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
6033   { AudioCapability_vbd, &hf_h245_vbd            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDCapability },
6034   { AudioCapability_audioTelephonyEvent, &hf_h245_audioTelephonyEvent, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioTelephonyEventCapability },
6035   { AudioCapability_audioTone, &hf_h245_audioTone      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioToneCapability },
6036   { 0, NULL, 0, NULL }
6037 };
6038
6039 static int
6040 dissect_h245_AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6041 #line 485 "h245.cnf"
6042   gint32 value;
6043
6044   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6045                                  ett_h245_AudioCapability, AudioCapability_choice,
6046                                  &value);
6047
6048         codec_type = val_to_str(value, h245_AudioCapability_short_vals, "<unknown>");
6049                 if (h245_pi != NULL)
6050                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_AudioCapability_short_vals, "ukn"));
6051
6052
6053
6054   return offset;
6055 }
6056
6057
6058 static const per_sequence_t T_h233EncryptionReceiveCapability_sequence[] = {
6059   { &hf_h245_h233IVResponseTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
6060   { NULL, 0, 0, NULL }
6061 };
6062
6063 static int
6064 dissect_h245_T_h233EncryptionReceiveCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6065   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6066                                    ett_h245_T_h233EncryptionReceiveCapability, T_h233EncryptionReceiveCapability_sequence);
6067
6068   return offset;
6069 }
6070
6071
6072 static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
6073   { &hf_h245_nonStandardParams_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6074 };
6075
6076 static int
6077 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_) {
6078   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6079                                       ett_h245_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
6080
6081   return offset;
6082 }
6083
6084
6085 static const per_sequence_t ConferenceCapability_sequence[] = {
6086   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
6087   { &hf_h245_chairControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6088   { &hf_h245_videoIndicateMixingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6089   { &hf_h245_multipointVisualizationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
6090   { NULL, 0, 0, NULL }
6091 };
6092
6093 static int
6094 dissect_h245_ConferenceCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6095   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6096                                    ett_h245_ConferenceCapability, ConferenceCapability_sequence);
6097
6098   return offset;
6099 }
6100
6101
6102 static const value_string h245_MediaEncryptionAlgorithm_vals[] = {
6103   {   0, "nonStandard" },
6104   {   1, "algorithm" },
6105   { 0, NULL }
6106 };
6107
6108 static const per_choice_t MediaEncryptionAlgorithm_choice[] = {
6109   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6110   {   1, &hf_h245_algorithm      , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
6111   { 0, NULL, 0, NULL }
6112 };
6113
6114 static int
6115 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6116   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6117                                  ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice,
6118                                  NULL);
6119
6120   return offset;
6121 }
6122
6123
6124 static const per_sequence_t EncryptionCapability_sequence_of[1] = {
6125   { &hf_h245_EncryptionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaEncryptionAlgorithm },
6126 };
6127
6128 static int
6129 dissect_h245_EncryptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6130   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6131                                                   ett_h245_EncryptionCapability, EncryptionCapability_sequence_of,
6132                                                   1, 256, FALSE);
6133
6134   return offset;
6135 }
6136
6137
6138 static const per_sequence_t AuthenticationCapability_sequence[] = {
6139   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6140   { &hf_h245_antiSpamAlgorithm, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6141   { NULL, 0, 0, NULL }
6142 };
6143
6144 static int
6145 dissect_h245_AuthenticationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6146   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6147                                    ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
6148
6149   return offset;
6150 }
6151
6152
6153 static const per_sequence_t IntegrityCapability_sequence[] = {
6154   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6155   { NULL, 0, 0, NULL }
6156 };
6157
6158 static int
6159 dissect_h245_IntegrityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6160   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6161                                    ett_h245_IntegrityCapability, IntegrityCapability_sequence);
6162
6163   return offset;
6164 }
6165
6166
6167 static const per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
6168   { &hf_h245_encryptionCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_EncryptionCapability },
6169   { &hf_h245_authenticationCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_AuthenticationCapability },
6170   { &hf_h245_integrityCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IntegrityCapability },
6171   { &hf_h245_genericH235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
6172   { NULL, 0, 0, NULL }
6173 };
6174
6175 static int
6176 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6177   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6178                                    ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
6179
6180   return offset;
6181 }
6182
6183
6184 static const per_sequence_t H235SecurityCapability_sequence[] = {
6185   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
6186   { &hf_h245_mediaCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6187   { NULL, 0, 0, NULL }
6188 };
6189
6190 static int
6191 dissect_h245_H235SecurityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6192   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6193                                    ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
6194
6195   return offset;
6196 }
6197
6198
6199 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of[1] = {
6200   { &hf_h245_ui_nonStandard_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6201 };
6202
6203 static int
6204 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_) {
6205   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6206                                                   ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter, SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of,
6207                                                   1, 16, FALSE);
6208
6209   return offset;
6210 }
6211
6212
6213 static const value_string h245_UserInputCapability_vals[] = {
6214   {   0, "nonStandard" },
6215   {   1, "basicString" },
6216   {   2, "iA5String" },
6217   {   3, "generalString" },
6218   {   4, "dtmf" },
6219   {   5, "hookflash" },
6220   {   6, "extendedAlphanumeric" },
6221   {   7, "encryptedBasicString" },
6222   {   8, "encryptedIA5String" },
6223   {   9, "encryptedGeneralString" },
6224   {  10, "secureDTMF" },
6225   {  11, "genericUserInputCapability" },
6226   { 0, NULL }
6227 };
6228
6229 static const per_choice_t UserInputCapability_choice[] = {
6230   {   0, &hf_h245_ui_nonStandard , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter },
6231   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6232   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6233   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6234   {   4, &hf_h245_dtmf           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6235   {   5, &hf_h245_hookflash      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6236   {   6, &hf_h245_extendedAlphanumericFlag, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6237   {   7, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6238   {   8, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6239   {   9, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6240   {  10, &hf_h245_secureDTMF     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6241   {  11, &hf_h245_genericUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6242   { 0, NULL, 0, NULL }
6243 };
6244
6245 static int
6246 dissect_h245_UserInputCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6247   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6248                                  ett_h245_UserInputCapability, UserInputCapability_choice,
6249                                  NULL);
6250
6251   return offset;
6252 }
6253
6254
6255 static const value_string h245_MultiplexFormat_vals[] = {
6256   {   0, "nonStandard" },
6257   {   1, "h222Capability" },
6258   {   2, "h223Capability" },
6259   { 0, NULL }
6260 };
6261
6262 static const per_choice_t MultiplexFormat_choice[] = {
6263   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6264   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
6265   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
6266   { 0, NULL, 0, NULL }
6267 };
6268
6269 static int
6270 dissect_h245_MultiplexFormat(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_MultiplexFormat, MultiplexFormat_choice,
6273                                  NULL);
6274
6275   return offset;
6276 }
6277
6278
6279 static const per_sequence_t AlternativeCapabilitySet_sequence_of[1] = {
6280   { &hf_h245_AlternativeCapabilitySet_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6281 };
6282
6283 static int
6284 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6285   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6286                                                   ett_h245_AlternativeCapabilitySet, AlternativeCapabilitySet_sequence_of,
6287                                                   1, 256, FALSE);
6288
6289   return offset;
6290 }
6291
6292
6293 static const per_sequence_t SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of[1] = {
6294   { &hf_h245_simultaneousCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_AlternativeCapabilitySet },
6295 };
6296
6297 static int
6298 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_) {
6299   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6300                                              ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet, SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of,
6301                                              1, 256, FALSE);
6302
6303   return offset;
6304 }
6305
6306
6307 static const per_sequence_t MultiplexedStreamCapability_sequence[] = {
6308   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
6309   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6310   { &hf_h245_capabilityOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6311   { NULL, 0, 0, NULL }
6312 };
6313
6314 static int
6315 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6316   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6317                                    ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
6318
6319   return offset;
6320 }
6321
6322
6323
6324 static int
6325 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_) {
6326   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6327                                                             96U, 127U, NULL, FALSE);
6328
6329   return offset;
6330 }
6331
6332
6333 static const per_sequence_t AudioTelephonyEventCapability_sequence[] = {
6334   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6335   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
6336   { NULL, 0, 0, NULL }
6337 };
6338
6339 static int
6340 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6341   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6342                                    ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
6343
6344   return offset;
6345 }
6346
6347
6348 static const per_sequence_t AudioToneCapability_sequence[] = {
6349   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6350   { NULL, 0, 0, NULL }
6351 };
6352
6353 static int
6354 dissect_h245_AudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6355   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6356                                    ett_h245_AudioToneCapability, AudioToneCapability_sequence);
6357
6358   return offset;
6359 }
6360
6361
6362 static const per_sequence_t T_separateStreamBool_sequence[] = {
6363   { &hf_h245_separatePort   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6364   { &hf_h245_samePortBool   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6365   { NULL, 0, 0, NULL }
6366 };
6367
6368 static int
6369 dissect_h245_T_separateStreamBool(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6370   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6371                                    ett_h245_T_separateStreamBool, T_separateStreamBool_sequence);
6372
6373   return offset;
6374 }
6375
6376
6377 static const per_sequence_t FECC_rfc2733_sequence[] = {
6378   { &hf_h245_redundancyEncodingBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6379   { &hf_h245_separateStreamBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_separateStreamBool },
6380   { NULL, 0, 0, NULL }
6381 };
6382
6383 static int
6384 dissect_h245_FECC_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6385   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6386                                    ett_h245_FECC_rfc2733, FECC_rfc2733_sequence);
6387
6388   return offset;
6389 }
6390
6391
6392 static const value_string h245_DepFECCapability_vals[] = {
6393   {   0, "rfc2733" },
6394   { 0, NULL }
6395 };
6396
6397 static const per_choice_t DepFECCapability_choice[] = {
6398   {   0, &hf_h245_fecc_rfc2733   , ASN1_EXTENSION_ROOT    , dissect_h245_FECC_rfc2733 },
6399   { 0, NULL, 0, NULL }
6400 };
6401
6402 static int
6403 dissect_h245_DepFECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6404   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6405                                  ett_h245_DepFECCapability, DepFECCapability_choice,
6406                                  NULL);
6407
6408   return offset;
6409 }
6410
6411
6412 static const per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
6413   { &hf_h245_capabilities   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6414   { NULL, 0, 0, NULL }
6415 };
6416
6417 static int
6418 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6419   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6420                                    ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
6421
6422   return offset;
6423 }
6424
6425
6426
6427 static int
6428 dissect_h245_MaxRedundancy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6429   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6430                                                             1U, NO_BOUND, NULL, FALSE);
6431
6432   return offset;
6433 }
6434
6435
6436 static const value_string h245_Rfc2733Format_vals[] = {
6437   {   0, "rfc2733rfc2198" },
6438   {   1, "rfc2733sameport" },
6439   {   2, "rfc2733diffport" },
6440   { 0, NULL }
6441 };
6442
6443 static const per_choice_t Rfc2733Format_choice[] = {
6444   {   0, &hf_h245_rfc2733rfc2198 , ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6445   {   1, &hf_h245_rfc2733sameport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6446   {   2, &hf_h245_rfc2733diffport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6447   { 0, NULL, 0, NULL }
6448 };
6449
6450 static int
6451 dissect_h245_Rfc2733Format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6452   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6453                                  ett_h245_Rfc2733Format, Rfc2733Format_choice,
6454                                  NULL);
6455
6456   return offset;
6457 }
6458
6459
6460 static const per_sequence_t FECCapability_sequence[] = {
6461   { &hf_h245_protectedCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6462   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6463   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
6464   { NULL, 0, 0, NULL }
6465 };
6466
6467 static int
6468 dissect_h245_FECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6469   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6470                                    ett_h245_FECCapability, FECCapability_sequence);
6471
6472   return offset;
6473 }
6474
6475
6476 const value_string h245_Capability_vals[] = {
6477   {   0, "nonStandard" },
6478   {   1, "receiveVideoCapability" },
6479   {   2, "transmitVideoCapability" },
6480   {   3, "receiveAndTransmitVideoCapability" },
6481   {   4, "receiveAudioCapability" },
6482   {   5, "transmitAudioCapability" },
6483   {   6, "receiveAndTransmitAudioCapability" },
6484   {   7, "receiveDataApplicationCapability" },
6485   {   8, "transmitDataApplicationCapability" },
6486   {   9, "receiveAndTransmitDataApplicationCapability" },
6487   {  10, "h233EncryptionTransmitCapability" },
6488   {  11, "h233EncryptionReceiveCapability" },
6489   {  12, "conferenceCapability" },
6490   {  13, "h235SecurityCapability" },
6491   {  14, "maxPendingReplacementFor" },
6492   {  15, "receiveUserInputCapability" },
6493   {  16, "transmitUserInputCapability" },
6494   {  17, "receiveAndTransmitUserInputCapability" },
6495   {  18, "genericControlCapability" },
6496   {  19, "receiveMultiplexedStreamCapability" },
6497   {  20, "transmitMultiplexedStreamCapability" },
6498   {  21, "receiveAndTransmitMultiplexedStreamCapability" },
6499   {  22, "receiveRTPAudioTelephonyEventCapability" },
6500   {  23, "receiveRTPAudioToneCapability" },
6501   {  24, "depFecCapability" },
6502   {  25, "multiplePayloadStreamCapability" },
6503   {  26, "fecCapability" },
6504   {  27, "redundancyEncodingCap" },
6505   {  28, "oneOfCapabilities" },
6506   { 0, NULL }
6507 };
6508
6509 static const per_choice_t Capability_choice[] = {
6510   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6511   {   1, &hf_h245_receiveVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6512   {   2, &hf_h245_transmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6513   {   3, &hf_h245_receiveAndTransmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6514   {   4, &hf_h245_receiveAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6515   {   5, &hf_h245_transmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6516   {   6, &hf_h245_receiveAndTransmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6517   {   7, &hf_h245_receiveDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6518   {   8, &hf_h245_transmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6519   {   9, &hf_h245_receiveAndTransmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6520   {  10, &hf_h245_h233EncryptionTransmitCapability, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
6521   {  11, &hf_h245_h233EncryptionReceiveCapability, ASN1_EXTENSION_ROOT    , dissect_h245_T_h233EncryptionReceiveCapability },
6522   {  12, &hf_h245_conferenceCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCapability },
6523   {  13, &hf_h245_h235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235SecurityCapability },
6524   {  14, &hf_h245_maxPendingReplacementFor, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
6525   {  15, &hf_h245_receiveUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6526   {  16, &hf_h245_transmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6527   {  17, &hf_h245_receiveAndTransmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6528   {  18, &hf_h245_genericControlCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6529   {  19, &hf_h245_receiveMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6530   {  20, &hf_h245_transmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6531   {  21, &hf_h245_receiveAndTransmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6532   {  22, &hf_h245_receiveRTPAudioTelephonyEventCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioTelephonyEventCapability },
6533   {  23, &hf_h245_receiveRTPAudioToneCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioToneCapability },
6534   {  24, &hf_h245_depFecCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECCapability },
6535   {  25, &hf_h245_multiplePayloadStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamCapability },
6536   {  26, &hf_h245_fecCapability  , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECCapability },
6537   {  27, &hf_h245_redundancyEncodingCap, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingCapability },
6538   {  28, &hf_h245_oneOfCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AlternativeCapabilitySet },
6539   { 0, NULL, 0, NULL }
6540 };
6541
6542 int
6543 dissect_h245_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6544   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6545                                  ett_h245_Capability, Capability_choice,
6546                                  NULL);
6547
6548   return offset;
6549 }
6550
6551
6552 static const per_sequence_t CapabilityTableEntry_sequence[] = {
6553   { &hf_h245_capabilityTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6554   { &hf_h245_capability     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_Capability },
6555   { NULL, 0, 0, NULL }
6556 };
6557
6558 static int
6559 dissect_h245_CapabilityTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6560   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6561                                    ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
6562
6563   return offset;
6564 }
6565
6566
6567 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityTableEntry_set_of[1] = {
6568   { &hf_h245_capabilityTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntry },
6569 };
6570
6571 static int
6572 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_) {
6573   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6574                                              ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry, SET_SIZE_1_256_OF_CapabilityTableEntry_set_of,
6575                                              1, 256, FALSE);
6576
6577   return offset;
6578 }
6579
6580
6581
6582 static int
6583 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6584   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6585                                                             0U, 255U, NULL, FALSE);
6586
6587   return offset;
6588 }
6589
6590
6591 static const per_sequence_t CapabilityDescriptor_sequence[] = {
6592   { &hf_h245_capabilityDescriptorNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
6593   { &hf_h245_simultaneousCapabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6594   { NULL, 0, 0, NULL }
6595 };
6596
6597 static int
6598 dissect_h245_CapabilityDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6599   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6600                                    ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
6601
6602   return offset;
6603 }
6604
6605
6606 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptor_set_of[1] = {
6607   { &hf_h245_capabilityDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptor },
6608 };
6609
6610 static int
6611 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_) {
6612   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6613                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor, SET_SIZE_1_256_OF_CapabilityDescriptor_set_of,
6614                                              1, 256, FALSE);
6615
6616   return offset;
6617 }
6618
6619
6620
6621 static int
6622 dissect_h245_T_subMessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6623 #line 630 "h245.cnf"
6624   guint32 subMessageIdentifer;
6625   gef_ctx_t *gefx;
6626   
6627   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6628                                                             0U, 127U, &subMessageIdentifer, FALSE);
6629
6630   gefx = gef_ctx_get(actx->private_data);
6631   if (gefx) gefx->subid = ep_strdup_printf("%u", subMessageIdentifer);
6632
6633
6634   return offset;
6635 }
6636
6637
6638
6639 static int
6640 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_) {
6641 #line 639 "h245.cnf"
6642   gef_ctx_t *parent_gefx;
6643
6644   parent_gefx = gef_ctx_get(actx->private_data);
6645   actx->private_data = gef_ctx_alloc(parent_gefx, NULL);
6646
6647   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
6648
6649 #line 644 "h245.cnf"
6650   actx->private_data = parent_gefx;
6651
6652   return offset;
6653 }
6654
6655
6656 static const per_sequence_t T_messageContent_sequence_of[1] = {
6657   { &hf_h245_messageContent_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_messageContent_item },
6658 };
6659
6660 static int
6661 dissect_h245_T_messageContent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6662   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6663                                       ett_h245_T_messageContent, T_messageContent_sequence_of);
6664
6665   return offset;
6666 }
6667
6668
6669 static const per_sequence_t GenericMessage_sequence[] = {
6670   { &hf_h245_messageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
6671   { &hf_h245_subMessageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subMessageIdentifier },
6672   { &hf_h245_messageContent , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_messageContent },
6673   { NULL, 0, 0, NULL }
6674 };
6675
6676 static int
6677 dissect_h245_GenericMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6678 #line 616 "h245.cnf"
6679   void *priv_data = actx->private_data;
6680   gef_ctx_t *gefx;
6681
6682   /* check if not inherited from GenericInformation */
6683   gefx = gef_ctx_get(actx->private_data);
6684   if (!gefx) {
6685     gefx = gef_ctx_alloc(NULL, "GenericMessage");
6686     actx->private_data = gefx;
6687   }
6688
6689   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6690                                    ett_h245_GenericMessage, GenericMessage_sequence);
6691
6692 #line 626 "h245.cnf"
6693   actx->private_data = priv_data;
6694
6695   return offset;
6696 }
6697
6698
6699
6700 static int
6701 dissect_h245_GenericInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6702 #line 649 "h245.cnf"
6703   void *priv_data = actx->private_data;
6704   actx->private_data = gef_ctx_alloc(NULL, "GenericInformation");
6705
6706   offset = dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_index);
6707
6708 #line 652 "h245.cnf"
6709   actx->private_data = priv_data;
6710
6711   return offset;
6712 }
6713
6714
6715 static const per_sequence_t SEQUENCE_OF_GenericInformation_sequence_of[1] = {
6716   { &hf_h245_genericInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericInformation },
6717 };
6718
6719 static int
6720 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_) {
6721   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6722                                       ett_h245_SEQUENCE_OF_GenericInformation, SEQUENCE_OF_GenericInformation_sequence_of);
6723
6724   return offset;
6725 }
6726
6727
6728 static const per_sequence_t TerminalCapabilitySet_sequence[] = {
6729   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
6730   { &hf_h245_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
6731   { &hf_h245_multiplexCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplexCapability },
6732   { &hf_h245_capabilityTable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry },
6733   { &hf_h245_capabilityDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor },
6734   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
6735   { NULL, 0, 0, NULL }
6736 };
6737
6738 static int
6739 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6740   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6741                                    ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
6742
6743 #line 601 "h245.cnf"
6744
6745 if (h245_pi != NULL)
6746   h245_pi->msg_type = H245_TermCapSet;
6747
6748   return offset;
6749 }
6750
6751
6752
6753 static int
6754 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6755 #line 121 "h245.cnf"
6756   guint32 value;
6757   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6758                                                             1U, 65535U, &value, FALSE);
6759
6760   h245_lc_temp = value & 0xfff;
6761
6762
6763   return offset;
6764 }
6765
6766
6767
6768 static int
6769 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_) {
6770   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
6771
6772 #line 162 "h245.cnf"
6773   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
6774   h223_fw_lc_num = h245_lc_temp;
6775
6776   return offset;
6777 }
6778
6779
6780 static const value_string h245_EncryptionMode_vals[] = {
6781   {   0, "nonStandard" },
6782   {   1, "h233Encryption" },
6783   { 0, NULL }
6784 };
6785
6786 static const per_choice_t EncryptionMode_choice[] = {
6787   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6788   {   1, &hf_h245_h233Encryption , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6789   { 0, NULL, 0, NULL }
6790 };
6791
6792 static int
6793 dissect_h245_EncryptionMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6794   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6795                                  ett_h245_EncryptionMode, EncryptionMode_choice,
6796                                  NULL);
6797
6798   return offset;
6799 }
6800
6801
6802
6803 static int
6804 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_) {
6805   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6806                                                             0U, 127U, NULL, FALSE);
6807
6808   return offset;
6809 }
6810
6811
6812 static const per_sequence_t RedundancyEncodingElement_sequence[] = {
6813   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6814   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6815   { NULL, 0, 0, NULL }
6816 };
6817
6818 static int
6819 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6820   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6821                                    ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
6822
6823   return offset;
6824 }
6825
6826
6827 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingElement_sequence_of[1] = {
6828   { &hf_h245_secondary_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingElement },
6829 };
6830
6831 static int
6832 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_) {
6833   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6834                                       ett_h245_SEQUENCE_OF_RedundancyEncodingElement, SEQUENCE_OF_RedundancyEncodingElement_sequence_of);
6835
6836   return offset;
6837 }
6838
6839
6840 static const per_sequence_t T_rtpRedundancyEncoding_sequence[] = {
6841   { &hf_h245_primary        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingElement },
6842   { &hf_h245_secondary      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_RedundancyEncodingElement },
6843   { NULL, 0, 0, NULL }
6844 };
6845
6846 static int
6847 dissect_h245_T_rtpRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6848   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6849                                    ett_h245_T_rtpRedundancyEncoding, T_rtpRedundancyEncoding_sequence);
6850
6851   return offset;
6852 }
6853
6854
6855 static const per_sequence_t RedundancyEncoding_sequence[] = {
6856   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
6857   { &hf_h245_secondaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataType },
6858   { &hf_h245_rtpRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_rtpRedundancyEncoding },
6859   { NULL, 0, 0, NULL }
6860 };
6861
6862 static int
6863 dissect_h245_RedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6864   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6865                                    ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
6866
6867   return offset;
6868 }
6869
6870
6871 static const per_sequence_t MultiplePayloadStreamElement_sequence[] = {
6872   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6873   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6874   { NULL, 0, 0, NULL }
6875 };
6876
6877 static int
6878 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6879   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6880                                    ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
6881
6882   return offset;
6883 }
6884
6885
6886 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of[1] = {
6887   { &hf_h245_elements_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElement },
6888 };
6889
6890 static int
6891 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_) {
6892   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6893                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement, SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of);
6894
6895   return offset;
6896 }
6897
6898
6899 static const per_sequence_t MultiplePayloadStream_sequence[] = {
6900   { &hf_h245_elements       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement },
6901   { NULL, 0, 0, NULL }
6902 };
6903
6904 static int
6905 dissect_h245_MultiplePayloadStream(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_MultiplePayloadStream, MultiplePayloadStream_sequence);
6908
6909   return offset;
6910 }
6911
6912
6913 static const per_sequence_t T_differentPort_sequence[] = {
6914   { &hf_h245_protectedSessionID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
6915   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6916   { NULL, 0, 0, NULL }
6917 };
6918
6919 static int
6920 dissect_h245_T_differentPort(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_T_differentPort, T_differentPort_sequence);
6923
6924   return offset;
6925 }
6926
6927
6928 static const per_sequence_t T_samePort_sequence[] = {
6929   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
6930   { NULL, 0, 0, NULL }
6931 };
6932
6933 static int
6934 dissect_h245_T_samePort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6935   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6936                                    ett_h245_T_samePort, T_samePort_sequence);
6937
6938   return offset;
6939 }
6940
6941
6942 static const value_string h245_DepSeparateStream_vals[] = {
6943   {   0, "differentPort" },
6944   {   1, "samePort" },
6945   { 0, NULL }
6946 };
6947
6948 static const per_choice_t DepSeparateStream_choice[] = {
6949   {   0, &hf_h245_differentPort  , ASN1_EXTENSION_ROOT    , dissect_h245_T_differentPort },
6950   {   1, &hf_h245_samePort       , ASN1_EXTENSION_ROOT    , dissect_h245_T_samePort },
6951   { 0, NULL, 0, NULL }
6952 };
6953
6954 static int
6955 dissect_h245_DepSeparateStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6956   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6957                                  ett_h245_DepSeparateStream, DepSeparateStream_choice,
6958                                  NULL);
6959
6960   return offset;
6961 }
6962
6963
6964 static const value_string h245_FECdata_mode_vals[] = {
6965   {   0, "redundancyEncoding" },
6966   {   1, "separateStream" },
6967   { 0, NULL }
6968 };
6969
6970 static const per_choice_t FECdata_mode_choice[] = {
6971   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6972   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
6973   { 0, NULL, 0, NULL }
6974 };
6975
6976 static int
6977 dissect_h245_FECdata_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6978   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6979                                  ett_h245_FECdata_mode, FECdata_mode_choice,
6980                                  NULL);
6981
6982   return offset;
6983 }
6984
6985
6986 static const per_sequence_t RFC2733Data_sequence[] = {
6987   { &hf_h245_fec_data_mode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FECdata_mode },
6988   { NULL, 0, 0, NULL }
6989 };
6990
6991 static int
6992 dissect_h245_RFC2733Data(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6993   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6994                                    ett_h245_RFC2733Data, RFC2733Data_sequence);
6995
6996   return offset;
6997 }
6998
6999
7000 static const value_string h245_DepFECData_vals[] = {
7001   {   0, "rfc2733" },
7002   { 0, NULL }
7003 };
7004
7005 static const per_choice_t DepFECData_choice[] = {
7006   {   0, &hf_h245_dep_rfc2733    , ASN1_NO_EXTENSIONS     , dissect_h245_RFC2733Data },
7007   { 0, NULL, 0, NULL }
7008 };
7009
7010 static int
7011 dissect_h245_DepFECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7012   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7013                                  ett_h245_DepFECData, DepFECData_choice,
7014                                  NULL);
7015
7016   return offset;
7017 }
7018
7019
7020 static const per_sequence_t T_mode_rfc2733sameport_sequence[] = {
7021   { NULL, 0, 0, NULL }
7022 };
7023
7024 static int
7025 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_) {
7026   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7027                                    ett_h245_T_mode_rfc2733sameport, T_mode_rfc2733sameport_sequence);
7028
7029   return offset;
7030 }
7031
7032
7033 static const per_sequence_t T_mode_rfc2733diffport_sequence[] = {
7034   { &hf_h245_protectedChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
7035   { NULL, 0, 0, NULL }
7036 };
7037
7038 static int
7039 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_) {
7040   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7041                                    ett_h245_T_mode_rfc2733diffport, T_mode_rfc2733diffport_sequence);
7042
7043   return offset;
7044 }
7045
7046
7047 static const value_string h245_T_pktMode_vals[] = {
7048   {   0, "rfc2198coding" },
7049   {   1, "rfc2733sameport" },
7050   {   2, "rfc2733diffport" },
7051   { 0, NULL }
7052 };
7053
7054 static const per_choice_t T_pktMode_choice[] = {
7055   {   0, &hf_h245_rfc2198coding  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7056   {   1, &hf_h245_mode_rfc2733sameport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733sameport },
7057   {   2, &hf_h245_mode_rfc2733diffport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733diffport },
7058   { 0, NULL, 0, NULL }
7059 };
7060
7061 static int
7062 dissect_h245_T_pktMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7063   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7064                                  ett_h245_T_pktMode, T_pktMode_choice,
7065                                  NULL);
7066
7067   return offset;
7068 }
7069
7070
7071 static const per_sequence_t T_rfc2733_sequence[] = {
7072   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
7073   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
7074   { &hf_h245_pktMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pktMode },
7075   { NULL, 0, 0, NULL }
7076 };
7077
7078 static int
7079 dissect_h245_T_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7080   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7081                                    ett_h245_T_rfc2733, T_rfc2733_sequence);
7082
7083   return offset;
7084 }
7085
7086
7087 static const value_string h245_FECData_vals[] = {
7088   {   0, "rfc2733" },
7089   { 0, NULL }
7090 };
7091
7092 static const per_choice_t FECData_choice[] = {
7093   {   0, &hf_h245_rfc2733        , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733 },
7094   { 0, NULL, 0, NULL }
7095 };
7096
7097 static int
7098 dissect_h245_FECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7099   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7100                                  ett_h245_FECData, FECData_choice,
7101                                  NULL);
7102
7103   return offset;
7104 }
7105
7106
7107 static const value_string h245_T_mediaType_vals[] = {
7108   {   0, "nonStandard" },
7109   {   1, "videoData" },
7110   {   2, "audioData" },
7111   {   3, "data" },
7112   {   4, "redundancyEncoding" },
7113   {   5, "multiplePayloadStream" },
7114   {   6, "depFec" },
7115   {   7, "fec" },
7116   { 0, NULL }
7117 };
7118
7119 static const per_choice_t T_mediaType_choice[] = {
7120   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7121   {   1, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7122   {   2, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7123   {   3, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7124   {   4, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7125   {   5, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7126   {   6, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7127   {   7, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7128   { 0, NULL, 0, NULL }
7129 };
7130
7131 static int
7132 dissect_h245_T_mediaType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7133   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7134                                  ett_h245_T_mediaType, T_mediaType_choice,
7135                                  NULL);
7136
7137   return offset;
7138 }
7139
7140
7141 static const per_sequence_t H235Media_sequence[] = {
7142   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
7143   { &hf_h245_mediaType      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaType },
7144   { NULL, 0, 0, NULL }
7145 };
7146
7147 static int
7148 dissect_h245_H235Media(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7149   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7150                                    ett_h245_H235Media, H235Media_sequence);
7151
7152   return offset;
7153 }
7154
7155
7156 static const per_sequence_t MultiplexedStreamParameter_sequence[] = {
7157   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
7158   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7159   { NULL, 0, 0, NULL }
7160 };
7161
7162 static int
7163 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7164   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7165                                    ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
7166
7167   return offset;
7168 }
7169
7170
7171 static const value_string h245_DataType_vals[] = {
7172   {   0, "nonStandard" },
7173   {   1, "nullData" },
7174   {   2, "videoData" },
7175   {   3, "audioData" },
7176   {   4, "data" },
7177   {   5, "encryptionData" },
7178   {   6, "h235Control" },
7179   {   7, "h235Media" },
7180   {   8, "multiplexedStream" },
7181   {   9, "redundancyEncoding" },
7182   {  10, "multiplePayloadStream" },
7183   {  11, "depFec" },
7184   {  12, "fec" },
7185   { 0, NULL }
7186 };
7187
7188 static const per_choice_t DataType_choice[] = {
7189   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7190   {   1, &hf_h245_nullData       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7191   {   2, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7192   {   3, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7193   {   4, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7194   {   5, &hf_h245_encryptionData , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
7195   {   6, &hf_h245_h235Control    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
7196   {   7, &hf_h245_h235Media      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Media },
7197   {   8, &hf_h245_multiplexedStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
7198   {   9, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7199   {  10, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7200   {  11, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7201   {  12, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7202   { 0, NULL, 0, NULL }
7203 };
7204
7205 static int
7206 dissect_h245_DataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7207 #line 999 "h245.cnf"
7208 gint choice_index;
7209
7210   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7211                                  ett_h245_DataType, DataType_choice,
7212                                  &choice_index);
7213
7214
7215 if (upcoming_channel){
7216         if (choice_index==2){
7217                 upcoming_channel->is_video=TRUE;
7218         }else{
7219                 upcoming_channel->is_video=FALSE;
7220         }
7221 }
7222
7223
7224
7225   return offset;
7226 }
7227
7228
7229
7230 static int
7231 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_) {
7232   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7233                                                             0U, 8191U, NULL, FALSE);
7234
7235   return offset;
7236 }
7237
7238
7239 static const per_sequence_t H222LogicalChannelParameters_sequence[] = {
7240   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
7241   { &hf_h245_subChannelID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_8191 },
7242   { &hf_h245_pcr_pid        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_8191 },
7243   { &hf_h245_programDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7244   { &hf_h245_streamDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7245   { NULL, 0, 0, NULL }
7246 };
7247
7248 static int
7249 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7250   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7251                                    ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
7252
7253   return offset;
7254 }
7255
7256
7257
7258 static int
7259 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_) {
7260 #line 293 "h245.cnf"
7261   if(h223_lc_params_temp)
7262         h223_lc_params_temp->al_type = al1Framed;
7263
7264   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7265
7266   return offset;
7267 }
7268
7269
7270
7271 static int
7272 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_) {
7273 #line 298 "h245.cnf"
7274   if(h223_lc_params_temp)
7275         h223_lc_params_temp->al_type = al1NotFramed;
7276
7277   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7278
7279   return offset;
7280 }
7281
7282
7283
7284 static int
7285 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_) {
7286 #line 303 "h245.cnf"
7287   if(h223_lc_params_temp)
7288         h223_lc_params_temp->al_type = al2WithoutSequenceNumbers;
7289
7290   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7291
7292   return offset;
7293 }
7294
7295
7296
7297 static int
7298 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_) {
7299 #line 308 "h245.cnf"
7300   if(h223_lc_params_temp)
7301         h223_lc_params_temp->al_type = al2WithSequenceNumbers;
7302
7303   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7304
7305   return offset;
7306 }
7307
7308
7309
7310 static int
7311 dissect_h245_T_controlFieldOctets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7312 #line 322 "h245.cnf"
7313   guint32 value;
7314   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7315                                                             0U, 2U, &value, FALSE);
7316
7317   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7318         ((h223_al3_params*)h223_lc_params_temp->al_params)->control_field_octets = value & 3 ;
7319
7320
7321   return offset;
7322 }
7323
7324
7325
7326 static int
7327 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_) {
7328 #line 331 "h245.cnf"
7329   guint32 value;
7330   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7331                                                             0U, 16777215U, &value, FALSE);
7332
7333   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7334         ((h223_al3_params*)h223_lc_params_temp->al_params)->send_buffer_size = value & 0xfffff;
7335
7336
7337   return offset;
7338 }
7339
7340
7341 static const per_sequence_t Al3_sequence[] = {
7342   { &hf_h245_controlFieldOctets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_controlFieldOctets },
7343   { &hf_h245_al3_sendBufferSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_al3_sendBufferSize },
7344   { NULL, 0, 0, NULL }
7345 };
7346
7347 static int
7348 dissect_h245_Al3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7349   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7350                                    ett_h245_Al3, Al3_sequence);
7351
7352   return offset;
7353 }
7354
7355
7356
7357 static int
7358 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_) {
7359 #line 313 "h245.cnf"
7360  if(h223_lc_params_temp) {
7361         h223_lc_params_temp->al_type = al3;
7362         h223_lc_params_temp->al_params = se_alloc(sizeof(h223_al3_params));
7363   }
7364
7365   offset = dissect_h245_Al3(tvb, offset, actx, tree, hf_index);
7366
7367   return offset;
7368 }
7369
7370
7371 static const value_string h245_T_transferMode_vals[] = {
7372   {   0, "framed" },
7373   {   1, "unframed" },
7374   { 0, NULL }
7375 };
7376
7377 static const per_choice_t T_transferMode_choice[] = {
7378   {   0, &hf_h245_framed         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7379   {   1, &hf_h245_unframed       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7380   { 0, NULL, 0, NULL }
7381 };
7382
7383 static int
7384 dissect_h245_T_transferMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7385   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7386                                  ett_h245_T_transferMode, T_transferMode_choice,
7387                                  NULL);
7388
7389   return offset;
7390 }
7391
7392
7393 static const value_string h245_AL1HeaderFEC_vals[] = {
7394   {   0, "sebch16-7" },
7395   {   1, "golay24-12" },
7396   { 0, NULL }
7397 };
7398
7399 static const per_choice_t AL1HeaderFEC_choice[] = {
7400   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7401   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7402   { 0, NULL, 0, NULL }
7403 };
7404
7405 static int
7406 dissect_h245_AL1HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7407   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7408                                  ett_h245_AL1HeaderFEC, AL1HeaderFEC_choice,
7409                                  NULL);
7410
7411   return offset;
7412 }
7413
7414
7415 static const value_string h245_AL1CrcLength_vals[] = {
7416   {   0, "crc4bit" },
7417   {   1, "crc12bit" },
7418   {   2, "crc20bit" },
7419   {   3, "crc28bit" },
7420   {   4, "crc8bit" },
7421   {   5, "crc16bit" },
7422   {   6, "crc32bit" },
7423   {   7, "crcNotUsed" },
7424   { 0, NULL }
7425 };
7426
7427 static const per_choice_t AL1CrcLength_choice[] = {
7428   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7429   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7430   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7431   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7432   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7433   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7434   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7435   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7436   { 0, NULL, 0, NULL }
7437 };
7438
7439 static int
7440 dissect_h245_AL1CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7441   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7442                                  ett_h245_AL1CrcLength, AL1CrcLength_choice,
7443                                  NULL);
7444
7445   return offset;
7446 }
7447
7448
7449
7450 static int
7451 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_) {
7452   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7453                                                             8U, 32U, NULL, FALSE);
7454
7455   return offset;
7456 }
7457
7458
7459
7460 static int
7461 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_) {
7462   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7463                                                             0U, 16U, NULL, FALSE);
7464
7465   return offset;
7466 }
7467
7468
7469 static const value_string h245_T_numberOfRetransmissions_vals[] = {
7470   {   0, "finite" },
7471   {   1, "infinite" },
7472   { 0, NULL }
7473 };
7474
7475 static const per_choice_t T_numberOfRetransmissions_choice[] = {
7476   {   0, &hf_h245_finite         , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_16 },
7477   {   1, &hf_h245_infinite       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7478   { 0, NULL, 0, NULL }
7479 };
7480
7481 static int
7482 dissect_h245_T_numberOfRetransmissions(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_T_numberOfRetransmissions, T_numberOfRetransmissions_choice,
7485                                  NULL);
7486
7487   return offset;
7488 }
7489
7490
7491 static const per_sequence_t H223AnnexCArqParameters_sequence[] = {
7492   { &hf_h245_numberOfRetransmissions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_numberOfRetransmissions },
7493   { &hf_h245_sendBufferSize , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
7494   { NULL, 0, 0, NULL }
7495 };
7496
7497 static int
7498 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7499   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7500                                    ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
7501
7502   return offset;
7503 }
7504
7505
7506 static const value_string h245_ArqType_vals[] = {
7507   {   0, "noArq" },
7508   {   1, "typeIArq" },
7509   {   2, "typeIIArq" },
7510   { 0, NULL }
7511 };
7512
7513 static const per_choice_t ArqType_choice[] = {
7514   {   0, &hf_h245_noArq          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7515   {   1, &hf_h245_typeIArq       , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7516   {   2, &hf_h245_typeIIArq      , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7517   { 0, NULL, 0, NULL }
7518 };
7519
7520 static int
7521 dissect_h245_ArqType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7522   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7523                                  ett_h245_ArqType, ArqType_choice,
7524                                  NULL);
7525
7526   return offset;
7527 }
7528
7529
7530 static const per_sequence_t H223AL1MParameters_sequence[] = {
7531   { &hf_h245_transferMode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_transferMode },
7532   { &hf_h245_aL1HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1HeaderFEC },
7533   { &hf_h245_crcLength2     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1CrcLength },
7534   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7535   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7536   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7537   { &hf_h245_alsduSplitting , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7538   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7539   { NULL, 0, 0, NULL }
7540 };
7541
7542 static int
7543 dissect_h245_H223AL1MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7544   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7545                                    ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
7546
7547   return offset;
7548 }
7549
7550
7551
7552 static int
7553 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_) {
7554 #line 338 "h245.cnf"
7555   if(h223_lc_params_temp)
7556         h223_lc_params_temp->al_type = al1M;
7557
7558   offset = dissect_h245_H223AL1MParameters(tvb, offset, actx, tree, hf_index);
7559
7560   return offset;
7561 }
7562
7563
7564 static const value_string h245_AL2HeaderFEC_vals[] = {
7565   {   0, "sebch16-5" },
7566   {   1, "golay24-12" },
7567   { 0, NULL }
7568 };
7569
7570 static const per_choice_t AL2HeaderFEC_choice[] = {
7571   {   0, &hf_h245_sebch16_5      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7572   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7573   { 0, NULL, 0, NULL }
7574 };
7575
7576 static int
7577 dissect_h245_AL2HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7578   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7579                                  ett_h245_AL2HeaderFEC, AL2HeaderFEC_choice,
7580                                  NULL);
7581
7582   return offset;
7583 }
7584
7585
7586 static const per_sequence_t H223AL2MParameters_sequence[] = {
7587   { &hf_h245_aL2HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL2HeaderFEC },
7588   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7589   { NULL, 0, 0, NULL }
7590 };
7591
7592 static int
7593 dissect_h245_H223AL2MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7594   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7595                                    ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
7596
7597   return offset;
7598 }
7599
7600
7601
7602 static int
7603 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_) {
7604 #line 343 "h245.cnf"
7605   if(h223_lc_params_temp)
7606         h223_lc_params_temp->al_type = al2M;
7607
7608   offset = dissect_h245_H223AL2MParameters(tvb, offset, actx, tree, hf_index);
7609
7610   return offset;
7611 }
7612
7613
7614 static const value_string h245_T_headerFormat_vals[] = {
7615   {   0, "sebch16-7" },
7616   {   1, "golay24-12" },
7617   { 0, NULL }
7618 };
7619
7620 static const per_choice_t T_headerFormat_choice[] = {
7621   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7622   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7623   { 0, NULL, 0, NULL }
7624 };
7625
7626 static int
7627 dissect_h245_T_headerFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7628   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7629                                  ett_h245_T_headerFormat, T_headerFormat_choice,
7630                                  NULL);
7631
7632   return offset;
7633 }
7634
7635
7636 static const value_string h245_AL3CrcLength_vals[] = {
7637   {   0, "crc4bit" },
7638   {   1, "crc12bit" },
7639   {   2, "crc20bit" },
7640   {   3, "crc28bit" },
7641   {   4, "crc8bit" },
7642   {   5, "crc16bit" },
7643   {   6, "crc32bit" },
7644   {   7, "crcNotUsed" },
7645   { 0, NULL }
7646 };
7647
7648 static const per_choice_t AL3CrcLength_choice[] = {
7649   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7650   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7651   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7652   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7653   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7654   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7655   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7656   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7657   { 0, NULL, 0, NULL }
7658 };
7659
7660 static int
7661 dissect_h245_AL3CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7662   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7663                                  ett_h245_AL3CrcLength, AL3CrcLength_choice,
7664                                  NULL);
7665
7666   return offset;
7667 }
7668
7669
7670 static const per_sequence_t H223AL3MParameters_sequence[] = {
7671   { &hf_h245_headerFormat   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_headerFormat },
7672   { &hf_h245_crlength2      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL3CrcLength },
7673   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7674   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7675   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7676   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7677   { NULL, 0, 0, NULL }
7678 };
7679
7680 static int
7681 dissect_h245_H223AL3MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7682   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7683                                    ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
7684
7685   return offset;
7686 }
7687
7688
7689
7690 static int
7691 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_) {
7692 #line 348 "h245.cnf"
7693   if(h223_lc_params_temp)
7694         h223_lc_params_temp->al_type = al3M;
7695
7696   offset = dissect_h245_H223AL3MParameters(tvb, offset, actx, tree, hf_index);
7697
7698   return offset;
7699 }
7700
7701
7702 static const value_string h245_T_adaptationLayerType_vals[] = {
7703   {   0, "nonStandard" },
7704   {   1, "al1Framed" },
7705   {   2, "al1NotFramed" },
7706   {   3, "al2WithoutSequenceNumbers" },
7707   {   4, "al2WithSequenceNumbers" },
7708   {   5, "al3" },
7709   {   6, "al1M" },
7710   {   7, "al2M" },
7711   {   8, "al3M" },
7712   { 0, NULL }
7713 };
7714
7715 static const per_choice_t T_adaptationLayerType_choice[] = {
7716   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7717   {   1, &hf_h245_h223_al_type_al1Framed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1Framed },
7718   {   2, &hf_h245_h223_al_type_al1NotFramed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1NotFramed },
7719   {   3, &hf_h245_h223_al_type_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers },
7720   {   4, &hf_h245_h223_al_type_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithSequenceNumbers },
7721   {   5, &hf_h245_h223_al_type_al3, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al3 },
7722   {   6, &hf_h245_h223_al_type_al1M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al1M },
7723   {   7, &hf_h245_h223_al_type_al2M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al2M },
7724   {   8, &hf_h245_h223_al_type_al3M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al3M },
7725   { 0, NULL, 0, NULL }
7726 };
7727
7728 static int
7729 dissect_h245_T_adaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7730   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7731                                  ett_h245_T_adaptationLayerType, T_adaptationLayerType_choice,
7732                                  NULL);
7733
7734   return offset;
7735 }
7736
7737
7738
7739 static int
7740 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_) {
7741 #line 355 "h245.cnf"
7742   gboolean value;
7743   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &value);
7744
7745   if(h223_lc_params_temp)
7746         h223_lc_params_temp->segmentable = value;
7747
7748
7749   return offset;
7750 }
7751
7752
7753 static const per_sequence_t H223LogicalChannelParameters_sequence[] = {
7754   { &hf_h245_adaptationLayerType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_adaptationLayerType },
7755   { &hf_h245_h223_lc_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223_lc_segmentableFlag },
7756   { NULL, 0, 0, NULL }
7757 };
7758
7759 int
7760 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7761   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7762                                    ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
7763
7764   return offset;
7765 }
7766
7767
7768
7769 static int
7770 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_) {
7771 #line 184 "h245.cnf"
7772   h223_fw_lc_params = se_alloc(sizeof(h223_lc_params));
7773   h223_fw_lc_params->al_type = al_nonStandard;
7774   h223_fw_lc_params->al_params = NULL;
7775   h223_fw_lc_params->segmentable = 0;
7776   h223_fw_lc_params->subdissector = NULL;
7777   h223_lc_params_temp = h223_fw_lc_params;
7778
7779   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
7780
7781   return offset;
7782 }
7783
7784
7785 static const value_string h245_CRCLength_vals[] = {
7786   {   0, "crc8bit" },
7787   {   1, "crc16bit" },
7788   {   2, "crc32bit" },
7789   { 0, NULL }
7790 };
7791
7792 static const per_choice_t CRCLength_choice[] = {
7793   {   0, &hf_h245_crc8bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7794   {   1, &hf_h245_crc16bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7795   {   2, &hf_h245_crc32bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7796   { 0, NULL, 0, NULL }
7797 };
7798
7799 static int
7800 dissect_h245_CRCLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7801   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7802                                  ett_h245_CRCLength, CRCLength_choice,
7803                                  NULL);
7804
7805   return offset;
7806 }
7807
7808
7809 static const per_sequence_t V76HDLCParameters_sequence[] = {
7810   { &hf_h245_crcLength      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CRCLength },
7811   { &hf_h245_n401           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
7812   { &hf_h245_loopbackTestProcedure, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7813   { NULL, 0, 0, NULL }
7814 };
7815
7816 static int
7817 dissect_h245_V76HDLCParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7818   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7819                                    ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
7820
7821   return offset;
7822 }
7823
7824
7825 static const value_string h245_T_suspendResume_vals[] = {
7826   {   0, "noSuspendResume" },
7827   {   1, "suspendResumewAddress" },
7828   {   2, "suspendResumewoAddress" },
7829   { 0, NULL }
7830 };
7831
7832 static const per_choice_t T_suspendResume_choice[] = {
7833   {   0, &hf_h245_noSuspendResume, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7834   {   1, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7835   {   2, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7836   { 0, NULL, 0, NULL }
7837 };
7838
7839 static int
7840 dissect_h245_T_suspendResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7841   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7842                                  ett_h245_T_suspendResume, T_suspendResume_choice,
7843                                  NULL);
7844
7845   return offset;
7846 }
7847
7848
7849 static const value_string h245_T_recovery_vals[] = {
7850   {   0, "rej" },
7851   {   1, "sREJ" },
7852   {   2, "mSREJ" },
7853   { 0, NULL }
7854 };
7855
7856 static const per_choice_t T_recovery_choice[] = {
7857   {   0, &hf_h245_rej            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7858   {   1, &hf_h245_sREJ           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7859   {   2, &hf_h245_mSREJ          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7860   { 0, NULL, 0, NULL }
7861 };
7862
7863 static int
7864 dissect_h245_T_recovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7865   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7866                                  ett_h245_T_recovery, T_recovery_choice,
7867                                  NULL);
7868
7869   return offset;
7870 }
7871
7872
7873 static const per_sequence_t T_eRM_sequence[] = {
7874   { &hf_h245_windowSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
7875   { &hf_h245_recovery       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_recovery },
7876   { NULL, 0, 0, NULL }
7877 };
7878
7879 static int
7880 dissect_h245_T_eRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7881   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7882                                    ett_h245_T_eRM, T_eRM_sequence);
7883
7884   return offset;
7885 }
7886
7887
7888 static const value_string h245_V76LCP_mode_vals[] = {
7889   {   0, "eRM" },
7890   {   1, "uNERM" },
7891   { 0, NULL }
7892 };
7893
7894 static const per_choice_t V76LCP_mode_choice[] = {
7895   {   0, &hf_h245_eRM            , ASN1_EXTENSION_ROOT    , dissect_h245_T_eRM },
7896   {   1, &hf_h245_uNERM          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7897   { 0, NULL, 0, NULL }
7898 };
7899
7900 static int
7901 dissect_h245_V76LCP_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7902   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7903                                  ett_h245_V76LCP_mode, V76LCP_mode_choice,
7904                                  NULL);
7905
7906   return offset;
7907 }
7908
7909
7910 static const per_sequence_t V75Parameters_sequence[] = {
7911   { &hf_h245_audioHeaderPresent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7912   { NULL, 0, 0, NULL }
7913 };
7914
7915 static int
7916 dissect_h245_V75Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7917   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7918                                    ett_h245_V75Parameters, V75Parameters_sequence);
7919
7920   return offset;
7921 }
7922
7923
7924 static const per_sequence_t V76LogicalChannelParameters_sequence[] = {
7925   { &hf_h245_hdlcParameters , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76HDLCParameters },
7926   { &hf_h245_suspendResume  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_suspendResume },
7927   { &hf_h245_uIH            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7928   { &hf_h245_v76_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76LCP_mode },
7929   { &hf_h245_v75Parameters  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Parameters },
7930   { NULL, 0, 0, NULL }
7931 };
7932
7933 static int
7934 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7935   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7936                                    ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
7937
7938   return offset;
7939 }
7940
7941
7942
7943 static int
7944 dissect_h245_Ipv4_network(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7945 #line 857 "h245.cnf"
7946   tvbuff_t *value_tvb;
7947
7948   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7949                                        4, 4, FALSE, &value_tvb);
7950
7951
7952   if (upcoming_channel && upcoming_channel->upcoming_addr) {
7953     tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 4);
7954     SET_ADDRESS(&upcoming_channel->upcoming_addr->addr, AT_IPv4, 4, upcoming_channel->upcoming_addr->addr_buf);
7955   }
7956
7957
7958   return offset;
7959 }
7960
7961
7962
7963 static int
7964 dissect_h245_TsapIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7965 #line 868 "h245.cnf"
7966   guint32 tsapIdentifier;
7967
7968   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7969                                                             0U, 65535U, &tsapIdentifier, FALSE);
7970
7971
7972   if (upcoming_channel && upcoming_channel->upcoming_addr) {
7973     upcoming_channel->upcoming_addr->port = tsapIdentifier;
7974   }
7975
7976
7977   return offset;
7978 }
7979
7980
7981 static const per_sequence_t T_iPAddress_sequence[] = {
7982   { &hf_h245_ip4_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ipv4_network },
7983   { &hf_h245_tsapIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TsapIdentifier },
7984   { NULL, 0, 0, NULL }
7985 };
7986
7987 static int
7988 dissect_h245_T_iPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7989   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7990                                    ett_h245_T_iPAddress, T_iPAddress_sequence);
7991
7992   return offset;
7993 }
7994
7995
7996
7997 static int
7998 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_) {
7999   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8000                                        6, 6, FALSE, NULL);
8001
8002   return offset;
8003 }
8004
8005
8006
8007 static int
8008 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_) {
8009   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8010                                        4, 4, FALSE, NULL);
8011
8012   return offset;
8013 }
8014
8015
8016
8017 static int
8018 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_) {
8019   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8020                                        2, 2, FALSE, NULL);
8021
8022   return offset;
8023 }
8024
8025
8026 static const per_sequence_t T_iPXAddress_sequence[] = {
8027   { &hf_h245_node           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_6 },
8028   { &hf_h245_netnum         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8029   { &hf_h245_ipx_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_2 },
8030   { NULL, 0, 0, NULL }
8031 };
8032
8033 static int
8034 dissect_h245_T_iPXAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8035   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8036                                    ett_h245_T_iPXAddress, T_iPXAddress_sequence);
8037
8038   return offset;
8039 }
8040
8041
8042 static const per_sequence_t T_iP6Address_sequence[] = {
8043   { &hf_h245_ip6_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8044   { &hf_h245_ipv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8045   { NULL, 0, 0, NULL }
8046 };
8047
8048 static int
8049 dissect_h245_T_iP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8050   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8051                                    ett_h245_T_iP6Address, T_iP6Address_sequence);
8052
8053   return offset;
8054 }
8055
8056
8057 static const value_string h245_T_routing_vals[] = {
8058   {   0, "strict" },
8059   {   1, "loose" },
8060   { 0, NULL }
8061 };
8062
8063 static const per_choice_t T_routing_choice[] = {
8064   {   0, &hf_h245_strict         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8065   {   1, &hf_h245_loose          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8066   { 0, NULL, 0, NULL }
8067 };
8068
8069 static int
8070 dissect_h245_T_routing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8071   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8072                                  ett_h245_T_routing, T_routing_choice,
8073                                  NULL);
8074
8075   return offset;
8076 }
8077
8078
8079 static const per_sequence_t T_route_sequence_of[1] = {
8080   { &hf_h245_route_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8081 };
8082
8083 static int
8084 dissect_h245_T_route(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8085   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
8086                                       ett_h245_T_route, T_route_sequence_of);
8087
8088   return offset;
8089 }
8090
8091
8092 static const per_sequence_t T_iPSourceRouteAddress_sequence[] = {
8093   { &hf_h245_routing        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_routing },
8094   { &hf_h245_network        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8095   { &hf_h245_iPSrcRoute_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8096   { &hf_h245_route          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_route },
8097   { NULL, 0, 0, NULL }
8098 };
8099
8100 static int
8101 dissect_h245_T_iPSourceRouteAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8102   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8103                                    ett_h245_T_iPSourceRouteAddress, T_iPSourceRouteAddress_sequence);
8104
8105   return offset;
8106 }
8107
8108
8109 const value_string h245_UnicastAddress_vals[] = {
8110   {   0, "iPAddress" },
8111   {   1, "iPXAddress" },
8112   {   2, "iP6Address" },
8113   {   3, "netBios" },
8114   {   4, "iPSourceRouteAddress" },
8115   {   5, "nsap" },
8116   {   6, "nonStandardAddress" },
8117   { 0, NULL }
8118 };
8119
8120 static const per_choice_t UnicastAddress_choice[] = {
8121   {   0, &hf_h245_iPAddress      , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPAddress },
8122   {   1, &hf_h245_iPXAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPXAddress },
8123   {   2, &hf_h245_iP6Address     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iP6Address },
8124   {   3, &hf_h245_netBios        , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
8125   {   4, &hf_h245_iPSourceRouteAddress, ASN1_EXTENSION_ROOT    , dissect_h245_T_iPSourceRouteAddress },
8126   {   5, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8127   {   6, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8128   { 0, NULL, 0, NULL }
8129 };
8130
8131 int
8132 dissect_h245_UnicastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8133   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8134                                  ett_h245_UnicastAddress, UnicastAddress_choice,
8135                                  NULL);
8136
8137   return offset;
8138 }
8139
8140
8141 static const per_sequence_t MIPAddress_sequence[] = {
8142   { &hf_h245_mip4_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8143   { &hf_h245_multicast_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8144   { NULL, 0, 0, NULL }
8145 };
8146
8147 static int
8148 dissect_h245_MIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8149   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8150                                    ett_h245_MIPAddress, MIPAddress_sequence);
8151
8152   return offset;
8153 }
8154
8155
8156 static const per_sequence_t MIP6Address_sequence[] = {
8157   { &hf_h245_mip6_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8158   { &hf_h245_multicast_IPv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8159   { NULL, 0, 0, NULL }
8160 };
8161
8162 static int
8163 dissect_h245_MIP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8164   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8165                                    ett_h245_MIP6Address, MIP6Address_sequence);
8166
8167   return offset;
8168 }
8169
8170
8171 const value_string h245_MulticastAddress_vals[] = {
8172   {   0, "iPAddress" },
8173   {   1, "iP6Address" },
8174   {   2, "nsap" },
8175   {   3, "nonStandardAddress" },
8176   { 0, NULL }
8177 };
8178
8179 static const per_choice_t MulticastAddress_choice[] = {
8180   {   0, &hf_h245_mIPAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_MIPAddress },
8181   {   1, &hf_h245_mIP6Address    , ASN1_EXTENSION_ROOT    , dissect_h245_MIP6Address },
8182   {   2, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8183   {   3, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8184   { 0, NULL, 0, NULL }
8185 };
8186
8187 int
8188 dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8189   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8190                                  ett_h245_MulticastAddress, MulticastAddress_choice,
8191                                  NULL);
8192
8193   return offset;
8194 }
8195
8196
8197 const value_string h245_TransportAddress_vals[] = {
8198   {   0, "unicastAddress" },
8199   {   1, "multicastAddress" },
8200   { 0, NULL }
8201 };
8202
8203 static const per_choice_t TransportAddress_choice[] = {
8204   {   0, &hf_h245_unicastAddress , ASN1_EXTENSION_ROOT    , dissect_h245_UnicastAddress },
8205   {   1, &hf_h245_multicastAddress, ASN1_EXTENSION_ROOT    , dissect_h245_MulticastAddress },
8206   { 0, NULL, 0, NULL }
8207 };
8208
8209 int
8210 dissect_h245_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8211   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8212                                  ett_h245_TransportAddress, TransportAddress_choice,
8213                                  NULL);
8214
8215   return offset;
8216 }
8217
8218
8219
8220 static int
8221 dissect_h245_T_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8222 #line 887 "h245.cnf"
8223   if (upcoming_channel)
8224     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
8225
8226   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8227
8228 #line 891 "h245.cnf"
8229   if (upcoming_channel)
8230     upcoming_channel->upcoming_addr = NULL;
8231
8232   return offset;
8233 }
8234
8235
8236
8237 static int
8238 dissect_h245_T_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8239 #line 905 "h245.cnf"
8240   if (upcoming_channel)
8241     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
8242
8243   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8244
8245 #line 909 "h245.cnf"
8246   if (upcoming_channel)
8247     upcoming_channel->upcoming_addr = NULL;
8248
8249   return offset;
8250 }
8251
8252
8253
8254 static int
8255 dissect_h245_McuNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8256   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8257                                                             0U, 192U, NULL, FALSE);
8258
8259   return offset;
8260 }
8261
8262
8263
8264 static int
8265 dissect_h245_TerminalNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8266   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8267                                                             0U, 192U, NULL, FALSE);
8268
8269   return offset;
8270 }
8271
8272
8273 static const per_sequence_t TerminalLabel_sequence[] = {
8274   { &hf_h245_mcuNumber      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
8275   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
8276   { NULL, 0, 0, NULL }
8277 };
8278
8279 static int
8280 dissect_h245_TerminalLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8281   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8282                                    ett_h245_TerminalLabel, TerminalLabel_sequence);
8283
8284   return offset;
8285 }
8286
8287
8288 static const value_string h245_T_mediaPacketization_vals[] = {
8289   {   0, "h261aVideoPacketization" },
8290   {   1, "rtpPayloadType" },
8291   { 0, NULL }
8292 };
8293
8294 static const per_choice_t T_mediaPacketization_choice[] = {
8295   {   0, &hf_h245_h261aVideoPacketizationFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8296   {   1, &hf_h245_rtpPayloadType , ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPPayloadType },
8297   { 0, NULL, 0, NULL }
8298 };
8299
8300 static int
8301 dissect_h245_T_mediaPacketization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8302   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8303                                  ett_h245_T_mediaPacketization, T_mediaPacketization_choice,
8304                                  NULL);
8305
8306   return offset;
8307 }
8308
8309
8310 static const per_sequence_t H2250LogicalChannelParameters_sequence[] = {
8311   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
8312   { &hf_h245_sessionID_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8313   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
8314   { &hf_h245_mediaChannel   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaChannel },
8315   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8316   { &hf_h245_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaControlChannel },
8317   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8318   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8319   { &hf_h245_destination    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8320   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
8321   { &hf_h245_mediaPacketization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaPacketization },
8322   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
8323   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
8324   { &hf_h245_source         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8325   { NULL, 0, 0, NULL }
8326 };
8327
8328 static int
8329 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8330   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8331                                    ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
8332
8333   return offset;
8334 }
8335
8336
8337 static const value_string h245_OLC_forw_multiplexParameters_vals[] = {
8338   {   0, "h222LogicalChannelParameters" },
8339   {   1, "h223LogicalChannelParameters" },
8340   {   2, "v76LogicalChannelParameters" },
8341   {   3, "h2250LogicalChannelParameters" },
8342   {   4, "none" },
8343   { 0, NULL }
8344 };
8345
8346 static const per_choice_t OLC_forw_multiplexParameters_choice[] = {
8347   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
8348   {   1, &hf_h245_olc_fw_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_fw_h223_params },
8349   {   2, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8350   {   3, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8351   {   4, &hf_h245_none           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
8352   { 0, NULL, 0, NULL }
8353 };
8354
8355 static int
8356 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_) {
8357   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8358                                  ett_h245_OLC_forw_multiplexParameters, OLC_forw_multiplexParameters_choice,
8359                                  NULL);
8360
8361   return offset;
8362 }
8363
8364
8365 static const per_sequence_t T_forwardLogicalChannelParameters_sequence[] = {
8366   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
8367   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8368   { &hf_h245_olc_forw_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_forw_multiplexParameters },
8369   { &hf_h245_forwardLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8370   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8371   { NULL, 0, 0, NULL }
8372 };
8373
8374 static int
8375 dissect_h245_T_forwardLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8376 #line 167 "h245.cnf"
8377
8378   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
8379
8380   h245_lc_dissector = NULL;
8381   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8382                                    ett_h245_T_forwardLogicalChannelParameters, T_forwardLogicalChannelParameters_sequence);
8383
8384   if(h223_lc_params_temp && h245_lc_dissector)
8385         h223_lc_params_temp->subdissector = h245_lc_dissector;
8386   else if(h223_lc_params_temp)
8387         h223_lc_params_temp->subdissector = data_handle;
8388
8389   if (upcoming_channel && codec_type) {
8390     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8391   }
8392   upcoming_channel = NULL;
8393
8394
8395   return offset;
8396 }
8397
8398
8399
8400 static int
8401 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_) {
8402 #line 205 "h245.cnf"
8403   h223_rev_lc_params = se_alloc(sizeof(h223_lc_params));
8404   h223_rev_lc_params->al_type = al_nonStandard;
8405   h223_rev_lc_params->al_params = NULL;
8406   h223_rev_lc_params->segmentable = 0;
8407   h223_rev_lc_params->subdissector = NULL;
8408   h223_lc_params_temp = h223_rev_lc_params;
8409
8410   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
8411
8412   return offset;
8413 }
8414
8415
8416 static const value_string h245_OLC_rev_multiplexParameters_vals[] = {
8417   {   0, "h223LogicalChannelParameters" },
8418   {   1, "v76LogicalChannelParameters" },
8419   {   2, "h2250LogicalChannelParameters" },
8420   { 0, NULL }
8421 };
8422
8423 static const per_choice_t OLC_rev_multiplexParameters_choice[] = {
8424   {   0, &hf_h245_olc_rev_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_rev_h223_params },
8425   {   1, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8426   {   2, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8427   { 0, NULL, 0, NULL }
8428 };
8429
8430 static int
8431 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_) {
8432   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8433                                  ett_h245_OLC_rev_multiplexParameters, OLC_rev_multiplexParameters_choice,
8434                                  NULL);
8435
8436   return offset;
8437 }
8438
8439
8440 static const per_sequence_t OLC_reverseLogicalChannelParameters_sequence[] = {
8441   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8442   { &hf_h245_olc_rev_multiplexParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_rev_multiplexParameters },
8443   { &hf_h245_reverseLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8444   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8445   { NULL, 0, 0, NULL }
8446 };
8447
8448 static int
8449 dissect_h245_OLC_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8450 #line 193 "h245.cnf"
8451
8452   upcoming_channel = (upcoming_olc) ? &upcoming_olc->rev_lc : NULL;
8453
8454   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8455                                    ett_h245_OLC_reverseLogicalChannelParameters, OLC_reverseLogicalChannelParameters_sequence);
8456
8457         
8458   if (upcoming_channel && codec_type) {
8459     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8460   }
8461   upcoming_channel = NULL;
8462
8463
8464   return offset;
8465 }
8466
8467
8468 static const value_string h245_T_distribution_vals[] = {
8469   {   0, "unicast" },
8470   {   1, "multicast" },
8471   { 0, NULL }
8472 };
8473
8474 static const per_choice_t T_distribution_choice[] = {
8475   {   0, &hf_h245_unicast        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8476   {   1, &hf_h245_multicast      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8477   { 0, NULL, 0, NULL }
8478 };
8479
8480 static int
8481 dissect_h245_T_distribution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8482   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8483                                  ett_h245_T_distribution, T_distribution_choice,
8484                                  NULL);
8485
8486   return offset;
8487 }
8488
8489
8490
8491 static int
8492 dissect_h245_T_e164Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8493   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
8494                                                       1, 128, FALSE, "0123456789#*,", 13,
8495                                                       NULL);
8496
8497   return offset;
8498 }
8499
8500
8501 static const value_string h245_T_networkAddress_vals[] = {
8502   {   0, "q2931Address" },
8503   {   1, "e164Address" },
8504   {   2, "localAreaAddress" },
8505   { 0, NULL }
8506 };
8507
8508 static const per_choice_t T_networkAddress_choice[] = {
8509   {   0, &hf_h245_q2931Address   , ASN1_EXTENSION_ROOT    , dissect_h245_Q2931Address },
8510   {   1, &hf_h245_e164Address    , ASN1_EXTENSION_ROOT    , dissect_h245_T_e164Address },
8511   {   2, &hf_h245_localAreaAddress, ASN1_EXTENSION_ROOT    , dissect_h245_TransportAddress },
8512   { 0, NULL, 0, NULL }
8513 };
8514
8515 static int
8516 dissect_h245_T_networkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8517   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8518                                  ett_h245_T_networkAddress, T_networkAddress_choice,
8519                                  NULL);
8520
8521   return offset;
8522 }
8523
8524
8525
8526 static int
8527 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_) {
8528   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8529                                        1, 255, FALSE, NULL);
8530
8531   return offset;
8532 }
8533
8534
8535 static const value_string h245_T_t120SetupProcedure_vals[] = {
8536   {   0, "originateCall" },
8537   {   1, "waitForCall" },
8538   {   2, "issueQuery" },
8539   { 0, NULL }
8540 };
8541
8542 static const per_choice_t T_t120SetupProcedure_choice[] = {
8543   {   0, &hf_h245_originateCall  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8544   {   1, &hf_h245_waitForCall    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8545   {   2, &hf_h245_issueQuery     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8546   { 0, NULL, 0, NULL }
8547 };
8548
8549 static int
8550 dissect_h245_T_t120SetupProcedure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8551   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8552                                  ett_h245_T_t120SetupProcedure, T_t120SetupProcedure_choice,
8553                                  NULL);
8554
8555   return offset;
8556 }
8557
8558
8559 static const per_sequence_t NetworkAccessParameters_sequence[] = {
8560   { &hf_h245_distribution   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_distribution },
8561   { &hf_h245_networkAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_networkAddress },
8562   { &hf_h245_associateConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
8563   { &hf_h245_externalReference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_255 },
8564   { &hf_h245_t120SetupProcedure, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_t120SetupProcedure },
8565   { NULL, 0, 0, NULL }
8566 };
8567
8568 static int
8569 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8570   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8571                                    ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
8572
8573   return offset;
8574 }
8575
8576
8577
8578 static int
8579 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_) {
8580   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8581                                        1, 65535, FALSE, NULL);
8582
8583   return offset;
8584 }
8585
8586
8587
8588 static int
8589 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_) {
8590   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8591                                      1, 65535, FALSE, NULL);
8592
8593   return offset;
8594 }
8595
8596
8597 static const per_sequence_t EscrowData_sequence[] = {
8598   { &hf_h245_escrowID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
8599   { &hf_h245_escrowValue    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BIT_STRING_SIZE_1_65535 },
8600   { NULL, 0, 0, NULL }
8601 };
8602
8603 static int
8604 dissect_h245_EscrowData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8605   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8606                                    ett_h245_EscrowData, EscrowData_sequence);
8607
8608   return offset;
8609 }
8610
8611
8612 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of[1] = {
8613   { &hf_h245_escrowentry_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EscrowData },
8614 };
8615
8616 static int
8617 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_) {
8618   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8619                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData, SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of,
8620                                                   1, 256, FALSE);
8621
8622   return offset;
8623 }
8624
8625
8626 static const per_sequence_t EncryptionSync_sequence[] = {
8627   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
8628   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8629   { &hf_h245_h235Key        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
8630   { &hf_h245_escrowentry    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData },
8631   { &hf_h245_genericParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericParameter },
8632   { NULL, 0, 0, NULL }
8633 };
8634
8635 static int
8636 dissect_h245_EncryptionSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8637 #line 700 "h245.cnf"
8638   void *priv_data = actx->private_data;
8639   actx->private_data = gef_ctx_alloc(NULL, "EncryptionSync");
8640
8641   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8642                                    ett_h245_EncryptionSync, EncryptionSync_sequence);
8643
8644 #line 703 "h245.cnf"
8645   actx->private_data = priv_data;
8646
8647   return offset;
8648 }
8649
8650
8651 static const per_sequence_t OpenLogicalChannel_sequence[] = {
8652   { &hf_h245_olc_fw_lcn     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_fw_lcn },
8653   { &hf_h245_forwardLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_forwardLogicalChannelParameters },
8654   { &hf_h245_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_reverseLogicalChannelParameters },
8655   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
8656   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
8657   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
8658   { NULL, 0, 0, NULL }
8659 };
8660
8661 int
8662 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8663 #line 128 "h245.cnf"
8664   gint32 temp;
8665
8666   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? se_alloc0(sizeof(olc_info_t)) : NULL;
8667
8668   h223_fw_lc_num = 0;
8669   h223_lc_params_temp = NULL;
8670
8671   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8672                                    ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
8673
8674
8675   if(h223_fw_lc_num != 0 && h223_fw_lc_params) {
8676         h223_pending_olc *pending = se_alloc(sizeof(h223_pending_olc));
8677         pending->fw_channel_params = h223_fw_lc_params;
8678         pending->rev_channel_params = h223_rev_lc_params;
8679         temp = h223_fw_lc_num;
8680         if (actx->pinfo->p2p_dir > -1)
8681                 g_hash_table_insert(h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp), pending);
8682   }
8683
8684   if (upcoming_olc) {
8685     if (fast_start) {
8686       h245_setup_channels(actx->pinfo, &upcoming_olc->rev_lc);
8687     } else {
8688       g_hash_table_insert(h245_pending_olc_reqs, 
8689         se_strdup(gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->dst, &actx->pinfo->src)), 
8690         upcoming_olc);
8691     }
8692   }
8693   upcoming_olc = NULL;
8694
8695   if (h245_pi != NULL)
8696     h245_pi->msg_type = H245_OpenLogChn;
8697
8698
8699   return offset;
8700 }
8701
8702
8703 static const value_string h245_T_cLC_source_vals[] = {
8704   {   0, "user" },
8705   {   1, "lcse" },
8706   { 0, NULL }
8707 };
8708
8709 static const per_choice_t T_cLC_source_choice[] = {
8710   {   0, &hf_h245_user           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8711   {   1, &hf_h245_lcse           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8712   { 0, NULL, 0, NULL }
8713 };
8714
8715 static int
8716 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_) {
8717   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8718                                  ett_h245_T_cLC_source, T_cLC_source_choice,
8719                                  NULL);
8720
8721   return offset;
8722 }
8723
8724
8725 static const value_string h245_Clc_reason_vals[] = {
8726   {   0, "unknown" },
8727   {   1, "reopen" },
8728   {   2, "reservationFailure" },
8729   {   3, "networkErrorCode" },
8730   { 0, NULL }
8731 };
8732
8733 static const per_choice_t Clc_reason_choice[] = {
8734   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8735   {   1, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8736   {   2, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8737   {   3, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8738   { 0, NULL, 0, NULL }
8739 };
8740
8741 static int
8742 dissect_h245_Clc_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8743   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8744                                  ett_h245_Clc_reason, Clc_reason_choice,
8745                                  NULL);
8746
8747   return offset;
8748 }
8749
8750
8751 static const per_sequence_t CloseLogicalChannel_sequence[] = {
8752   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8753   { &hf_h245_cLC_source     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_cLC_source },
8754   { &hf_h245_clc_reason     , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Clc_reason },
8755   { NULL, 0, 0, NULL }
8756 };
8757
8758 static int
8759 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8760   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8761                                    ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
8762
8763 #line 559 "h245.cnf"
8764
8765 if (h245_pi != NULL)
8766   h245_pi->msg_type = H245_CloseLogChn;
8767
8768   return offset;
8769 }
8770
8771
8772 static const value_string h245_T_reason_vals[] = {
8773   {   0, "unknown" },
8774   {   1, "normal" },
8775   {   2, "reopen" },
8776   {   3, "reservationFailure" },
8777   {   4, "networkErrorCode" },
8778   { 0, NULL }
8779 };
8780
8781 static const per_choice_t T_reason_choice[] = {
8782   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8783   {   1, &hf_h245_normal         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8784   {   2, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8785   {   3, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8786   {   4, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8787   { 0, NULL, 0, NULL }
8788 };
8789
8790 static int
8791 dissect_h245_T_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8792   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8793                                  ett_h245_T_reason, T_reason_choice,
8794                                  NULL);
8795
8796   return offset;
8797 }
8798
8799
8800 static const per_sequence_t RequestChannelClose_sequence[] = {
8801   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8802   { &hf_h245_qosCapability  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSCapability },
8803   { &hf_h245_reason         , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_reason },
8804   { NULL, 0, 0, NULL }
8805 };
8806
8807 static int
8808 dissect_h245_RequestChannelClose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8809   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8810                                    ett_h245_RequestChannelClose, RequestChannelClose_sequence);
8811
8812   return offset;
8813 }
8814
8815
8816
8817 static int
8818 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8819 #line 66 "h245.cnf"
8820   guint32 value;
8821   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8822                                                             1U, 15U, &value, FALSE);
8823
8824   h223_mc = value & 0xf;
8825
8826
8827   return offset;
8828 }
8829
8830
8831
8832 static int
8833 dissect_h245_T_logicalChannelNum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8834 #line 92 "h245.cnf"
8835   /*MultiplexElement/type/logicalChannelNumber*/
8836   guint32 value;
8837   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8838                                                             0U, 65535U, &value, FALSE);
8839
8840   h223_me->sublist = NULL;
8841   h223_me->vc = value & 0xffff;
8842
8843
8844   return offset;
8845 }
8846
8847
8848 static const per_sequence_t T_subElementList_sequence_of[1] = {
8849   { &hf_h245_subElementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8850 };
8851
8852 static int
8853 dissect_h245_T_subElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8854 #line 100 "h245.cnf"
8855   h223_mux_element dummy_me, *parent_me = h223_me;
8856   h223_me = &dummy_me;
8857   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8858                                                   ett_h245_T_subElementList, T_subElementList_sequence_of,
8859                                                   2, 255, FALSE);
8860
8861   parent_me->sublist = dummy_me.next;
8862   h223_me = parent_me;
8863   h223_me->vc = 0;
8864
8865
8866   return offset;
8867 }
8868
8869
8870 static const value_string h245_Me_type_vals[] = {
8871   {   0, "logicalChannelNumber" },
8872   {   1, "subElementList" },
8873   { 0, NULL }
8874 };
8875
8876 static const per_choice_t Me_type_choice[] = {
8877   {   0, &hf_h245_logicalChannelNum, ASN1_NO_EXTENSIONS     , dissect_h245_T_logicalChannelNum },
8878   {   1, &hf_h245_subElementList , ASN1_NO_EXTENSIONS     , dissect_h245_T_subElementList },
8879   { 0, NULL, 0, NULL }
8880 };
8881
8882 static int
8883 dissect_h245_Me_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8884   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8885                                  ett_h245_Me_type, Me_type_choice,
8886                                  NULL);
8887
8888   return offset;
8889 }
8890
8891
8892
8893 static int
8894 dissect_h245_ME_finiteRepeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8895 #line 115 "h245.cnf"
8896   guint32 value;
8897   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8898                                                             1U, 65535U, &value, FALSE);
8899
8900   h223_me->repeat_count = value & 0xffff;
8901
8902
8903   return offset;
8904 }
8905
8906
8907
8908 static int
8909 dissect_h245_T_untilClosingFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8910   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
8911
8912 #line 109 "h245.cnf"
8913   h223_me->repeat_count = 0;
8914
8915   return offset;
8916 }
8917
8918
8919 static const value_string h245_ME_repeatCount_vals[] = {
8920   {   0, "finite" },
8921   {   1, "untilClosingFlag" },
8922   { 0, NULL }
8923 };
8924
8925 static const per_choice_t ME_repeatCount_choice[] = {
8926   {   0, &hf_h245_me_repeatCount_finite, ASN1_NO_EXTENSIONS     , dissect_h245_ME_finiteRepeatCount },
8927   {   1, &hf_h245_untilClosingFlag, ASN1_NO_EXTENSIONS     , dissect_h245_T_untilClosingFlag },
8928   { 0, NULL, 0, NULL }
8929 };
8930
8931 static int
8932 dissect_h245_ME_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8933   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8934                                  ett_h245_ME_repeatCount, ME_repeatCount_choice,
8935                                  NULL);
8936
8937   return offset;
8938 }
8939
8940
8941 static const per_sequence_t MultiplexElement_sequence[] = {
8942   { &hf_h245_me_type        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Me_type },
8943   { &hf_h245_me_repeatCount , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ME_repeatCount },
8944   { NULL, 0, 0, NULL }
8945 };
8946
8947 static int
8948 dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8949 #line 82 "h245.cnf"
8950   /*MultiplexElement*/
8951   h223_mux_element* me = se_alloc(sizeof(h223_mux_element));
8952   h223_me->next = me;
8953   h223_me = me;
8954   h223_me->next = NULL;
8955
8956   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8957                                    ett_h245_MultiplexElement, MultiplexElement_sequence);
8958
8959   return offset;
8960 }
8961
8962
8963 static const per_sequence_t T_elementList_sequence_of[1] = {
8964   { &hf_h245_elementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8965 };
8966
8967 static int
8968 dissect_h245_T_elementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8969 #line 72 "h245.cnf"
8970   /* create a h223_mux_element to hold onto the head of the list, since
8971    * h223_me will track the tail */
8972   h223_mux_element dummy_me;
8973   h223_me = &dummy_me;
8974   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8975                                                   ett_h245_T_elementList, T_elementList_sequence_of,
8976                                                   1, 256, FALSE);
8977
8978   /* set h223_me to the head of the list for MEDescriptor to pick up */
8979   h223_me = dummy_me.next;
8980
8981
8982   return offset;
8983 }
8984
8985
8986 static const per_sequence_t MultiplexEntryDescriptor_sequence[] = {
8987   { &hf_h245_multiplexTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
8988   { &hf_h245_elementList    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_T_elementList },
8989   { NULL, 0, 0, NULL }
8990 };
8991
8992 static int
8993 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8994 #line 54 "h245.cnf"
8995   /*MultiplexEntryDescriptor*/
8996   h223_me = NULL;
8997   h223_mc = 0;
8998   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8999                                    ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
9000
9001   if(h223_set_mc_handle)
9002     (*h223_set_mc_handle)(actx->pinfo, h223_mc, h223_me);
9003  /* stuff */
9004
9005
9006   return offset;
9007 }
9008
9009
9010 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of[1] = {
9011   { &hf_h245_multiplexEntryDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryDescriptor },
9012 };
9013
9014 static int
9015 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_) {
9016   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
9017                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor, SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of,
9018                                              1, 15, FALSE);
9019
9020   return offset;
9021 }
9022
9023
9024 static const per_sequence_t MultiplexEntrySend_sequence[] = {
9025   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
9026   { &hf_h245_multiplexEntryDescriptors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor },
9027   { NULL, 0, 0, NULL }
9028 };
9029
9030 static int
9031 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9032   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9033                                    ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
9034
9035   return offset;
9036 }
9037
9038
9039 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of[1] = {
9040   { &hf_h245_multiplexTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
9041 };
9042
9043 static int
9044 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_) {
9045   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
9046                                              ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber, SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of,
9047                                              1, 15, FALSE);
9048
9049   return offset;
9050 }
9051
9052
9053 static const per_sequence_t RequestMultiplexEntry_sequence[] = {
9054   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
9055   { NULL, 0, 0, NULL }
9056 };
9057
9058 static int
9059 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9060   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9061                                    ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
9062
9063   return offset;
9064 }
9065
9066
9067 static const value_string h245_H261Resolution_vals[] = {
9068   {   0, "qcif" },
9069   {   1, "cif" },
9070   { 0, NULL }
9071 };
9072
9073 static const per_choice_t H261Resolution_choice[] = {
9074   {   0, &hf_h245_qcif           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9075   {   1, &hf_h245_cif            , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9076   { 0, NULL, 0, NULL }
9077 };
9078
9079 static int
9080 dissect_h245_H261Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9081   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9082                                  ett_h245_H261Resolution, H261Resolution_choice,
9083                                  NULL);
9084
9085   return offset;
9086 }
9087
9088
9089 static const per_sequence_t H261VideoMode_sequence[] = {
9090   { &hf_h245_h261_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H261Resolution },
9091   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9092   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9093   { NULL, 0, 0, NULL }
9094 };
9095
9096 static int
9097 dissect_h245_H261VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9098   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9099                                    ett_h245_H261VideoMode, H261VideoMode_sequence);
9100
9101   return offset;
9102 }
9103
9104
9105 static const value_string h245_T_profileAndLevel_vals[] = {
9106   {   0, "profileAndLevel-SPatML" },
9107   {   1, "profileAndLevel-MPatLL" },
9108   {   2, "profileAndLevel-MPatML" },
9109   {   3, "profileAndLevel-MPatH-14" },
9110   {   4, "profileAndLevel-MPatHL" },
9111   {   5, "profileAndLevel-SNRatLL" },
9112   {   6, "profileAndLevel-SNRatML" },
9113   {   7, "profileAndLevel-SpatialatH-14" },
9114   {   8, "profileAndLevel-HPatML" },
9115   {   9, "profileAndLevel-HPatH-14" },
9116   {  10, "profileAndLevel-HPatHL" },
9117   { 0, NULL }
9118 };
9119
9120 static const per_choice_t T_profileAndLevel_choice[] = {
9121   {   0, &hf_h245_profileAndLevel_SPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9122   {   1, &hf_h245_profileAndLevel_MPatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9123   {   2, &hf_h245_profileAndLevel_MPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9124   {   3, &hf_h245_profileAndLevel_MPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9125   {   4, &hf_h245_profileAndLevel_MPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9126   {   5, &hf_h245_profileAndLevel_SNRatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9127   {   6, &hf_h245_profileAndLevel_SNRatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9128   {   7, &hf_h245_profileAndLevel_SpatialatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9129   {   8, &hf_h245_profileAndLevel_HPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9130   {   9, &hf_h245_profileAndLevel_HPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9131   {  10, &hf_h245_profileAndLevel_HPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9132   { 0, NULL, 0, NULL }
9133 };
9134
9135 static int
9136 dissect_h245_T_profileAndLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9137   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9138                                  ett_h245_T_profileAndLevel, T_profileAndLevel_choice,
9139                                  NULL);
9140
9141   return offset;
9142 }
9143
9144
9145 static const per_sequence_t H262VideoMode_sequence[] = {
9146   { &hf_h245_profileAndLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_profileAndLevel },
9147   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9148   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9149   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9150   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9151   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9152   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9153   { NULL, 0, 0, NULL }
9154 };
9155
9156 static int
9157 dissect_h245_H262VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9158   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9159                                    ett_h245_H262VideoMode, H262VideoMode_sequence);
9160
9161   return offset;
9162 }
9163
9164
9165 static const value_string h245_H263Resolution_vals[] = {
9166   {   0, "sqcif" },
9167   {   1, "qcif" },
9168   {   2, "cif" },
9169   {   3, "cif4" },
9170   {   4, "cif16" },
9171   {   5, "custom" },
9172   { 0, NULL }
9173 };
9174
9175 static const per_choice_t H263Resolution_choice[] = {
9176   {   0, &hf_h245_sqcif          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9177   {   1, &hf_h245_qcif           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9178   {   2, &hf_h245_cif            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9179   {   3, &hf_h245_cif4           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9180   {   4, &hf_h245_cif16          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9181   {   5, &hf_h245_custom_res     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
9182   { 0, NULL, 0, NULL }
9183 };
9184
9185 static int
9186 dissect_h245_H263Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9187   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9188                                  ett_h245_H263Resolution, H263Resolution_choice,
9189                                  NULL);
9190
9191   return offset;
9192 }
9193
9194
9195 static const per_sequence_t H263VideoMode_sequence[] = {
9196   { &hf_h245_h263_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263Resolution },
9197   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9198   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9199   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9200   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9201   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9202   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9203   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
9204   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
9205   { NULL, 0, 0, NULL }
9206 };
9207
9208 static int
9209 dissect_h245_H263VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9210   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9211                                    ett_h245_H263VideoMode, H263VideoMode_sequence);
9212
9213   return offset;
9214 }
9215
9216
9217 static const per_sequence_t IS11172VideoMode_sequence[] = {
9218   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9219   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9220   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9221   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9222   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9223   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9224   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9225   { NULL, 0, 0, NULL }
9226 };
9227
9228 static int
9229 dissect_h245_IS11172VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9230   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9231                                    ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9232
9233   return offset;
9234 }
9235
9236
9237 static const value_string h245_VideoMode_vals[] = {
9238   {   0, "nonStandard" },
9239   {   1, "h261VideoMode" },
9240   {   2, "h262VideoMode" },
9241   {   3, "h263VideoMode" },
9242   {   4, "is11172VideoMode" },
9243   {   5, "genericVideoMode" },
9244   { 0, NULL }
9245 };
9246
9247 static const per_choice_t VideoMode_choice[] = {
9248   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9249   {   1, &hf_h245_h261VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoMode },
9250   {   2, &hf_h245_h262VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoMode },
9251   {   3, &hf_h245_h263VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoMode },
9252   {   4, &hf_h245_is11172VideoMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoMode },
9253   {   5, &hf_h245_genericVideoMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9254   { 0, NULL, 0, NULL }
9255 };
9256
9257 static int
9258 dissect_h245_VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9259 #line 523 "h245.cnf"
9260   gint32 value;
9261
9262   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9263                                  ett_h245_VideoMode, VideoMode_choice,
9264                                  &value);
9265
9266   codec_type = val_to_str(value, h245_VideoMode_vals, "<unknown>");
9267                 if (h245_pi != NULL) 
9268                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_VideoMode_vals, "ukn"));
9269
9270
9271   return offset;
9272 }
9273
9274
9275 static const value_string h245_Mode_g7231_vals[] = {
9276   {   0, "noSilenceSuppressionLowRate" },
9277   {   1, "noSilenceSuppressionHighRate" },
9278   {   2, "silenceSuppressionLowRate" },
9279   {   3, "silenceSuppressionHighRate" },
9280   { 0, NULL }
9281 };
9282
9283 static const per_choice_t Mode_g7231_choice[] = {
9284   {   0, &hf_h245_noSilenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9285   {   1, &hf_h245_noSilenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9286   {   2, &hf_h245_silenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9287   {   3, &hf_h245_silenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9288   { 0, NULL, 0, NULL }
9289 };
9290
9291 static int
9292 dissect_h245_Mode_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9293   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9294                                  ett_h245_Mode_g7231, Mode_g7231_choice,
9295                                  NULL);
9296
9297   return offset;
9298 }
9299
9300
9301 static const value_string h245_T_audioLayer_vals[] = {
9302   {   0, "audioLayer1" },
9303   {   1, "audioLayer2" },
9304   {   2, "audioLayer3" },
9305   { 0, NULL }
9306 };
9307
9308 static const per_choice_t T_audioLayer_choice[] = {
9309   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9310   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9311   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9312   { 0, NULL, 0, NULL }
9313 };
9314
9315 static int
9316 dissect_h245_T_audioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9317   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9318                                  ett_h245_T_audioLayer, T_audioLayer_choice,
9319                                  NULL);
9320
9321   return offset;
9322 }
9323
9324
9325 static const value_string h245_T_audioSampling_vals[] = {
9326   {   0, "audioSampling32k" },
9327   {   1, "audioSampling44k1" },
9328   {   2, "audioSampling48k" },
9329   { 0, NULL }
9330 };
9331
9332 static const per_choice_t T_audioSampling_choice[] = {
9333   {   0, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9334   {   1, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9335   {   2, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9336   { 0, NULL, 0, NULL }
9337 };
9338
9339 static int
9340 dissect_h245_T_audioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9341   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9342                                  ett_h245_T_audioSampling, T_audioSampling_choice,
9343                                  NULL);
9344
9345   return offset;
9346 }
9347
9348
9349 static const value_string h245_IS11172_multichannelType_vals[] = {
9350   {   0, "singleChannel" },
9351   {   1, "twoChannelStereo" },
9352   {   2, "twoChannelDual" },
9353   { 0, NULL }
9354 };
9355
9356 static const per_choice_t IS11172_multichannelType_choice[] = {
9357   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9358   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9359   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9360   { 0, NULL, 0, NULL }
9361 };
9362
9363 static int
9364 dissect_h245_IS11172_multichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9365   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9366                                  ett_h245_IS11172_multichannelType, IS11172_multichannelType_choice,
9367                                  NULL);
9368
9369   return offset;
9370 }
9371
9372
9373 static const per_sequence_t IS11172AudioMode_sequence[] = {
9374   { &hf_h245_audioLayer     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioLayer },
9375   { &hf_h245_audioSampling  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioSampling },
9376   { &hf_h245_is11172multichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS11172_multichannelType },
9377   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
9378   { NULL, 0, 0, NULL }
9379 };
9380
9381 static int
9382 dissect_h245_IS11172AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9383   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9384                                    ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
9385
9386   return offset;
9387 }
9388
9389
9390 static const value_string h245_IS13818AudioLayer_vals[] = {
9391   {   0, "audioLayer1" },
9392   {   1, "audioLayer2" },
9393   {   2, "audioLayer3" },
9394   { 0, NULL }
9395 };
9396
9397 static const per_choice_t IS13818AudioLayer_choice[] = {
9398   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9399   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9400   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9401   { 0, NULL, 0, NULL }
9402 };
9403
9404 static int
9405 dissect_h245_IS13818AudioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9406   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9407                                  ett_h245_IS13818AudioLayer, IS13818AudioLayer_choice,
9408                                  NULL);
9409
9410   return offset;
9411 }
9412
9413
9414 static const value_string h245_IS13818AudioSampling_vals[] = {
9415   {   0, "audioSampling16k" },
9416   {   1, "audioSampling22k05" },
9417   {   2, "audioSampling24k" },
9418   {   3, "audioSampling32k" },
9419   {   4, "audioSampling44k1" },
9420   {   5, "audioSampling48k" },
9421   { 0, NULL }
9422 };
9423
9424 static const per_choice_t IS13818AudioSampling_choice[] = {
9425   {   0, &hf_h245_audioSampling16kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9426   {   1, &hf_h245_audioSampling22k05Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9427   {   2, &hf_h245_audioSampling24kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9428   {   3, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9429   {   4, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9430   {   5, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9431   { 0, NULL, 0, NULL }
9432 };
9433
9434 static int
9435 dissect_h245_IS13818AudioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9436   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9437                                  ett_h245_IS13818AudioSampling, IS13818AudioSampling_choice,
9438                                  NULL);
9439
9440   return offset;
9441 }
9442
9443
9444 static const value_string h245_IS13818MultichannelType_vals[] = {
9445   {   0, "singleChannel" },
9446   {   1, "twoChannelStereo" },
9447   {   2, "twoChannelDual" },
9448   {   3, "threeChannels2-1" },
9449   {   4, "threeChannels3-0" },
9450   {   5, "fourChannels2-0-2-0" },
9451   {   6, "fourChannels2-2" },
9452   {   7, "fourChannels3-1" },
9453   {   8, "fiveChannels3-0-2-0" },
9454   {   9, "fiveChannels3-2" },
9455   { 0, NULL }
9456 };
9457
9458 static const per_choice_t IS13818MultichannelType_choice[] = {
9459   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9460   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9461   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9462   {   3, &hf_h245_threeChannels2_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9463   {   4, &hf_h245_threeChannels3_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9464   {   5, &hf_h245_fourChannels2_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9465   {   6, &hf_h245_fourChannels2_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9466   {   7, &hf_h245_fourChannels3_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9467   {   8, &hf_h245_fiveChannels3_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9468   {   9, &hf_h245_fiveChannels3_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9469   { 0, NULL, 0, NULL }
9470 };
9471
9472 static int
9473 dissect_h245_IS13818MultichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9474   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9475                                  ett_h245_IS13818MultichannelType, IS13818MultichannelType_choice,
9476                                  NULL);
9477
9478   return offset;
9479 }
9480
9481
9482 static const per_sequence_t IS13818AudioMode_sequence[] = {
9483   { &hf_h245_audioLayerMode , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioLayer },
9484   { &hf_h245_audioSamplingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioSampling },
9485   { &hf_h245_is13818MultichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818MultichannelType },
9486   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9487   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9488   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
9489   { NULL, 0, 0, NULL }
9490 };
9491
9492 static int
9493 dissect_h245_IS13818AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9494   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9495                                    ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
9496
9497   return offset;
9498 }
9499
9500
9501 static const per_sequence_t G7231AnnexCMode_sequence[] = {
9502   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
9503   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9504   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_G723AnnexCAudioMode },
9505   { NULL, 0, 0, NULL }
9506 };
9507
9508 static int
9509 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9510   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9511                                    ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9512
9513   return offset;
9514 }
9515
9516
9517 static const per_sequence_t VBDMode_sequence[] = {
9518   { &hf_h245_vbd_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioMode },
9519   { NULL, 0, 0, NULL }
9520 };
9521
9522 static int
9523 dissect_h245_VBDMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9524   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9525                                    ett_h245_VBDMode, VBDMode_sequence);
9526
9527   return offset;
9528 }
9529
9530
9531 static const value_string h245_AudioMode_vals[] = {
9532   {   0, "nonStandard" },
9533   {   1, "g711Alaw64k" },
9534   {   2, "g711Alaw56k" },
9535   {   3, "g711Ulaw64k" },
9536   {   4, "g711Ulaw56k" },
9537   {   5, "g722-64k" },
9538   {   6, "g722-56k" },
9539   {   7, "g722-48k" },
9540   {   8, "g728" },
9541   {   9, "g729" },
9542   {  10, "g729AnnexA" },
9543   {  11, "g7231" },
9544   {  12, "is11172AudioMode" },
9545   {  13, "is13818AudioMode" },
9546   {  14, "g729wAnnexB" },
9547   {  15, "g729AnnexAwAnnexB" },
9548   {  16, "g7231AnnexCMode" },
9549   {  17, "gsmFullRate" },
9550   {  18, "gsmHalfRate" },
9551   {  19, "gsmEnhancedFullRate" },
9552   {  20, "genericAudioMode" },
9553   {  21, "g729Extensions" },
9554   {  22, "vbd" },
9555   { 0, NULL }
9556 };
9557
9558 static const per_choice_t AudioMode_choice[] = {
9559   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9560   {   1, &hf_h245_g711Alaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9561   {   2, &hf_h245_g711Alaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9562   {   3, &hf_h245_g711Ulaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9563   {   4, &hf_h245_g711Ulaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9564   {   5, &hf_h245_g722_64k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9565   {   6, &hf_h245_g722_56k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9566   {   7, &hf_h245_g722_48k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9567   {   8, &hf_h245_g728_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9568   {   9, &hf_h245_g729_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9569   {  10, &hf_h245_g729AnnexA_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9570   {  11, &hf_h245_g7231_mode     , ASN1_EXTENSION_ROOT    , dissect_h245_Mode_g7231 },
9571   {  12, &hf_h245_is11172AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioMode },
9572   {  13, &hf_h245_is13818AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioMode },
9573   {  14, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9574   {  15, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9575   {  16, &hf_h245_g7231AnnexCMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCMode },
9576   {  17, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9577   {  18, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9578   {  19, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9579   {  20, &hf_h245_genericAudioMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9580   {  21, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
9581   {  22, &hf_h245_vbd_mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDMode },
9582   { 0, NULL, 0, NULL }
9583 };
9584
9585 static int
9586 dissect_h245_AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9587 #line 514 "h245.cnf"
9588   gint32 value;
9589
9590   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9591                                  ett_h245_AudioMode, AudioMode_choice,
9592                                  &value);
9593
9594   codec_type = val_to_str(value, h245_AudioMode_vals, "<unknown>");
9595                 if (h245_pi != NULL) 
9596                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_AudioMode_vals, "ukn"));
9597
9598
9599   return offset;
9600 }
9601
9602
9603 static const per_sequence_t T38faxApp_sequence[] = {
9604   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
9605   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
9606   { NULL, 0, 0, NULL }
9607 };
9608
9609 static int
9610 dissect_h245_T38faxApp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9611   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9612                                    ett_h245_T38faxApp, T38faxApp_sequence);
9613
9614   return offset;
9615 }
9616
9617
9618 static const value_string h245_DataModeApplication_vals[] = {
9619   {   0, "nonStandard" },
9620   {   1, "t120" },
9621   {   2, "dsm-cc" },
9622   {   3, "userData" },
9623   {   4, "t84" },
9624   {   5, "t434" },
9625   {   6, "h224" },
9626   {   7, "nlpid" },
9627   {   8, "dsvdControl" },
9628   {   9, "h222DataPartitioning" },
9629   {  10, "t30fax" },
9630   {  11, "t140" },
9631   {  12, "t38fax" },
9632   {  13, "genericDataMode" },
9633   { 0, NULL }
9634 };
9635
9636 static const per_choice_t DataModeApplication_choice[] = {
9637   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9638   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9639   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9640   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9641   {   4, &hf_h245_t84DataProtocolCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9642   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9643   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9644   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
9645   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9646   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9647   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9648   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9649   {  12, &hf_h245_t38faxDataProtocolCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T38faxApp },
9650   {  13, &hf_h245_genericDataMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9651   { 0, NULL, 0, NULL }
9652 };
9653
9654 static int
9655 dissect_h245_DataModeApplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9656 #line 532 "h245.cnf"
9657   gint32 value;
9658
9659   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9660                                  ett_h245_DataModeApplication, DataModeApplication_choice,
9661                                  &value);
9662
9663   codec_type = val_to_str(value, h245_DataModeApplication_vals, "<unknown>");
9664                 if (h245_pi != NULL) 
9665                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_DataModeApplication_vals, "ukn"));
9666
9667
9668   return offset;
9669 }
9670
9671
9672 static const per_sequence_t DataMode_sequence[] = {
9673   { &hf_h245_datamodeapplication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataModeApplication },
9674   { &hf_h245_bitRate_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
9675   { NULL, 0, 0, NULL }
9676 };
9677
9678 static int
9679 dissect_h245_DataMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9680   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9681                                    ett_h245_DataMode, DataMode_sequence);
9682
9683   return offset;
9684 }
9685
9686
9687 static const value_string h245_T_mediaMode_vals[] = {
9688   {   0, "nonStandard" },
9689   {   1, "videoMode" },
9690   {   2, "audioMode" },
9691   {   3, "dataMode" },
9692   { 0, NULL }
9693 };
9694
9695 static const per_choice_t T_mediaMode_choice[] = {
9696   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9697   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9698   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9699   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9700   { 0, NULL, 0, NULL }
9701 };
9702
9703 static int
9704 dissect_h245_T_mediaMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9705   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9706                                  ett_h245_T_mediaMode, T_mediaMode_choice,
9707                                  NULL);
9708
9709   return offset;
9710 }
9711
9712
9713 static const per_sequence_t H235Mode_sequence[] = {
9714   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
9715   { &hf_h245_mediaMode      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaMode },
9716   { NULL, 0, 0, NULL }
9717 };
9718
9719 static int
9720 dissect_h245_H235Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9721   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9722                                    ett_h245_H235Mode, H235Mode_sequence);
9723
9724   return offset;
9725 }
9726
9727
9728 static const per_sequence_t FECMode_sequence[] = {
9729   { &hf_h245_protectedElement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9730   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
9731   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
9732   { NULL, 0, 0, NULL }
9733 };
9734
9735 static int
9736 dissect_h245_FECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9737   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9738                                    ett_h245_FECMode, FECMode_sequence);
9739
9740   return offset;
9741 }
9742
9743
9744 static const value_string h245_Re_type_vals[] = {
9745   {   0, "nonStandard" },
9746   {   1, "videoMode" },
9747   {   2, "audioMode" },
9748   {   3, "dataMode" },
9749   {   4, "encryptionMode" },
9750   {   5, "h235Mode" },
9751   {   6, "fecMode" },
9752   { 0, NULL }
9753 };
9754
9755 static const per_choice_t Re_type_choice[] = {
9756   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9757   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9758   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9759   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9760   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9761   {   5, &hf_h245_h235Mode       , ASN1_EXTENSION_ROOT    , dissect_h245_H235Mode },
9762   {   6, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9763   { 0, NULL, 0, NULL }
9764 };
9765
9766 static int
9767 dissect_h245_Re_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9768   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9769                                  ett_h245_Re_type, Re_type_choice,
9770                                  NULL);
9771
9772   return offset;
9773 }
9774
9775
9776 static const per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
9777   { &hf_h245_re_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Re_type },
9778   { NULL, 0, 0, NULL }
9779 };
9780
9781 static int
9782 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9783   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9784                                    ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
9785
9786   return offset;
9787 }
9788
9789
9790 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of[1] = {
9791   { &hf_h245_secondaryDTM_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9792 };
9793
9794 static int
9795 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_) {
9796   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9797                                       ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement, SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of);
9798
9799   return offset;
9800 }
9801
9802
9803 static const per_sequence_t RedundancyEncodingDTMode_sequence[] = {
9804   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
9805   { &hf_h245_prmary_dtmode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9806   { &hf_h245_secondaryDTM   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement },
9807   { NULL, 0, 0, NULL }
9808 };
9809
9810 static int
9811 dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9812   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9813                                    ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
9814
9815   return offset;
9816 }
9817
9818
9819 static const per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
9820   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9821   { NULL, 0, 0, NULL }
9822 };
9823
9824 static int
9825 dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9826   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9827                                    ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
9828
9829   return offset;
9830 }
9831
9832
9833 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of[1] = {
9834   { &hf_h245_mpsmElements_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElementMode },
9835 };
9836
9837 static int
9838 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_) {
9839   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9840                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode, SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of);
9841
9842   return offset;
9843 }
9844
9845
9846 static const per_sequence_t MultiplePayloadStreamMode_sequence[] = {
9847   { &hf_h245_mpsmElements   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode },
9848   { NULL, 0, 0, NULL }
9849 };
9850
9851 static int
9852 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9853   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9854                                    ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
9855
9856   return offset;
9857 }
9858
9859
9860 static const value_string h245_FEC_mode_vals[] = {
9861   {   0, "redundancyEncoding" },
9862   {   1, "separateStream" },
9863   { 0, NULL }
9864 };
9865
9866 static const per_choice_t FEC_mode_choice[] = {
9867   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9868   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
9869   { 0, NULL, 0, NULL }
9870 };
9871
9872 static int
9873 dissect_h245_FEC_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9874   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9875                                  ett_h245_FEC_mode, FEC_mode_choice,
9876                                  NULL);
9877
9878   return offset;
9879 }
9880
9881
9882 static const per_sequence_t T_rfc2733Mode_sequence[] = {
9883   { &hf_h245_fec_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FEC_mode },
9884   { NULL, 0, 0, NULL }
9885 };
9886
9887 static int
9888 dissect_h245_T_rfc2733Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9889   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9890                                    ett_h245_T_rfc2733Mode, T_rfc2733Mode_sequence);
9891
9892   return offset;
9893 }
9894
9895
9896 static const value_string h245_DepFECMode_vals[] = {
9897   {   0, "rfc2733Mode" },
9898   { 0, NULL }
9899 };
9900
9901 static const per_choice_t DepFECMode_choice[] = {
9902   {   0, &hf_h245_rfc2733Mode    , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733Mode },
9903   { 0, NULL, 0, NULL }
9904 };
9905
9906 static int
9907 dissect_h245_DepFECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9908   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9909                                  ett_h245_DepFECMode, DepFECMode_choice,
9910                                  NULL);
9911
9912   return offset;
9913 }
9914
9915
9916 static const value_string h245_ModeElementType_vals[] = {
9917   {   0, "nonStandard" },
9918   {   1, "videoMode" },
9919   {   2, "audioMode" },
9920   {   3, "dataMode" },
9921   {   4, "encryptionMode" },
9922   {   5, "h235Mode" },
9923   {   6, "multiplexedStreamMode" },
9924   {   7, "redundancyEncodingDTMode" },
9925   {   8, "multiplePayloadStreamMode" },
9926   {   9, "depFecMode" },
9927   {  10, "fecMode" },
9928   { 0, NULL }
9929 };
9930
9931 static const per_choice_t ModeElementType_choice[] = {
9932   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9933   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9934   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9935   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9936   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9937   {   5, &hf_h245_h235Mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Mode },
9938   {   6, &hf_h245_multiplexedStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
9939   {   7, &hf_h245_redundancyEncodingDTMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingDTMode },
9940   {   8, &hf_h245_multiplePayloadStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamMode },
9941   {   9, &hf_h245_depFecMode     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECMode },
9942   {  10, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9943   { 0, NULL, 0, NULL }
9944 };
9945
9946 static int
9947 dissect_h245_ModeElementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9948   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9949                                  ett_h245_ModeElementType, ModeElementType_choice,
9950                                  NULL);
9951
9952   return offset;
9953 }
9954
9955
9956 static const value_string h245_AdaptationLayerType_vals[] = {
9957   {   0, "nonStandard" },
9958   {   1, "al1Framed" },
9959   {   2, "al1NotFramed" },
9960   {   3, "al2WithoutSequenceNumbers" },
9961   {   4, "al2WithSequenceNumbers" },
9962   {   5, "al3" },
9963   {   6, "al1M" },
9964   {   7, "al2M" },
9965   {   8, "al3M" },
9966   { 0, NULL }
9967 };
9968
9969 static const per_choice_t AdaptationLayerType_choice[] = {
9970   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9971   {   1, &hf_h245_al1Framed      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9972   {   2, &hf_h245_al1NotFramed   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9973   {   3, &hf_h245_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9974   {   4, &hf_h245_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9975   {   5, &hf_h245_al3            , ASN1_EXTENSION_ROOT    , dissect_h245_Al3 },
9976   {   6, &hf_h245_al1M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL1MParameters },
9977   {   7, &hf_h245_al2M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL2MParameters },
9978   {   8, &hf_h245_al3M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL3MParameters },
9979   { 0, NULL, 0, NULL }
9980 };
9981
9982 static int
9983 dissect_h245_AdaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9984   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9985                                  ett_h245_AdaptationLayerType, AdaptationLayerType_choice,
9986                                  NULL);
9987
9988   return offset;
9989 }
9990
9991
9992 static const per_sequence_t H223ModeParameters_sequence[] = {
9993   { &hf_h245_adaptationLayer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AdaptationLayerType },
9994   { &hf_h245_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9995   { NULL, 0, 0, NULL }
9996 };
9997
9998 static int
9999 dissect_h245_H223ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10000   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10001                                    ett_h245_H223ModeParameters, H223ModeParameters_sequence);
10002
10003   return offset;
10004 }
10005
10006
10007 static const value_string h245_V76ModeParameters_vals[] = {
10008   {   0, "suspendResumewAddress" },
10009   {   1, "suspendResumewoAddress" },
10010   { 0, NULL }
10011 };
10012
10013 static const per_choice_t V76ModeParameters_choice[] = {
10014   {   0, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10015   {   1, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10016   { 0, NULL, 0, NULL }
10017 };
10018
10019 static int
10020 dissect_h245_V76ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10021   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10022                                  ett_h245_V76ModeParameters, V76ModeParameters_choice,
10023                                  NULL);
10024
10025   return offset;
10026 }
10027
10028
10029 static const value_string h245_T_secondaryEncodingMode_vals[] = {
10030   {   0, "nonStandard" },
10031   {   1, "audioData" },
10032   { 0, NULL }
10033 };
10034
10035 static const per_choice_t T_secondaryEncodingMode_choice[] = {
10036   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
10037   {   1, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
10038   { 0, NULL, 0, NULL }
10039 };
10040
10041 static int
10042 dissect_h245_T_secondaryEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10043   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10044                                  ett_h245_T_secondaryEncodingMode, T_secondaryEncodingMode_choice,
10045                                  NULL);
10046
10047   return offset;
10048 }
10049
10050
10051 static const per_sequence_t RedundancyEncodingMode_sequence[] = {
10052   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
10053   { &hf_h245_secondaryEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_secondaryEncodingMode },
10054   { NULL, 0, 0, NULL }
10055 };
10056
10057 static int
10058 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10059   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10060                                    ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
10061
10062   return offset;
10063 }
10064
10065
10066 static const per_sequence_t H2250ModeParameters_sequence[] = {
10067   { &hf_h245_redundancyEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingMode },
10068   { NULL, 0, 0, NULL }
10069 };
10070
10071 static int
10072 dissect_h245_H2250ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10073   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10074                                    ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
10075
10076   return offset;
10077 }
10078
10079
10080 static const per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
10081   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10082   { NULL, 0, 0, NULL }
10083 };
10084
10085 static int
10086 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10087   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10088                                    ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
10089
10090   return offset;
10091 }
10092
10093
10094 static const per_sequence_t ModeElement_sequence[] = {
10095   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
10096   { &hf_h245_h223ModeParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H223ModeParameters },
10097   { &hf_h245_v76ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_V76ModeParameters },
10098   { &hf_h245_h2250ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H2250ModeParameters },
10099   { &hf_h245_genericModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
10100   { &hf_h245_multiplexedStreamModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_MultiplexedStreamModeParameters },
10101   { &hf_h245_logicalChannelNumber, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10102   { NULL, 0, 0, NULL }
10103 };
10104
10105 static int
10106 dissect_h245_ModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10107   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10108                                    ett_h245_ModeElement, ModeElement_sequence);
10109
10110   return offset;
10111 }
10112
10113
10114 static const per_sequence_t ModeDescription_set_of[1] = {
10115   { &hf_h245_ModeDescription_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeElement },
10116 };
10117
10118 static int
10119 dissect_h245_ModeDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10120   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10121                                              ett_h245_ModeDescription, ModeDescription_set_of,
10122                                              1, 256, FALSE);
10123
10124   return offset;
10125 }
10126
10127
10128 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of[1] = {
10129   { &hf_h245_requestedModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeDescription },
10130 };
10131
10132 static int
10133 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_) {
10134   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10135                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription, SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of,
10136                                                   1, 256, FALSE);
10137
10138   return offset;
10139 }
10140
10141
10142 static const per_sequence_t RequestMode_sequence[] = {
10143   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10144   { &hf_h245_requestedModes , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription },
10145   { NULL, 0, 0, NULL }
10146 };
10147
10148 static int
10149 dissect_h245_RequestMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10150   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10151                                    ett_h245_RequestMode, RequestMode_sequence);
10152
10153   return offset;
10154 }
10155
10156
10157 static const per_sequence_t RoundTripDelayRequest_sequence[] = {
10158   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10159   { NULL, 0, 0, NULL }
10160 };
10161
10162 static int
10163 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10164   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10165                                    ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
10166
10167   return offset;
10168 }
10169
10170
10171 static const value_string h245_Mlr_type_vals[] = {
10172   {   0, "systemLoop" },
10173   {   1, "mediaLoop" },
10174   {   2, "logicalChannelLoop" },
10175   { 0, NULL }
10176 };
10177
10178 static const per_choice_t Mlr_type_choice[] = {
10179   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10180   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10181   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10182   { 0, NULL, 0, NULL }
10183 };
10184
10185 static int
10186 dissect_h245_Mlr_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10187   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10188                                  ett_h245_Mlr_type, Mlr_type_choice,
10189                                  NULL);
10190
10191   return offset;
10192 }
10193
10194
10195 static const per_sequence_t MaintenanceLoopRequest_sequence[] = {
10196   { &hf_h245_mlr_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlr_type },
10197   { NULL, 0, 0, NULL }
10198 };
10199
10200 static int
10201 dissect_h245_MaintenanceLoopRequest(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_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
10204
10205   return offset;
10206 }
10207
10208
10209 static const per_sequence_t CommunicationModeRequest_sequence[] = {
10210   { NULL, 0, 0, NULL }
10211 };
10212
10213 static int
10214 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10215   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10216                                    ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
10217
10218   return offset;
10219 }
10220
10221
10222 static const per_sequence_t Criteria_sequence[] = {
10223   { &hf_h245_field          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
10224   { &hf_h245_criteriaValue  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
10225   { NULL, 0, 0, NULL }
10226 };
10227
10228 static int
10229 dissect_h245_Criteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10230   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10231                                    ett_h245_Criteria, Criteria_sequence);
10232
10233   return offset;
10234 }
10235
10236
10237 static const per_sequence_t CertSelectionCriteria_sequence_of[1] = {
10238   { &hf_h245_CertSelectionCriteria_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Criteria },
10239 };
10240
10241 static int
10242 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10243   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10244                                                   ett_h245_CertSelectionCriteria, CertSelectionCriteria_sequence_of,
10245                                                   1, 16, FALSE);
10246
10247   return offset;
10248 }
10249
10250
10251 static const per_sequence_t T_requestTerminalCertificate_sequence[] = {
10252   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
10253   { &hf_h245_certSelectionCriteria, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_CertSelectionCriteria },
10254   { &hf_h245_sRandom        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
10255   { NULL, 0, 0, NULL }
10256 };
10257
10258 static int
10259 dissect_h245_T_requestTerminalCertificate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10260   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10261                                    ett_h245_T_requestTerminalCertificate, T_requestTerminalCertificate_sequence);
10262
10263   return offset;
10264 }
10265
10266
10267 static const value_string h245_RemoteMCRequest_vals[] = {
10268   {   0, "masterActivate" },
10269   {   1, "slaveActivate" },
10270   {   2, "deActivate" },
10271   { 0, NULL }
10272 };
10273
10274 static const per_choice_t RemoteMCRequest_choice[] = {
10275   {   0, &hf_h245_masterActivate , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10276   {   1, &hf_h245_slaveActivate  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10277   {   2, &hf_h245_deActivate     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10278   { 0, NULL, 0, NULL }
10279 };
10280
10281 static int
10282 dissect_h245_RemoteMCRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10283   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10284                                  ett_h245_RemoteMCRequest, RemoteMCRequest_choice,
10285                                  NULL);
10286
10287   return offset;
10288 }
10289
10290
10291 static const value_string h245_ConferenceRequest_vals[] = {
10292   {   0, "terminalListRequest" },
10293   {   1, "makeMeChair" },
10294   {   2, "cancelMakeMeChair" },
10295   {   3, "dropTerminal" },
10296   {   4, "requestTerminalID" },
10297   {   5, "enterH243Password" },
10298   {   6, "enterH243TerminalID" },
10299   {   7, "enterH243ConferenceID" },
10300   {   8, "enterExtensionAddress" },
10301   {   9, "requestChairTokenOwner" },
10302   {  10, "requestTerminalCertificate" },
10303   {  11, "broadcastMyLogicalChannel" },
10304   {  12, "makeTerminalBroadcaster" },
10305   {  13, "sendThisSource" },
10306   {  14, "requestAllTerminalIDs" },
10307   {  15, "remoteMCRequest" },
10308   { 0, NULL }
10309 };
10310
10311 static const per_choice_t ConferenceRequest_choice[] = {
10312   {   0, &hf_h245_terminalListRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10313   {   1, &hf_h245_makeMeChair    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10314   {   2, &hf_h245_cancelMakeMeChair, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10315   {   3, &hf_h245_dropTerminal   , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10316   {   4, &hf_h245_requestTerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10317   {   5, &hf_h245_enterH243Password, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10318   {   6, &hf_h245_enterH243TerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10319   {   7, &hf_h245_enterH243ConferenceID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10320   {   8, &hf_h245_enterExtensionAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10321   {   9, &hf_h245_requestChairTokenOwner, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10322   {  10, &hf_h245_requestTerminalCertificate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_requestTerminalCertificate },
10323   {  11, &hf_h245_broadcastMyLogicalChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelNumber },
10324   {  12, &hf_h245_makeTerminalBroadcaster, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10325   {  13, &hf_h245_sendThisSource , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10326   {  14, &hf_h245_requestAllTerminalIDs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10327   {  15, &hf_h245_remoteMCRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCRequest },
10328   { 0, NULL, 0, NULL }
10329 };
10330
10331 static int
10332 dissect_h245_ConferenceRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10333   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10334                                  ett_h245_ConferenceRequest, ConferenceRequest_choice,
10335                                  NULL);
10336
10337   return offset;
10338 }
10339
10340
10341 static const per_sequence_t CallInformationReq_sequence[] = {
10342   { &hf_h245_maxNumberOfAdditionalConnections, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
10343   { NULL, 0, 0, NULL }
10344 };
10345
10346 static int
10347 dissect_h245_CallInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10348   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10349                                    ett_h245_CallInformationReq, CallInformationReq_sequence);
10350
10351   return offset;
10352 }
10353
10354
10355
10356 static int
10357 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_) {
10358   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
10359                                           0, 40, FALSE);
10360
10361   return offset;
10362 }
10363
10364
10365
10366 static int
10367 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_) {
10368   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
10369                                           1, 40, FALSE);
10370
10371   return offset;
10372 }
10373
10374
10375 static const value_string h245_DialingInformationNetworkType_vals[] = {
10376   {   0, "nonStandard" },
10377   {   1, "n-isdn" },
10378   {   2, "gstn" },
10379   {   3, "mobile" },
10380   { 0, NULL }
10381 };
10382
10383 static const per_choice_t DialingInformationNetworkType_choice[] = {
10384   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10385   {   1, &hf_h245_n_isdn         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10386   {   2, &hf_h245_gstn           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10387   {   3, &hf_h245_mobile         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10388   { 0, NULL, 0, NULL }
10389 };
10390
10391 static int
10392 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10393   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10394                                  ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice,
10395                                  NULL);
10396
10397   return offset;
10398 }
10399
10400
10401 static const per_sequence_t SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of[1] = {
10402   { &hf_h245_networkType_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNetworkType },
10403 };
10404
10405 static int
10406 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_) {
10407   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10408                                              ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType, SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of,
10409                                              1, 255, FALSE);
10410
10411   return offset;
10412 }
10413
10414
10415 static const per_sequence_t DialingInformationNumber_sequence[] = {
10416   { &hf_h245_networkAddressNum, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NumericString_SIZE_0_40 },
10417   { &hf_h245_subAddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IA5String_SIZE_1_40 },
10418   { &hf_h245_networkType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType },
10419   { NULL, 0, 0, NULL }
10420 };
10421
10422 static int
10423 dissect_h245_DialingInformationNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10424   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10425                                    ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
10426
10427   return offset;
10428 }
10429
10430
10431 static const per_sequence_t SET_SIZE_1_65535_OF_DialingInformationNumber_set_of[1] = {
10432   { &hf_h245_differential_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNumber },
10433 };
10434
10435 static int
10436 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_) {
10437   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10438                                              ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber, SET_SIZE_1_65535_OF_DialingInformationNumber_set_of,
10439                                              1, 65535, FALSE);
10440
10441   return offset;
10442 }
10443
10444
10445 static const value_string h245_DialingInformation_vals[] = {
10446   {   0, "nonStandard" },
10447   {   1, "differential" },
10448   {   2, "infoNotAvailable" },
10449   { 0, NULL }
10450 };
10451
10452 static const per_choice_t DialingInformation_choice[] = {
10453   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10454   {   1, &hf_h245_differential   , ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber },
10455   {   2, &hf_h245_infoNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_65535 },
10456   { 0, NULL, 0, NULL }
10457 };
10458
10459 static int
10460 dissect_h245_DialingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10461   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10462                                  ett_h245_DialingInformation, DialingInformation_choice,
10463                                  NULL);
10464
10465   return offset;
10466 }
10467
10468
10469 static const per_sequence_t AddConnectionReq_sequence[] = {
10470   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10471   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
10472   { NULL, 0, 0, NULL }
10473 };
10474
10475 static int
10476 dissect_h245_AddConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10477   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10478                                    ett_h245_AddConnectionReq, AddConnectionReq_sequence);
10479
10480   return offset;
10481 }
10482
10483
10484 static const per_sequence_t ConnectionIdentifier_sequence[] = {
10485   { &hf_h245_channelTag     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10486   { &hf_h245_sequenceNum    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10487   { NULL, 0, 0, NULL }
10488 };
10489
10490 static int
10491 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10492   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10493                                    ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
10494
10495   return offset;
10496 }
10497
10498
10499 static const per_sequence_t RemoveConnectionReq_sequence[] = {
10500   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
10501   { NULL, 0, 0, NULL }
10502 };
10503
10504 static int
10505 dissect_h245_RemoveConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10506   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10507                                    ett_h245_RemoveConnectionReq, RemoveConnectionReq_sequence);
10508
10509   return offset;
10510 }
10511
10512
10513 static const value_string h245_T_requestType_vals[] = {
10514   {   0, "currentIntervalInformation" },
10515   {   1, "requestedInterval" },
10516   { 0, NULL }
10517 };
10518
10519 static const per_choice_t T_requestType_choice[] = {
10520   {   0, &hf_h245_currentIntervalInformation, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10521   {   1, &hf_h245_requestedInterval, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_65535 },
10522   { 0, NULL, 0, NULL }
10523 };
10524
10525 static int
10526 dissect_h245_T_requestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10527   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10528                                  ett_h245_T_requestType, T_requestType_choice,
10529                                  NULL);
10530
10531   return offset;
10532 }
10533
10534
10535 static const per_sequence_t MaximumHeaderIntervalReq_sequence[] = {
10536   { &hf_h245_requestType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_requestType },
10537   { NULL, 0, 0, NULL }
10538 };
10539
10540 static int
10541 dissect_h245_MaximumHeaderIntervalReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10542   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10543                                    ett_h245_MaximumHeaderIntervalReq, MaximumHeaderIntervalReq_sequence);
10544
10545   return offset;
10546 }
10547
10548
10549 static const value_string h245_MultilinkRequest_vals[] = {
10550   {   0, "nonStandard" },
10551   {   1, "callInformation" },
10552   {   2, "addConnection" },
10553   {   3, "removeConnection" },
10554   {   4, "maximumHeaderInterval" },
10555   { 0, NULL }
10556 };
10557
10558 static const per_choice_t MultilinkRequest_choice[] = {
10559   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10560   {   1, &hf_h245_callInformationReq, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationReq },
10561   {   2, &hf_h245_addConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionReq },
10562   {   3, &hf_h245_removeConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionReq },
10563   {   4, &hf_h245_maximumHeaderIntervalReq, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalReq },
10564   { 0, NULL, 0, NULL }
10565 };
10566
10567 static int
10568 dissect_h245_MultilinkRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10569   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10570                                  ett_h245_MultilinkRequest, MultilinkRequest_choice,
10571                                  NULL);
10572
10573   return offset;
10574 }
10575
10576
10577
10578 static int
10579 dissect_h245_MaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10580   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10581                                                             0U, 4294967295U, NULL, FALSE);
10582
10583   return offset;
10584 }
10585
10586
10587 static const per_sequence_t LogicalChannelRateRequest_sequence[] = {
10588   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10589   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10590   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
10591   { NULL, 0, 0, NULL }
10592 };
10593
10594 static int
10595 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10596   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10597                                    ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
10598
10599   return offset;
10600 }
10601
10602
10603 static const value_string h245_RequestMessage_vals[] = {
10604   { RequestMessage_nonStandard, "nonStandard" },
10605   { RequestMessage_masterSlaveDetermination, "masterSlaveDetermination" },
10606   { RequestMessage_terminalCapabilitySet, "terminalCapabilitySet" },
10607   { RequestMessage_openLogicalChannel, "openLogicalChannel" },
10608   { RequestMessage_closeLogicalChannel, "closeLogicalChannel" },
10609   { RequestMessage_requestChannelClose, "requestChannelClose" },
10610   { RequestMessage_multiplexEntrySend, "multiplexEntrySend" },
10611   { RequestMessage_requestMultiplexEntry, "requestMultiplexEntry" },
10612   { RequestMessage_requestMode, "requestMode" },
10613   { RequestMessage_roundTripDelayRequest, "roundTripDelayRequest" },
10614   { RequestMessage_maintenanceLoopRequest, "maintenanceLoopRequest" },
10615   { RequestMessage_communicationModeRequest, "communicationModeRequest" },
10616   { RequestMessage_conferenceRequest, "conferenceRequest" },
10617   { RequestMessage_multilinkRequest, "multilinkRequest" },
10618   { RequestMessage_logicalChannelRateRequest, "logicalChannelRateRequest" },
10619   { RequestMessage_genericRequest, "genericRequest" },
10620   { 0, NULL }
10621 };
10622
10623 static const per_choice_t RequestMessage_choice[] = {
10624   { RequestMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10625   { RequestMessage_masterSlaveDetermination, &hf_h245_masterSlaveDetermination, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDetermination },
10626   { RequestMessage_terminalCapabilitySet, &hf_h245_terminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySet },
10627   { RequestMessage_openLogicalChannel, &hf_h245_openLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannel },
10628   { RequestMessage_closeLogicalChannel, &hf_h245_closeLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannel },
10629   { RequestMessage_requestChannelClose, &hf_h245_requestChannelClose, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelClose },
10630   { RequestMessage_multiplexEntrySend, &hf_h245_multiplexEntrySend, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySend },
10631   { RequestMessage_requestMultiplexEntry, &hf_h245_requestMultiplexEntry, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntry },
10632   { RequestMessage_requestMode, &hf_h245_requestMode    , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMode },
10633   { RequestMessage_roundTripDelayRequest, &hf_h245_roundTripDelayRequest, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayRequest },
10634   { RequestMessage_maintenanceLoopRequest, &hf_h245_maintenanceLoopRequest, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopRequest },
10635   { RequestMessage_communicationModeRequest, &hf_h245_communicationModeRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeRequest },
10636   { RequestMessage_conferenceRequest, &hf_h245_conferenceRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceRequest },
10637   { RequestMessage_multilinkRequest, &hf_h245_multilinkRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkRequest },
10638   { RequestMessage_logicalChannelRateRequest, &hf_h245_logicalChannelRateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRequest },
10639   { RequestMessage_genericRequest, &hf_h245_genericRequest , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
10640   { 0, NULL, 0, NULL }
10641 };
10642
10643 static int
10644 dissect_h245_RequestMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10645 #line 366 "h245.cnf"
10646   gint32 value;
10647
10648   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10649                                  ett_h245_RequestMessage, RequestMessage_choice,
10650                                  &value);
10651
10652         if (check_col(actx->pinfo->cinfo, COL_INFO)){
10653                 if ( h245_shorttypes == TRUE )
10654                 {
10655                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
10656                                 val_to_str(value, h245_RequestMessage_short_vals, "<unknown>"));
10657                 }
10658                 else
10659                 {
10660                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
10661                                 val_to_str(value, h245_RequestMessage_vals, "<unknown>"));
10662                 }
10663         }
10664
10665         if (( check_col(actx->pinfo->cinfo, COL_INFO)) && ( codec_type != NULL ) && ( value == RequestMessage_openLogicalChannel) ){
10666                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%s) ", codec_type );
10667         }
10668
10669         col_set_fence(actx->pinfo->cinfo,COL_INFO);
10670
10671     /* Add to packet info */
10672         if (h245_pi == NULL)
10673                 return offset;
10674
10675     /* if it is TCS*/
10676     if ((codec_type != NULL) && ( value == RequestMessage_terminalCapabilitySet))
10677                 g_snprintf(h245_pi->frame_label, 50, "%s (%s) ",val_to_str(value, h245_RequestMessage_short_vals, "UKN"), h245_pi->frame_label);
10678     else
10679                 g_snprintf(h245_pi->frame_label, 50, "%s ", val_to_str(value, h245_RequestMessage_short_vals, "UKN"));
10680
10681         g_strlcat(h245_pi->comment, val_to_str(value, h245_RequestMessage_vals, "<unknown>"), 50);
10682
10683     /* if it is OLC or RM*/
10684     if ((codec_type != NULL) && (( value == RequestMessage_openLogicalChannel) || ( value == RequestMessage_requestMode)))
10685                 g_snprintf(h245_pi->frame_label, 50, "%s (%s) ", h245_pi->frame_label, codec_type);
10686
10687
10688   return offset;
10689 }
10690
10691
10692 static const value_string h245_T_decision_vals[] = {
10693   {   0, "master" },
10694   {   1, "slave" },
10695   { 0, NULL }
10696 };
10697
10698 static const per_choice_t T_decision_choice[] = {
10699   {   0, &hf_h245_master         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10700   {   1, &hf_h245_slave          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10701   { 0, NULL, 0, NULL }
10702 };
10703
10704 static int
10705 dissect_h245_T_decision(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10706   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10707                                  ett_h245_T_decision, T_decision_choice,
10708                                  NULL);
10709
10710   return offset;
10711 }
10712
10713
10714 static const per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
10715   { &hf_h245_decision       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_decision },
10716   { NULL, 0, 0, NULL }
10717 };
10718
10719 static int
10720 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10721   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10722                                    ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
10723
10724 #line 541 "h245.cnf"
10725
10726 if (h245_pi != NULL)
10727   h245_pi->msg_type = H245_MastSlvDetAck;
10728
10729   return offset;
10730 }
10731
10732
10733 static const value_string h245_MasterSlaveDeterminationRejectCause_vals[] = {
10734   {   0, "identicalNumbers" },
10735   { 0, NULL }
10736 };
10737
10738 static const per_choice_t MasterSlaveDeterminationRejectCause_choice[] = {
10739   {   0, &hf_h245_identicalNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10740   { 0, NULL, 0, NULL }
10741 };
10742
10743 static int
10744 dissect_h245_MasterSlaveDeterminationRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10745   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10746                                  ett_h245_MasterSlaveDeterminationRejectCause, MasterSlaveDeterminationRejectCause_choice,
10747                                  NULL);
10748
10749   return offset;
10750 }
10751
10752
10753 static const per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
10754   { &hf_h245_msd_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MasterSlaveDeterminationRejectCause },
10755   { NULL, 0, 0, NULL }
10756 };
10757
10758 static int
10759 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10760   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10761                                    ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
10762
10763 #line 547 "h245.cnf"
10764
10765 if (h245_pi != NULL)
10766   h245_pi->msg_type = H245_MastSlvDetRjc;
10767
10768   return offset;
10769 }
10770
10771
10772 static const per_sequence_t TerminalCapabilitySetAck_sequence[] = {
10773   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10774   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10775   { NULL, 0, 0, NULL }
10776 };
10777
10778 static int
10779 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10780   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10781                                    ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
10782
10783 #line 577 "h245.cnf"
10784
10785 if (h245_pi != NULL)
10786   h245_pi->msg_type = H245_TermCapSetAck;
10787
10788   return offset;
10789 }
10790
10791
10792 static const value_string h245_T_tableEntryCapacityExceeded_vals[] = {
10793   {   0, "highestEntryNumberProcessed" },
10794   {   1, "noneProcessed" },
10795   { 0, NULL }
10796 };
10797
10798 static const per_choice_t T_tableEntryCapacityExceeded_choice[] = {
10799   {   0, &hf_h245_highestEntryNumberProcessed, ASN1_NO_EXTENSIONS     , dissect_h245_CapabilityTableEntryNumber },
10800   {   1, &hf_h245_noneProcessed  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10801   { 0, NULL, 0, NULL }
10802 };
10803
10804 static int
10805 dissect_h245_T_tableEntryCapacityExceeded(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10806   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10807                                  ett_h245_T_tableEntryCapacityExceeded, T_tableEntryCapacityExceeded_choice,
10808                                  NULL);
10809
10810   return offset;
10811 }
10812
10813
10814 static const value_string h245_TerminalCapabilitySetRejectCause_vals[] = {
10815   {   0, "unspecified" },
10816   {   1, "undefinedTableEntryUsed" },
10817   {   2, "descriptorCapacityExceeded" },
10818   {   3, "tableEntryCapacityExceeded" },
10819   { 0, NULL }
10820 };
10821
10822 static const per_choice_t TerminalCapabilitySetRejectCause_choice[] = {
10823   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10824   {   1, &hf_h245_undefinedTableEntryUsed, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10825   {   2, &hf_h245_descriptorCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10826   {   3, &hf_h245_tableEntryCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_T_tableEntryCapacityExceeded },
10827   { 0, NULL, 0, NULL }
10828 };
10829
10830 static int
10831 dissect_h245_TerminalCapabilitySetRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10832   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10833                                  ett_h245_TerminalCapabilitySetRejectCause, TerminalCapabilitySetRejectCause_choice,
10834                                  NULL);
10835
10836   return offset;
10837 }
10838
10839
10840 static const per_sequence_t TerminalCapabilitySetReject_sequence[] = {
10841   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10842   { &hf_h245_tcs_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalCapabilitySetRejectCause },
10843   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10844   { NULL, 0, 0, NULL }
10845 };
10846
10847 static int
10848 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10849   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10850                                    ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
10851
10852 #line 589 "h245.cnf"
10853
10854 if (h245_pi != NULL)
10855   h245_pi->msg_type = H245_TermCapSetRjc;
10856
10857   return offset;
10858 }
10859
10860
10861
10862 static int
10863 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_) {
10864   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10865
10866 #line 273 "h245.cnf"
10867   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
10868   h223_fw_lc_num = h245_lc_temp;
10869
10870   return offset;
10871 }
10872
10873
10874
10875 static int
10876 dissect_h245_T_reverseLogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10877   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10878
10879 #line 287 "h245.cnf"
10880   h223_rev_lc_num = h245_lc_temp;
10881
10882   return offset;
10883 }
10884
10885
10886 static const value_string h245_T_olc_ack_multiplexParameters_vals[] = {
10887   {   0, "h222LogicalChannelParameters" },
10888   {   1, "h2250LogicalChannelParameters" },
10889   { 0, NULL }
10890 };
10891
10892 static const per_choice_t T_olc_ack_multiplexParameters_choice[] = {
10893   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
10894   {   1, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
10895   { 0, NULL, 0, NULL }
10896 };
10897
10898 static int
10899 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_) {
10900   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10901                                  ett_h245_T_olc_ack_multiplexParameters, T_olc_ack_multiplexParameters_choice,
10902                                  NULL);
10903
10904   return offset;
10905 }
10906
10907
10908 static const per_sequence_t OLC_ack_reverseLogicalChannelParameters_sequence[] = {
10909   { &hf_h245_reverseLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_reverseLogicalChannelNumber },
10910   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10911   { &hf_h245_olc_ack_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_olc_ack_multiplexParameters },
10912   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10913   { NULL, 0, 0, NULL }
10914 };
10915
10916 static int
10917 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_) {
10918   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10919                                    ett_h245_OLC_ack_reverseLogicalChannelParameters, OLC_ack_reverseLogicalChannelParameters_sequence);
10920
10921   return offset;
10922 }
10923
10924
10925
10926 static int
10927 dissect_h245_Ack_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10928 #line 878 "h245.cnf"
10929   if (upcoming_channel)
10930     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
10931
10932   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10933
10934 #line 882 "h245.cnf"
10935   if (upcoming_channel)
10936     upcoming_channel->upcoming_addr = NULL;
10937
10938   return offset;
10939 }
10940
10941
10942
10943 static int
10944 dissect_h245_Ack_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10945 #line 896 "h245.cnf"
10946   if (upcoming_channel)
10947     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
10948
10949   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10950
10951 #line 900 "h245.cnf"
10952   if (upcoming_channel)
10953     upcoming_channel->upcoming_addr = NULL;
10954
10955   return offset;
10956 }
10957
10958
10959 static const per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
10960   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
10961   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
10962   { &hf_h245_ack_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaChannel },
10963   { &hf_h245_ack_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaControlChannel },
10964   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
10965   { &hf_h245_flowControlToZero, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
10966   { &hf_h245_portNumber     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10967   { NULL, 0, 0, NULL }
10968 };
10969
10970 static int
10971 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10972   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10973                                    ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
10974
10975   return offset;
10976 }
10977
10978
10979 static const value_string h245_T_forwardMultiplexAckParameters_vals[] = {
10980   {   0, "h2250LogicalChannelAckParameters" },
10981   { 0, NULL }
10982 };
10983
10984 static const per_choice_t T_forwardMultiplexAckParameters_choice[] = {
10985   {   0, &hf_h245_h2250LogicalChannelAckParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H2250LogicalChannelAckParameters },
10986   { 0, NULL, 0, NULL }
10987 };
10988
10989 static int
10990 dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10991 #line 278 "h245.cnf"
10992
10993   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
10994
10995   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10996                                  ett_h245_T_forwardMultiplexAckParameters, T_forwardMultiplexAckParameters_choice,
10997                                  NULL);
10998
10999         
11000   upcoming_channel = NULL;
11001
11002
11003   return offset;
11004 }
11005
11006
11007 static const per_sequence_t OpenLogicalChannelAck_sequence[] = {
11008   { &hf_h245_olc_ack_fw_lcn , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_ack_fw_lcn },
11009   { &hf_h245_olc_ack_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_ack_reverseLogicalChannelParameters },
11010   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
11011   { &hf_h245_forwardMultiplexAckParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_forwardMultiplexAckParameters },
11012   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
11013   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11014   { NULL, 0, 0, NULL }
11015 };
11016
11017 static int
11018 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11019 #line 217 "h245.cnf"
11020   guint32 temp;
11021   int p2p_dir;
11022   h223_pending_olc *pend;
11023   const gchar *olc_key;
11024   olc_info_t *olc_req;
11025
11026   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? ep_alloc0(sizeof(olc_info_t)) : NULL;
11027
11028   h223_fw_lc_num = 0;
11029   h223_rev_lc_num = 0;
11030         
11031   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11032                                    ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
11033
11034
11035   temp = h223_fw_lc_num;
11036   p2p_dir = actx->pinfo->p2p_dir;
11037   
11038   if(actx->pinfo->p2p_dir == P2P_DIR_SENT)
11039         actx->pinfo->p2p_dir = P2P_DIR_RECV;
11040   else
11041         actx->pinfo->p2p_dir = P2P_DIR_SENT;
11042   pend = g_hash_table_lookup( h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp) );
11043   if (pend) {
11044         DISSECTOR_ASSERT( ( h223_rev_lc_num &&  pend->rev_channel_params)
11045                                    || (!h223_rev_lc_num && !pend->rev_channel_params) );
11046         if(h223_add_lc_handle) {
11047           (*h223_add_lc_handle)( actx->pinfo, h223_fw_lc_num, pend->fw_channel_params );
11048           if(h223_rev_lc_num)
11049                 (*h223_add_lc_handle)( actx->pinfo, h223_rev_lc_num, pend->rev_channel_params );
11050         }
11051   } else {
11052         /* we missed the OpenLogicalChannel packet */
11053   }
11054   actx->pinfo->p2p_dir = p2p_dir;
11055
11056   if (upcoming_olc) {
11057     olc_key = gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->src, &actx->pinfo->dst);
11058     olc_req = g_hash_table_lookup(h245_pending_olc_reqs, olc_key);
11059     if (olc_req) {
11060       update_unicast_addr(&olc_req->fwd_lc.media_addr, &upcoming_olc->fwd_lc.media_addr);
11061       update_unicast_addr(&olc_req->fwd_lc.media_control_addr, &upcoming_olc->fwd_lc.media_control_addr);
11062       update_unicast_addr(&olc_req->rev_lc.media_addr, &upcoming_olc->rev_lc.media_addr);
11063       update_unicast_addr(&olc_req->rev_lc.media_control_addr, &upcoming_olc->rev_lc.media_control_addr);
11064       h245_setup_channels(actx->pinfo, &olc_req->fwd_lc);
11065       h245_setup_channels(actx->pinfo, &olc_req->rev_lc);
11066       g_hash_table_remove(h245_pending_olc_reqs, olc_key);
11067     } else {
11068       h245_setup_channels(actx->pinfo, &upcoming_olc->fwd_lc);
11069     }
11070   }
11071   upcoming_olc = NULL;
11072
11073   if (h245_pi != NULL)
11074         h245_pi->msg_type = H245_OpenLogChnAck;
11075
11076
11077   return offset;
11078 }
11079
11080
11081 static const value_string h245_OpenLogicalChannelRejectCause_vals[] = {
11082   {   0, "unspecified" },
11083   {   1, "unsuitableReverseParameters" },
11084   {   2, "dataTypeNotSupported" },
11085   {   3, "dataTypeNotAvailable" },
11086   {   4, "unknownDataType" },
11087   {   5, "dataTypeALCombinationNotSupported" },
11088   {   6, "multicastChannelNotAllowed" },
11089   {   7, "insufficientBandwidth" },
11090   {   8, "separateStackEstablishmentFailed" },
11091   {   9, "invalidSessionID" },
11092   {  10, "masterSlaveConflict" },
11093   {  11, "waitForCommunicationMode" },
11094   {  12, "invalidDependentChannel" },
11095   {  13, "replacementForRejected" },
11096   {  14, "securityDenied" },
11097   {  15, "qoSControlNotSupported" },
11098   { 0, NULL }
11099 };
11100
11101 static const per_choice_t OpenLogicalChannelRejectCause_choice[] = {
11102   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11103   {   1, &hf_h245_unsuitableReverseParameters, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11104   {   2, &hf_h245_dataTypeNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11105   {   3, &hf_h245_dataTypeNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11106   {   4, &hf_h245_unknownDataType, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11107   {   5, &hf_h245_dataTypeALCombinationNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11108   {   6, &hf_h245_multicastChannelNotAllowed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11109   {   7, &hf_h245_insufficientBandwidth, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11110   {   8, &hf_h245_separateStackEstablishmentFailed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11111   {   9, &hf_h245_invalidSessionID, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11112   {  10, &hf_h245_masterSlaveConflict, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11113   {  11, &hf_h245_waitForCommunicationMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11114   {  12, &hf_h245_invalidDependentChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11115   {  13, &hf_h245_replacementForRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11116   {  14, &hf_h245_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11117   {  15, &hf_h245_qoSControlNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11118   { 0, NULL, 0, NULL }
11119 };
11120
11121 static int
11122 dissect_h245_OpenLogicalChannelRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11123   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11124                                  ett_h245_OpenLogicalChannelRejectCause, OpenLogicalChannelRejectCause_choice,
11125                                  NULL);
11126
11127   return offset;
11128 }
11129
11130
11131 static const per_sequence_t OpenLogicalChannelReject_sequence[] = {
11132   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11133   { &hf_h245_olc_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OpenLogicalChannelRejectCause },
11134   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11135   { NULL, 0, 0, NULL }
11136 };
11137
11138 static int
11139 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11140   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11141                                    ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
11142
11143 #line 553 "h245.cnf"
11144
11145 if (h245_pi != NULL)
11146   h245_pi->msg_type = H245_OpenLogChnRjc;
11147
11148   return offset;
11149 }
11150
11151
11152 static const per_sequence_t CloseLogicalChannelAck_sequence[] = {
11153   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11154   { NULL, 0, 0, NULL }
11155 };
11156
11157 static int
11158 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11159   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11160                                    ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
11161
11162 #line 565 "h245.cnf"
11163
11164 if (h245_pi != NULL)
11165   h245_pi->msg_type = H245_CloseLogChnAck;
11166
11167   return offset;
11168 }
11169
11170
11171 static const per_sequence_t RequestChannelCloseAck_sequence[] = {
11172   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11173   { NULL, 0, 0, NULL }
11174 };
11175
11176 static int
11177 dissect_h245_RequestChannelCloseAck(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_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
11180
11181   return offset;
11182 }
11183
11184
11185 static const value_string h245_RequestChannelCloseRejectCause_vals[] = {
11186   {   0, "unspecified" },
11187   { 0, NULL }
11188 };
11189
11190 static const per_choice_t RequestChannelCloseRejectCause_choice[] = {
11191   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11192   { 0, NULL, 0, NULL }
11193 };
11194
11195 static int
11196 dissect_h245_RequestChannelCloseRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11197   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11198                                  ett_h245_RequestChannelCloseRejectCause, RequestChannelCloseRejectCause_choice,
11199                                  NULL);
11200
11201   return offset;
11202 }
11203
11204
11205 static const per_sequence_t RequestChannelCloseReject_sequence[] = {
11206   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11207   { &hf_h245_req_chan_clos_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestChannelCloseRejectCause },
11208   { NULL, 0, 0, NULL }
11209 };
11210
11211 static int
11212 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11213   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11214                                    ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
11215
11216   return offset;
11217 }
11218
11219
11220 static const per_sequence_t MultiplexEntrySendAck_sequence[] = {
11221   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11222   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11223   { NULL, 0, 0, NULL }
11224 };
11225
11226 static int
11227 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11228   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11229                                    ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
11230
11231   return offset;
11232 }
11233
11234
11235 static const value_string h245_MultiplexEntryRejectionDescriptionsCause_vals[] = {
11236   {   0, "unspecifiedCause" },
11237   {   1, "descriptorTooComplex" },
11238   { 0, NULL }
11239 };
11240
11241 static const per_choice_t MultiplexEntryRejectionDescriptionsCause_choice[] = {
11242   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11243   {   1, &hf_h245_descriptorTooComplex, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11244   { 0, NULL, 0, NULL }
11245 };
11246
11247 static int
11248 dissect_h245_MultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11249   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11250                                  ett_h245_MultiplexEntryRejectionDescriptionsCause, MultiplexEntryRejectionDescriptionsCause_choice,
11251                                  NULL);
11252
11253   return offset;
11254 }
11255
11256
11257 static const per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11258   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11259   { &hf_h245_mux_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptionsCause },
11260   { NULL, 0, 0, NULL }
11261 };
11262
11263 static int
11264 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11265   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11266                                    ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11267
11268   return offset;
11269 }
11270
11271
11272 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of[1] = {
11273   { &hf_h245_sendRejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptions },
11274 };
11275
11276 static int
11277 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_) {
11278   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11279                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of,
11280                                              1, 15, FALSE);
11281
11282   return offset;
11283 }
11284
11285
11286 static const per_sequence_t MultiplexEntrySendReject_sequence[] = {
11287   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11288   { &hf_h245_sendRejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions },
11289   { NULL, 0, 0, NULL }
11290 };
11291
11292 static int
11293 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11294   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11295                                    ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
11296
11297   return offset;
11298 }
11299
11300
11301 static const per_sequence_t RequestMultiplexEntryAck_sequence[] = {
11302   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11303   { NULL, 0, 0, NULL }
11304 };
11305
11306 static int
11307 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11308   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11309                                    ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
11310
11311   return offset;
11312 }
11313
11314
11315 static const value_string h245_RequestMultiplexEntryRejectionDescriptionsCause_vals[] = {
11316   {   0, "unspecifiedCause" },
11317   { 0, NULL }
11318 };
11319
11320 static const per_choice_t RequestMultiplexEntryRejectionDescriptionsCause_choice[] = {
11321   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11322   { 0, NULL, 0, NULL }
11323 };
11324
11325 static int
11326 dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11327   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11328                                  ett_h245_RequestMultiplexEntryRejectionDescriptionsCause, RequestMultiplexEntryRejectionDescriptionsCause_choice,
11329                                  NULL);
11330
11331   return offset;
11332 }
11333
11334
11335 static const per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11336   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11337   { &hf_h245_req_mux_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause },
11338   { NULL, 0, 0, NULL }
11339 };
11340
11341 static int
11342 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11343   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11344                                    ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11345
11346   return offset;
11347 }
11348
11349
11350 static const per_sequence_t SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of[1] = {
11351   { &hf_h245_rejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptions },
11352 };
11353
11354 static int
11355 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_) {
11356   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11357                                              ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of,
11358                                              1, 15, FALSE);
11359
11360   return offset;
11361 }
11362
11363
11364 static const per_sequence_t RequestMultiplexEntryReject_sequence[] = {
11365   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11366   { &hf_h245_rejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions },
11367   { NULL, 0, 0, NULL }
11368 };
11369
11370 static int
11371 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11372   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11373                                    ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
11374
11375   return offset;
11376 }
11377
11378
11379 static const value_string h245_Req_mode_ack_response_vals[] = {
11380   {   0, "willTransmitMostPreferredMode" },
11381   {   1, "willTransmitLessPreferredMode" },
11382   { 0, NULL }
11383 };
11384
11385 static const per_choice_t Req_mode_ack_response_choice[] = {
11386   {   0, &hf_h245_willTransmitMostPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11387   {   1, &hf_h245_willTransmitLessPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11388   { 0, NULL, 0, NULL }
11389 };
11390
11391 static int
11392 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_) {
11393   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11394                                  ett_h245_Req_mode_ack_response, Req_mode_ack_response_choice,
11395                                  NULL);
11396
11397   return offset;
11398 }
11399
11400
11401 static const per_sequence_t RequestModeAck_sequence[] = {
11402   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11403   { &hf_h245_req_mode_ack_response, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Req_mode_ack_response },
11404   { NULL, 0, 0, NULL }
11405 };
11406
11407 static int
11408 dissect_h245_RequestModeAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11409   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11410                                    ett_h245_RequestModeAck, RequestModeAck_sequence);
11411
11412   return offset;
11413 }
11414
11415
11416 static const value_string h245_RequestModeRejectCause_vals[] = {
11417   {   0, "modeUnavailable" },
11418   {   1, "multipointConstraint" },
11419   {   2, "requestDenied" },
11420   { 0, NULL }
11421 };
11422
11423 static const per_choice_t RequestModeRejectCause_choice[] = {
11424   {   0, &hf_h245_modeUnavailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11425   {   1, &hf_h245_multipointConstraint, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11426   {   2, &hf_h245_requestDenied  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11427   { 0, NULL, 0, NULL }
11428 };
11429
11430 static int
11431 dissect_h245_RequestModeRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11432   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11433                                  ett_h245_RequestModeRejectCause, RequestModeRejectCause_choice,
11434                                  NULL);
11435
11436   return offset;
11437 }
11438
11439
11440 static const per_sequence_t RequestModeReject_sequence[] = {
11441   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11442   { &hf_h245_req_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestModeRejectCause },
11443   { NULL, 0, 0, NULL }
11444 };
11445
11446 static int
11447 dissect_h245_RequestModeReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11448   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11449                                    ett_h245_RequestModeReject, RequestModeReject_sequence);
11450
11451   return offset;
11452 }
11453
11454
11455 static const per_sequence_t RoundTripDelayResponse_sequence[] = {
11456   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11457   { NULL, 0, 0, NULL }
11458 };
11459
11460 static int
11461 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11462   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11463                                    ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
11464
11465   return offset;
11466 }
11467
11468
11469 static const value_string h245_Mla_type_vals[] = {
11470   {   0, "systemLoop" },
11471   {   1, "mediaLoop" },
11472   {   2, "logicalChannelLoop" },
11473   { 0, NULL }
11474 };
11475
11476 static const per_choice_t Mla_type_choice[] = {
11477   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11478   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11479   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11480   { 0, NULL, 0, NULL }
11481 };
11482
11483 static int
11484 dissect_h245_Mla_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11485   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11486                                  ett_h245_Mla_type, Mla_type_choice,
11487                                  NULL);
11488
11489   return offset;
11490 }
11491
11492
11493 static const per_sequence_t MaintenanceLoopAck_sequence[] = {
11494   { &hf_h245_mla_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mla_type },
11495   { NULL, 0, 0, NULL }
11496 };
11497
11498 static int
11499 dissect_h245_MaintenanceLoopAck(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_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
11502
11503   return offset;
11504 }
11505
11506
11507 static const value_string h245_Mlrej_type_vals[] = {
11508   {   0, "systemLoop" },
11509   {   1, "mediaLoop" },
11510   {   2, "logicalChannelLoop" },
11511   { 0, NULL }
11512 };
11513
11514 static const per_choice_t Mlrej_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_Mlrej_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_Mlrej_type, Mlrej_type_choice,
11525                                  NULL);
11526
11527   return offset;
11528 }
11529
11530
11531 static const value_string h245_MaintenanceLoopRejectCause_vals[] = {
11532   {   0, "canNotPerformLoop" },
11533   { 0, NULL }
11534 };
11535
11536 static const per_choice_t MaintenanceLoopRejectCause_choice[] = {
11537   {   0, &hf_h245_canNotPerformLoop, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11538   { 0, NULL, 0, NULL }
11539 };
11540
11541 static int
11542 dissect_h245_MaintenanceLoopRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11543   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11544                                  ett_h245_MaintenanceLoopRejectCause, MaintenanceLoopRejectCause_choice,
11545                                  NULL);
11546
11547   return offset;
11548 }
11549
11550
11551 static const per_sequence_t MaintenanceLoopReject_sequence[] = {
11552   { &hf_h245_mlrej_type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlrej_type },
11553   { &hf_h245_maintloop_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaintenanceLoopRejectCause },
11554   { NULL, 0, 0, NULL }
11555 };
11556
11557 static int
11558 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11559   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11560                                    ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
11561
11562   return offset;
11563 }
11564
11565
11566
11567 static int
11568 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_) {
11569   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
11570                                           1, 128, FALSE);
11571
11572   return offset;
11573 }
11574
11575
11576 static const value_string h245_T_entryDataType_vals[] = {
11577   {   0, "videoData" },
11578   {   1, "audioData" },
11579   {   2, "data" },
11580   { 0, NULL }
11581 };
11582
11583 static const per_choice_t T_entryDataType_choice[] = {
11584   {   0, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
11585   {   1, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
11586   {   2, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
11587   { 0, NULL, 0, NULL }
11588 };
11589
11590 static int
11591 dissect_h245_T_entryDataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11592   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11593                                  ett_h245_T_entryDataType, T_entryDataType_choice,
11594                                  NULL);
11595
11596   return offset;
11597 }
11598
11599
11600
11601 static int
11602 dissect_h245_Cm_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11603   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
11604
11605   return offset;
11606 }
11607
11608
11609 static const per_sequence_t CommunicationModeTableEntry_sequence[] = {
11610   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
11611   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
11612   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11613   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11614   { &hf_h245_sessionDescription, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BMPString_SIZE_1_128 },
11615   { &hf_h245_entryDataType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_entryDataType },
11616   { &hf_h245_cm_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Cm_mediaChannel },
11617   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11618   { &hf_h245_cm_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransportAddress },
11619   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11620   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
11621   { &hf_h245_sessionDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11622   { &hf_h245_destination    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11623   { NULL, 0, 0, NULL }
11624 };
11625
11626 static int
11627 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11628   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11629                                    ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
11630
11631   return offset;
11632 }
11633
11634
11635 static const per_sequence_t SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of[1] = {
11636   { &hf_h245_communicationModeTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CommunicationModeTableEntry },
11637 };
11638
11639 static int
11640 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_) {
11641   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11642                                              ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry, SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of,
11643                                              1, 256, FALSE);
11644
11645   return offset;
11646 }
11647
11648
11649 static const value_string h245_CommunicationModeResponse_vals[] = {
11650   {   0, "communicationModeTable" },
11651   { 0, NULL }
11652 };
11653
11654 static const per_choice_t CommunicationModeResponse_choice[] = {
11655   {   0, &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
11656   { 0, NULL, 0, NULL }
11657 };
11658
11659 static int
11660 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11661   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11662                                  ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice,
11663                                  NULL);
11664
11665   return offset;
11666 }
11667
11668
11669
11670 static int
11671 dissect_h245_TerminalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11672   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11673                                        1, 128, FALSE, NULL);
11674
11675   return offset;
11676 }
11677
11678
11679 static const per_sequence_t T_mCTerminalIDResponse_sequence[] = {
11680   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11681   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11682   { NULL, 0, 0, NULL }
11683 };
11684
11685 static int
11686 dissect_h245_T_mCTerminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11687   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11688                                    ett_h245_T_mCTerminalIDResponse, T_mCTerminalIDResponse_sequence);
11689
11690   return offset;
11691 }
11692
11693
11694 static const per_sequence_t T_terminalIDResponse_sequence[] = {
11695   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11696   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11697   { NULL, 0, 0, NULL }
11698 };
11699
11700 static int
11701 dissect_h245_T_terminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11702   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11703                                    ett_h245_T_terminalIDResponse, T_terminalIDResponse_sequence);
11704
11705   return offset;
11706 }
11707
11708
11709
11710 static int
11711 dissect_h245_ConferenceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11712   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11713                                        1, 32, FALSE, NULL);
11714
11715   return offset;
11716 }
11717
11718
11719 static const per_sequence_t T_conferenceIDResponse_sequence[] = {
11720   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11721   { &hf_h245_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConferenceID },
11722   { NULL, 0, 0, NULL }
11723 };
11724
11725 static int
11726 dissect_h245_T_conferenceIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11727   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11728                                    ett_h245_T_conferenceIDResponse, T_conferenceIDResponse_sequence);
11729
11730   return offset;
11731 }
11732
11733
11734
11735 static int
11736 dissect_h245_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11737   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11738                                        1, 32, FALSE, NULL);
11739
11740   return offset;
11741 }
11742
11743
11744 static const per_sequence_t T_passwordResponse_sequence[] = {
11745   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11746   { &hf_h245_password       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Password },
11747   { NULL, 0, 0, NULL }
11748 };
11749
11750 static int
11751 dissect_h245_T_passwordResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11752   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11753                                    ett_h245_T_passwordResponse, T_passwordResponse_sequence);
11754
11755   return offset;
11756 }
11757
11758
11759 static const per_sequence_t SET_SIZE_1_256_OF_TerminalLabel_set_of[1] = {
11760   { &hf_h245_terminalListResponse_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11761 };
11762
11763 static int
11764 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_) {
11765   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11766                                              ett_h245_SET_SIZE_1_256_OF_TerminalLabel, SET_SIZE_1_256_OF_TerminalLabel_set_of,
11767                                              1, 256, FALSE);
11768
11769   return offset;
11770 }
11771
11772
11773 static const value_string h245_T_makeMeChairResponse_vals[] = {
11774   {   0, "grantedChairToken" },
11775   {   1, "deniedChairToken" },
11776   { 0, NULL }
11777 };
11778
11779 static const per_choice_t T_makeMeChairResponse_choice[] = {
11780   {   0, &hf_h245_grantedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11781   {   1, &hf_h245_deniedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11782   { 0, NULL, 0, NULL }
11783 };
11784
11785 static int
11786 dissect_h245_T_makeMeChairResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11787   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11788                                  ett_h245_T_makeMeChairResponse, T_makeMeChairResponse_choice,
11789                                  NULL);
11790
11791   return offset;
11792 }
11793
11794
11795 static const per_sequence_t T_extensionAddressResponse_sequence[] = {
11796   { &hf_h245_extensionAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11797   { NULL, 0, 0, NULL }
11798 };
11799
11800 static int
11801 dissect_h245_T_extensionAddressResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11802   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11803                                    ett_h245_T_extensionAddressResponse, T_extensionAddressResponse_sequence);
11804
11805   return offset;
11806 }
11807
11808
11809 static const per_sequence_t T_chairTokenOwnerResponse_sequence[] = {
11810   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11811   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11812   { NULL, 0, 0, NULL }
11813 };
11814
11815 static int
11816 dissect_h245_T_chairTokenOwnerResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11817   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11818                                    ett_h245_T_chairTokenOwnerResponse, T_chairTokenOwnerResponse_sequence);
11819
11820   return offset;
11821 }
11822
11823
11824 static const per_sequence_t T_terminalCertificateResponse_sequence[] = {
11825   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11826   { &hf_h245_certificateResponse, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_65535 },
11827   { NULL, 0, 0, NULL }
11828 };
11829
11830 static int
11831 dissect_h245_T_terminalCertificateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11832   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11833                                    ett_h245_T_terminalCertificateResponse, T_terminalCertificateResponse_sequence);
11834
11835   return offset;
11836 }
11837
11838
11839 static const value_string h245_T_broadcastMyLogicalChannelResponse_vals[] = {
11840   {   0, "grantedBroadcastMyLogicalChannel" },
11841   {   1, "deniedBroadcastMyLogicalChannel" },
11842   { 0, NULL }
11843 };
11844
11845 static const per_choice_t T_broadcastMyLogicalChannelResponse_choice[] = {
11846   {   0, &hf_h245_grantedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11847   {   1, &hf_h245_deniedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11848   { 0, NULL, 0, NULL }
11849 };
11850
11851 static int
11852 dissect_h245_T_broadcastMyLogicalChannelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11853   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11854                                  ett_h245_T_broadcastMyLogicalChannelResponse, T_broadcastMyLogicalChannelResponse_choice,
11855                                  NULL);
11856
11857   return offset;
11858 }
11859
11860
11861 static const value_string h245_T_makeTerminalBroadcasterResponse_vals[] = {
11862   {   0, "grantedMakeTerminalBroadcaster" },
11863   {   1, "deniedMakeTerminalBroadcaster" },
11864   { 0, NULL }
11865 };
11866
11867 static const per_choice_t T_makeTerminalBroadcasterResponse_choice[] = {
11868   {   0, &hf_h245_grantedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11869   {   1, &hf_h245_deniedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11870   { 0, NULL, 0, NULL }
11871 };
11872
11873 static int
11874 dissect_h245_T_makeTerminalBroadcasterResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11875   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11876                                  ett_h245_T_makeTerminalBroadcasterResponse, T_makeTerminalBroadcasterResponse_choice,
11877                                  NULL);
11878
11879   return offset;
11880 }
11881
11882
11883 static const value_string h245_T_sendThisSourceResponse_vals[] = {
11884   {   0, "grantedSendThisSource" },
11885   {   1, "deniedSendThisSource" },
11886   { 0, NULL }
11887 };
11888
11889 static const per_choice_t T_sendThisSourceResponse_choice[] = {
11890   {   0, &hf_h245_grantedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11891   {   1, &hf_h245_deniedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11892   { 0, NULL, 0, NULL }
11893 };
11894
11895 static int
11896 dissect_h245_T_sendThisSourceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11897   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11898                                  ett_h245_T_sendThisSourceResponse, T_sendThisSourceResponse_choice,
11899                                  NULL);
11900
11901   return offset;
11902 }
11903
11904
11905 static const per_sequence_t TerminalInformation_sequence[] = {
11906   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11907   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11908   { NULL, 0, 0, NULL }
11909 };
11910
11911 static int
11912 dissect_h245_TerminalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11913   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11914                                    ett_h245_TerminalInformation, TerminalInformation_sequence);
11915
11916   return offset;
11917 }
11918
11919
11920 static const per_sequence_t SEQUENCE_OF_TerminalInformation_sequence_of[1] = {
11921   { &hf_h245_terminalInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalInformation },
11922 };
11923
11924 static int
11925 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_) {
11926   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
11927                                       ett_h245_SEQUENCE_OF_TerminalInformation, SEQUENCE_OF_TerminalInformation_sequence_of);
11928
11929   return offset;
11930 }
11931
11932
11933 static const per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
11934   { &hf_h245_terminalInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_TerminalInformation },
11935   { NULL, 0, 0, NULL }
11936 };
11937
11938 static int
11939 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11940   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11941                                    ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
11942
11943   return offset;
11944 }
11945
11946
11947 static const value_string h245_T_reject_vals[] = {
11948   {   0, "unspecified" },
11949   {   1, "functionNotSupported" },
11950   { 0, NULL }
11951 };
11952
11953 static const per_choice_t T_reject_choice[] = {
11954   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11955   {   1, &hf_h245_functionNotSupportedFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11956   { 0, NULL, 0, NULL }
11957 };
11958
11959 static int
11960 dissect_h245_T_reject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11961   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11962                                  ett_h245_T_reject, T_reject_choice,
11963                                  NULL);
11964
11965   return offset;
11966 }
11967
11968
11969 static const value_string h245_RemoteMCResponse_vals[] = {
11970   {   0, "accept" },
11971   {   1, "reject" },
11972   { 0, NULL }
11973 };
11974
11975 static const per_choice_t RemoteMCResponse_choice[] = {
11976   {   0, &hf_h245_accept         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11977   {   1, &hf_h245_reject         , ASN1_EXTENSION_ROOT    , dissect_h245_T_reject },
11978   { 0, NULL, 0, NULL }
11979 };
11980
11981 static int
11982 dissect_h245_RemoteMCResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11983   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11984                                  ett_h245_RemoteMCResponse, RemoteMCResponse_choice,
11985                                  NULL);
11986
11987   return offset;
11988 }
11989
11990
11991 static const value_string h245_ConferenceResponse_vals[] = {
11992   {   0, "mCTerminalIDResponse" },
11993   {   1, "terminalIDResponse" },
11994   {   2, "conferenceIDResponse" },
11995   {   3, "passwordResponse" },
11996   {   4, "terminalListResponse" },
11997   {   5, "videoCommandReject" },
11998   {   6, "terminalDropReject" },
11999   {   7, "makeMeChairResponse" },
12000   {   8, "extensionAddressResponse" },
12001   {   9, "chairTokenOwnerResponse" },
12002   {  10, "terminalCertificateResponse" },
12003   {  11, "broadcastMyLogicalChannelResponse" },
12004   {  12, "makeTerminalBroadcasterResponse" },
12005   {  13, "sendThisSourceResponse" },
12006   {  14, "requestAllTerminalIDsResponse" },
12007   {  15, "remoteMCResponse" },
12008   { 0, NULL }
12009 };
12010
12011 static const per_choice_t ConferenceResponse_choice[] = {
12012   {   0, &hf_h245_mCTerminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_mCTerminalIDResponse },
12013   {   1, &hf_h245_terminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_terminalIDResponse },
12014   {   2, &hf_h245_conferenceIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_conferenceIDResponse },
12015   {   3, &hf_h245_passwordResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_passwordResponse },
12016   {   4, &hf_h245_terminalListResponse, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_TerminalLabel },
12017   {   5, &hf_h245_videoCommandReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12018   {   6, &hf_h245_terminalDropReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12019   {   7, &hf_h245_makeMeChairResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_makeMeChairResponse },
12020   {   8, &hf_h245_extensionAddressResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extensionAddressResponse },
12021   {   9, &hf_h245_chairTokenOwnerResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_chairTokenOwnerResponse },
12022   {  10, &hf_h245_terminalCertificateResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_terminalCertificateResponse },
12023   {  11, &hf_h245_broadcastMyLogicalChannelResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_broadcastMyLogicalChannelResponse },
12024   {  12, &hf_h245_makeTerminalBroadcasterResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_makeTerminalBroadcasterResponse },
12025   {  13, &hf_h245_sendThisSourceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_sendThisSourceResponse },
12026   {  14, &hf_h245_requestAllTerminalIDsResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RequestAllTerminalIDsResponse },
12027   {  15, &hf_h245_remoteMCResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCResponse },
12028   { 0, NULL, 0, NULL }
12029 };
12030
12031 static int
12032 dissect_h245_ConferenceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12033   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12034                                  ett_h245_ConferenceResponse, ConferenceResponse_choice,
12035                                  NULL);
12036
12037   return offset;
12038 }
12039
12040
12041 static const per_sequence_t CallInformationResp_sequence[] = {
12042   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
12043   { &hf_h245_callAssociationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
12044   { NULL, 0, 0, NULL }
12045 };
12046
12047 static int
12048 dissect_h245_CallInformationResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12049   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12050                                    ett_h245_CallInformationResp, CallInformationResp_sequence);
12051
12052   return offset;
12053 }
12054
12055
12056 static const value_string h245_T_rejected_vals[] = {
12057   {   0, "connectionsNotAvailable" },
12058   {   1, "userRejected" },
12059   { 0, NULL }
12060 };
12061
12062 static const per_choice_t T_rejected_choice[] = {
12063   {   0, &hf_h245_connectionsNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12064   {   1, &hf_h245_userRejected   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12065   { 0, NULL, 0, NULL }
12066 };
12067
12068 static int
12069 dissect_h245_T_rejected(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12070   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12071                                  ett_h245_T_rejected, T_rejected_choice,
12072                                  NULL);
12073
12074   return offset;
12075 }
12076
12077
12078 static const value_string h245_T_responseCode_vals[] = {
12079   {   0, "accepted" },
12080   {   1, "rejected" },
12081   { 0, NULL }
12082 };
12083
12084 static const per_choice_t T_responseCode_choice[] = {
12085   {   0, &hf_h245_accepted       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12086   {   1, &hf_h245_rejected       , ASN1_EXTENSION_ROOT    , dissect_h245_T_rejected },
12087   { 0, NULL, 0, NULL }
12088 };
12089
12090 static int
12091 dissect_h245_T_responseCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12092   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12093                                  ett_h245_T_responseCode, T_responseCode_choice,
12094                                  NULL);
12095
12096   return offset;
12097 }
12098
12099
12100 static const per_sequence_t AddConnectionResp_sequence[] = {
12101   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12102   { &hf_h245_responseCode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_responseCode },
12103   { NULL, 0, 0, NULL }
12104 };
12105
12106 static int
12107 dissect_h245_AddConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12108   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12109                                    ett_h245_AddConnectionResp, AddConnectionResp_sequence);
12110
12111   return offset;
12112 }
12113
12114
12115 static const per_sequence_t RemoveConnectionResp_sequence[] = {
12116   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
12117   { NULL, 0, 0, NULL }
12118 };
12119
12120 static int
12121 dissect_h245_RemoveConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12122   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12123                                    ett_h245_RemoveConnectionResp, RemoveConnectionResp_sequence);
12124
12125   return offset;
12126 }
12127
12128
12129 static const per_sequence_t MaximumHeaderIntervalResp_sequence[] = {
12130   { &hf_h245_currentInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
12131   { NULL, 0, 0, NULL }
12132 };
12133
12134 static int
12135 dissect_h245_MaximumHeaderIntervalResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12136   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12137                                    ett_h245_MaximumHeaderIntervalResp, MaximumHeaderIntervalResp_sequence);
12138
12139   return offset;
12140 }
12141
12142
12143 static const value_string h245_MultilinkResponse_vals[] = {
12144   {   0, "nonStandard" },
12145   {   1, "callInformation" },
12146   {   2, "addConnection" },
12147   {   3, "removeConnection" },
12148   {   4, "maximumHeaderInterval" },
12149   { 0, NULL }
12150 };
12151
12152 static const per_choice_t MultilinkResponse_choice[] = {
12153   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12154   {   1, &hf_h245_callInformationResp, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationResp },
12155   {   2, &hf_h245_addConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionResp },
12156   {   3, &hf_h245_removeConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionResp },
12157   {   4, &hf_h245_maximumHeaderIntervalResp, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalResp },
12158   { 0, NULL, 0, NULL }
12159 };
12160
12161 static int
12162 dissect_h245_MultilinkResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12163   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12164                                  ett_h245_MultilinkResponse, MultilinkResponse_choice,
12165                                  NULL);
12166
12167   return offset;
12168 }
12169
12170
12171 static const per_sequence_t LogicalChannelRateAcknowledge_sequence[] = {
12172   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12173   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12174   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
12175   { NULL, 0, 0, NULL }
12176 };
12177
12178 static int
12179 dissect_h245_LogicalChannelRateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12180   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12181                                    ett_h245_LogicalChannelRateAcknowledge, LogicalChannelRateAcknowledge_sequence);
12182
12183   return offset;
12184 }
12185
12186
12187 static const value_string h245_LogicalChannelRateRejectReason_vals[] = {
12188   {   0, "undefinedReason" },
12189   {   1, "insufficientResources" },
12190   { 0, NULL }
12191 };
12192
12193 static const per_choice_t LogicalChannelRateRejectReason_choice[] = {
12194   {   0, &hf_h245_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12195   {   1, &hf_h245_insufficientResources, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12196   { 0, NULL, 0, NULL }
12197 };
12198
12199 static int
12200 dissect_h245_LogicalChannelRateRejectReason(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_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice,
12203                                  NULL);
12204
12205   return offset;
12206 }
12207
12208
12209 static const per_sequence_t LogicalChannelRateReject_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_rejectReason   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelRateRejectReason },
12213   { &hf_h245_currentMaximumBitRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MaximumBitRate },
12214   { NULL, 0, 0, NULL }
12215 };
12216
12217 static int
12218 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12219   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12220                                    ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
12221
12222   return offset;
12223 }
12224
12225
12226 static const value_string h245_ResponseMessage_vals[] = {
12227   { ResponseMessage_nonStandard, "nonStandard" },
12228   { ResponseMessage_masterSlaveDeterminationAck, "masterSlaveDeterminationAck" },
12229   { ResponseMessage_masterSlaveDeterminationReject, "masterSlaveDeterminationReject" },
12230   { ResponseMessage_terminalCapabilitySetAck, "terminalCapabilitySetAck" },
12231   { ResponseMessage_terminalCapabilitySetReject, "terminalCapabilitySetReject" },
12232   { ResponseMessage_openLogicalChannelAck, "openLogicalChannelAck" },
12233   { ResponseMessage_openLogicalChannelReject, "openLogicalChannelReject" },
12234   { ResponseMessage_closeLogicalChannelAck, "closeLogicalChannelAck" },
12235   { ResponseMessage_requestChannelCloseAck, "requestChannelCloseAck" },
12236   { ResponseMessage_requestChannelCloseReject, "requestChannelCloseReject" },
12237   { ResponseMessage_multiplexEntrySendAck, "multiplexEntrySendAck" },
12238   { ResponseMessage_multiplexEntrySendReject, "multiplexEntrySendReject" },
12239   { ResponseMessage_requestMultiplexEntryAck, "requestMultiplexEntryAck" },
12240   { ResponseMessage_requestMultiplexEntryReject, "requestMultiplexEntryReject" },
12241   { ResponseMessage_requestModeAck, "requestModeAck" },
12242   { ResponseMessage_requestModeReject, "requestModeReject" },
12243   { ResponseMessage_roundTripDelayResponse, "roundTripDelayResponse" },
12244   { ResponseMessage_maintenanceLoopAck, "maintenanceLoopAck" },
12245   { ResponseMessage_maintenanceLoopReject, "maintenanceLoopReject" },
12246   { ResponseMessage_communicationModeResponse, "communicationModeResponse" },
12247   { ResponseMessage_conferenceResponse, "conferenceResponse" },
12248   { ResponseMessage_multilinkResponse, "multilinkResponse" },
12249   { ResponseMessage_logicalChannelRateAcknowledge, "logicalChannelRateAcknowledge" },
12250   { ResponseMessage_logicalChannelRateReject, "logicalChannelRateReject" },
12251   { ResponseMessage_genericResponse, "genericResponse" },
12252   { 0, NULL }
12253 };
12254
12255 static const per_choice_t ResponseMessage_choice[] = {
12256   { ResponseMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12257   { ResponseMessage_masterSlaveDeterminationAck, &hf_h245_masterSlaveDeterminationAck, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationAck },
12258   { ResponseMessage_masterSlaveDeterminationReject, &hf_h245_masterSlaveDeterminationReject, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationReject },
12259   { ResponseMessage_terminalCapabilitySetAck, &hf_h245_terminalCapabilitySetAck, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetAck },
12260   { ResponseMessage_terminalCapabilitySetReject, &hf_h245_terminalCapabilitySetReject, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetReject },
12261   { ResponseMessage_openLogicalChannelAck, &hf_h245_openLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelAck },
12262   { ResponseMessage_openLogicalChannelReject, &hf_h245_openLogicalChannelReject, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelReject },
12263   { ResponseMessage_closeLogicalChannelAck, &hf_h245_closeLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannelAck },
12264   { ResponseMessage_requestChannelCloseAck, &hf_h245_requestChannelCloseAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseAck },
12265   { ResponseMessage_requestChannelCloseReject, &hf_h245_requestChannelCloseReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseReject },
12266   { ResponseMessage_multiplexEntrySendAck, &hf_h245_multiplexEntrySendAck, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendAck },
12267   { ResponseMessage_multiplexEntrySendReject, &hf_h245_multiplexEntrySendReject, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendReject },
12268   { ResponseMessage_requestMultiplexEntryAck, &hf_h245_requestMultiplexEntryAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryAck },
12269   { ResponseMessage_requestMultiplexEntryReject, &hf_h245_requestMultiplexEntryReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryReject },
12270   { ResponseMessage_requestModeAck, &hf_h245_requestModeAck , ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeAck },
12271   { ResponseMessage_requestModeReject, &hf_h245_requestModeReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeReject },
12272   { ResponseMessage_roundTripDelayResponse, &hf_h245_roundTripDelayResponse, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayResponse },
12273   { ResponseMessage_maintenanceLoopAck, &hf_h245_maintenanceLoopAck, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopAck },
12274   { ResponseMessage_maintenanceLoopReject, &hf_h245_maintenanceLoopReject, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopReject },
12275   { ResponseMessage_communicationModeResponse, &hf_h245_communicationModeResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeResponse },
12276   { ResponseMessage_conferenceResponse, &hf_h245_conferenceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceResponse },
12277   { ResponseMessage_multilinkResponse, &hf_h245_multilinkResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkResponse },
12278   { ResponseMessage_logicalChannelRateAcknowledge, &hf_h245_logicalChannelRateAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateAcknowledge },
12279   { ResponseMessage_logicalChannelRateReject, &hf_h245_logicalChannelRateReject, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateReject },
12280   { ResponseMessage_genericResponse, &hf_h245_genericResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
12281   { 0, NULL, 0, NULL }
12282 };
12283
12284 static int
12285 dissect_h245_ResponseMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12286 #line 406 "h245.cnf"
12287   gint32 value;
12288
12289   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12290                                  ett_h245_ResponseMessage, ResponseMessage_choice,
12291                                  &value);
12292
12293         if (check_col(actx->pinfo->cinfo, COL_INFO)){
12294                 if ( h245_shorttypes == TRUE )
12295                 {
12296                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
12297                                 val_to_str(value, h245_ResponseMessage_short_vals, "<unknown>"));
12298                 }
12299                 else
12300                 {
12301                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
12302                                 val_to_str(value, h245_ResponseMessage_vals, "<unknown>"));
12303                 }
12304         }
12305
12306         col_set_fence(actx->pinfo->cinfo,COL_INFO);
12307
12308         if (h245_pi != NULL){
12309                 /* Add to packet info */
12310                 g_snprintf(h245_pi->frame_label, 50, "%s %s ", h245_pi->frame_label, val_to_str(value, h245_ResponseMessage_short_vals, "UKN"));
12311                 g_strlcat(h245_pi->comment, val_to_str(value, h245_ResponseMessage_vals, "<unknown>"), 50);
12312         }
12313
12314
12315
12316   return offset;
12317 }
12318
12319
12320 static const per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
12321   { NULL, 0, 0, NULL }
12322 };
12323
12324 static int
12325 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12326   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12327                                    ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
12328
12329   return offset;
12330 }
12331
12332
12333 static const per_sequence_t SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of[1] = {
12334   { &hf_h245_capabilityTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
12335 };
12336
12337 static int
12338 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_) {
12339   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12340                                              ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber, SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of,
12341                                              1, 65535, FALSE);
12342
12343   return offset;
12344 }
12345
12346
12347 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of[1] = {
12348   { &hf_h245_capabilityDescriptorNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
12349 };
12350
12351 static int
12352 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_) {
12353   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12354                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber, SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of,
12355                                              1, 256, FALSE);
12356
12357   return offset;
12358 }
12359
12360
12361 static const per_sequence_t T_specificRequest_sequence[] = {
12362   { &hf_h245_multiplexCapabilityBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12363   { &hf_h245_capabilityTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber },
12364   { &hf_h245_capabilityDescriptorNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber },
12365   { NULL, 0, 0, NULL }
12366 };
12367
12368 static int
12369 dissect_h245_T_specificRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12370   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12371                                    ett_h245_T_specificRequest, T_specificRequest_sequence);
12372
12373   return offset;
12374 }
12375
12376
12377 static const value_string h245_SendTerminalCapabilitySet_vals[] = {
12378   {   0, "specificRequest" },
12379   {   1, "genericRequest" },
12380   { 0, NULL }
12381 };
12382
12383 static const per_choice_t SendTerminalCapabilitySet_choice[] = {
12384   {   0, &hf_h245_specificRequest, ASN1_EXTENSION_ROOT    , dissect_h245_T_specificRequest },
12385   {   1, &hf_h245_genericRequestFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12386   { 0, NULL, 0, NULL }
12387 };
12388
12389 static int
12390 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12391   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12392                                  ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice,
12393                                  NULL);
12394
12395   return offset;
12396 }
12397
12398
12399 static const per_sequence_t T_encryptionAlgorithmID_sequence[] = {
12400   { &hf_h245_h233AlgorithmIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12401   { &hf_h245_associatedAlgorithm, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
12402   { NULL, 0, 0, NULL }
12403 };
12404
12405 static int
12406 dissect_h245_T_encryptionAlgorithmID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12407   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12408                                    ett_h245_T_encryptionAlgorithmID, T_encryptionAlgorithmID_sequence);
12409
12410   return offset;
12411 }
12412
12413
12414 static const value_string h245_EncryptionCommand_vals[] = {
12415   {   0, "encryptionSE" },
12416   {   1, "encryptionIVRequest" },
12417   {   2, "encryptionAlgorithmID" },
12418   { 0, NULL }
12419 };
12420
12421 static const per_choice_t EncryptionCommand_choice[] = {
12422   {   0, &hf_h245_encryptionSE   , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING },
12423   {   1, &hf_h245_encryptionIVRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12424   {   2, &hf_h245_encryptionAlgorithmID, ASN1_EXTENSION_ROOT    , dissect_h245_T_encryptionAlgorithmID },
12425   { 0, NULL, 0, NULL }
12426 };
12427
12428 static int
12429 dissect_h245_EncryptionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12430   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12431                                  ett_h245_EncryptionCommand, EncryptionCommand_choice,
12432                                  NULL);
12433
12434   return offset;
12435 }
12436
12437
12438 static const value_string h245_Scope_vals[] = {
12439   {   0, "logicalChannelNumber" },
12440   {   1, "resourceID" },
12441   {   2, "wholeMultiplex" },
12442   { 0, NULL }
12443 };
12444
12445 static const per_choice_t Scope_choice[] = {
12446   {   0, &hf_h245_logicalChannelNumber, ASN1_NO_EXTENSIONS     , dissect_h245_LogicalChannelNumber },
12447   {   1, &hf_h245_resourceID     , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_65535 },
12448   {   2, &hf_h245_wholeMultiplex , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12449   { 0, NULL, 0, NULL }
12450 };
12451
12452 static int
12453 dissect_h245_Scope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12454   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12455                                  ett_h245_Scope, Scope_choice,
12456                                  NULL);
12457
12458   return offset;
12459 }
12460
12461
12462 static const value_string h245_Restriction_vals[] = {
12463   {   0, "maximumBitRate" },
12464   {   1, "noRestriction" },
12465   { 0, NULL }
12466 };
12467
12468 static const per_choice_t Restriction_choice[] = {
12469   {   0, &hf_h245_res_maximumBitRate, ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_16777215 },
12470   {   1, &hf_h245_noRestriction  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12471   { 0, NULL, 0, NULL }
12472 };
12473
12474 static int
12475 dissect_h245_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12476   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12477                                  ett_h245_Restriction, Restriction_choice,
12478                                  NULL);
12479
12480   return offset;
12481 }
12482
12483
12484 static const per_sequence_t FlowControlCommand_sequence[] = {
12485   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
12486   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
12487   { NULL, 0, 0, NULL }
12488 };
12489
12490 static int
12491 dissect_h245_FlowControlCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12492   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12493                                    ett_h245_FlowControlCommand, FlowControlCommand_sequence);
12494
12495   return offset;
12496 }
12497
12498
12499 static const value_string h245_T_gstnOptions_vals[] = {
12500   {   0, "telephonyMode" },
12501   {   1, "v8bis" },
12502   {   2, "v34DSVD" },
12503   {   3, "v34DuplexFAX" },
12504   {   4, "v34H324" },
12505   { 0, NULL }
12506 };
12507
12508 static const per_choice_t T_gstnOptions_choice[] = {
12509   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12510   {   1, &hf_h245_v8bis          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12511   {   2, &hf_h245_v34DSVD        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12512   {   3, &hf_h245_v34DuplexFAX   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12513   {   4, &hf_h245_v34H324        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12514   { 0, NULL, 0, NULL }
12515 };
12516
12517 static int
12518 dissect_h245_T_gstnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12519   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12520                                  ett_h245_T_gstnOptions, T_gstnOptions_choice,
12521                                  NULL);
12522
12523   return offset;
12524 }
12525
12526
12527 static const value_string h245_T_isdnOptions_vals[] = {
12528   {   0, "telephonyMode" },
12529   {   1, "v140" },
12530   {   2, "terminalOnHold" },
12531   { 0, NULL }
12532 };
12533
12534 static const per_choice_t T_isdnOptions_choice[] = {
12535   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12536   {   1, &hf_h245_v140           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12537   {   2, &hf_h245_terminalOnHold , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12538   { 0, NULL, 0, NULL }
12539 };
12540
12541 static int
12542 dissect_h245_T_isdnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12543   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12544                                  ett_h245_T_isdnOptions, T_isdnOptions_choice,
12545                                  NULL);
12546
12547   return offset;
12548 }
12549
12550
12551 static const value_string h245_EndSessionCommand_vals[] = {
12552   {   0, "nonStandard" },
12553   {   1, "disconnect" },
12554   {   2, "gstnOptions" },
12555   {   3, "isdnOptions" },
12556   {   4, "genericInformation" },
12557   { 0, NULL }
12558 };
12559
12560 static const per_choice_t EndSessionCommand_choice[] = {
12561   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
12562   {   1, &hf_h245_disconnect     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12563   {   2, &hf_h245_gstnOptions    , ASN1_EXTENSION_ROOT    , dissect_h245_T_gstnOptions },
12564   {   3, &hf_h245_isdnOptions    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_isdnOptions },
12565   {   4, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
12566   { 0, NULL, 0, NULL }
12567 };
12568
12569 static int
12570 dissect_h245_EndSessionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12571   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12572                                  ett_h245_EndSessionCommand, EndSessionCommand_choice,
12573                                  NULL);
12574
12575   return offset;
12576 }
12577
12578
12579
12580 static int
12581 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_) {
12582   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12583                                                             0U, 17U, NULL, FALSE);
12584
12585   return offset;
12586 }
12587
12588
12589
12590 static int
12591 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_) {
12592   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12593                                                             1U, 18U, NULL, FALSE);
12594
12595   return offset;
12596 }
12597
12598
12599 static const per_sequence_t T_videoFastUpdateGOB_sequence[] = {
12600   { &hf_h245_firstGOB       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_17 },
12601   { &hf_h245_numberOfGOBs   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_18 },
12602   { NULL, 0, 0, NULL }
12603 };
12604
12605 static int
12606 dissect_h245_T_videoFastUpdateGOB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12607   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12608                                    ett_h245_T_videoFastUpdateGOB, T_videoFastUpdateGOB_sequence);
12609
12610   return offset;
12611 }
12612
12613
12614
12615 static int
12616 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_) {
12617   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12618                                                             0U, 31U, NULL, FALSE);
12619
12620   return offset;
12621 }
12622
12623
12624
12625 static int
12626 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_) {
12627   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12628                                                             1U, 8192U, NULL, FALSE);
12629
12630   return offset;
12631 }
12632
12633
12634 static const per_sequence_t T_videoFastUpdateMB_sequence[] = {
12635   { &hf_h245_firstGOB_0_255 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12636   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_8192 },
12637   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
12638   { NULL, 0, 0, NULL }
12639 };
12640
12641 static int
12642 dissect_h245_T_videoFastUpdateMB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12643   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12644                                    ett_h245_T_videoFastUpdateMB, T_videoFastUpdateMB_sequence);
12645
12646   return offset;
12647 }
12648
12649
12650 static const per_sequence_t KeyProtectionMethod_sequence[] = {
12651   { &hf_h245_secureChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12652   { &hf_h245_sharedSecret   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12653   { &hf_h245_certProtectedKey, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12654   { NULL, 0, 0, NULL }
12655 };
12656
12657 static int
12658 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12659   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12660                                    ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
12661
12662   return offset;
12663 }
12664
12665
12666 static const per_sequence_t EncryptionUpdateRequest_sequence[] = {
12667   { &hf_h245_keyProtectionMethod, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_KeyProtectionMethod },
12668   { &hf_h245_synchFlag      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12669   { NULL, 0, 0, NULL }
12670 };
12671
12672 static int
12673 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12674   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12675                                    ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
12676
12677   return offset;
12678 }
12679
12680
12681 static const value_string h245_T_repeatCount_vals[] = {
12682   {   0, "doOneProgression" },
12683   {   1, "doContinuousProgressions" },
12684   {   2, "doOneIndependentProgression" },
12685   {   3, "doContinuousIndependentProgressions" },
12686   { 0, NULL }
12687 };
12688
12689 static const per_choice_t T_repeatCount_choice[] = {
12690   {   0, &hf_h245_doOneProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12691   {   1, &hf_h245_doContinuousProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12692   {   2, &hf_h245_doOneIndependentProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12693   {   3, &hf_h245_doContinuousIndependentProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12694   { 0, NULL, 0, NULL }
12695 };
12696
12697 static int
12698 dissect_h245_T_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12699   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12700                                  ett_h245_T_repeatCount, T_repeatCount_choice,
12701                                  NULL);
12702
12703   return offset;
12704 }
12705
12706
12707 static const per_sequence_t T_progressiveRefinementStart_sequence[] = {
12708   { &hf_h245_repeatCount    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_repeatCount },
12709   { NULL, 0, 0, NULL }
12710 };
12711
12712 static int
12713 dissect_h245_T_progressiveRefinementStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12714   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12715                                    ett_h245_T_progressiveRefinementStart, T_progressiveRefinementStart_sequence);
12716
12717   return offset;
12718 }
12719
12720
12721
12722 static int
12723 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_) {
12724   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12725                                                             1U, 9216U, NULL, FALSE);
12726
12727   return offset;
12728 }
12729
12730
12731 static const per_sequence_t T_videoBadMBs_sequence[] = {
12732   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12733   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12734   { &hf_h245_temporalReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
12735   { NULL, 0, 0, NULL }
12736 };
12737
12738 static int
12739 dissect_h245_T_videoBadMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12740   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12741                                    ett_h245_T_videoBadMBs, T_videoBadMBs_sequence);
12742
12743   return offset;
12744 }
12745
12746
12747 static const value_string h245_PictureReference_vals[] = {
12748   {   0, "pictureNumber" },
12749   {   1, "longTermPictureIndex" },
12750   { 0, NULL }
12751 };
12752
12753 static const per_choice_t PictureReference_choice[] = {
12754   {   0, &hf_h245_pictureNumber  , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_1023 },
12755   {   1, &hf_h245_longTermPictureIndex, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_255 },
12756   { 0, NULL, 0, NULL }
12757 };
12758
12759 static int
12760 dissect_h245_PictureReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12761   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12762                                  ett_h245_PictureReference, PictureReference_choice,
12763                                  NULL);
12764
12765   return offset;
12766 }
12767
12768
12769 static const per_sequence_t SEQUENCE_OF_PictureReference_sequence_of[1] = {
12770   { &hf_h245_lostPicture_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12771 };
12772
12773 static int
12774 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_) {
12775   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
12776                                       ett_h245_SEQUENCE_OF_PictureReference, SEQUENCE_OF_PictureReference_sequence_of);
12777
12778   return offset;
12779 }
12780
12781
12782 static const per_sequence_t T_lostPartialPicture_sequence[] = {
12783   { &hf_h245_pictureReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12784   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12785   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12786   { NULL, 0, 0, NULL }
12787 };
12788
12789 static int
12790 dissect_h245_T_lostPartialPicture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12791   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12792                                    ett_h245_T_lostPartialPicture, T_lostPartialPicture_sequence);
12793
12794   return offset;
12795 }
12796
12797
12798 static const per_sequence_t T_encryptionUpdateCommand_sequence[] = {
12799   { &hf_h245_encryptionSync , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionSync },
12800   { &hf_h245_multiplePayloadStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplePayloadStream },
12801   { NULL, 0, 0, NULL }
12802 };
12803
12804 static int
12805 dissect_h245_T_encryptionUpdateCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12806   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12807                                    ett_h245_T_encryptionUpdateCommand, T_encryptionUpdateCommand_sequence);
12808
12809   return offset;
12810 }
12811
12812
12813 static const per_sequence_t T_encryptionUpdateAck_sequence[] = {
12814   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
12815   { NULL, 0, 0, NULL }
12816 };
12817
12818 static int
12819 dissect_h245_T_encryptionUpdateAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12820   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12821                                    ett_h245_T_encryptionUpdateAck, T_encryptionUpdateAck_sequence);
12822
12823   return offset;
12824 }
12825
12826
12827 static const value_string h245_Mc_type_vals[] = {
12828   {   0, "equaliseDelay" },
12829   {   1, "zeroDelay" },
12830   {   2, "multipointModeCommand" },
12831   {   3, "cancelMultipointModeCommand" },
12832   {   4, "videoFreezePicture" },
12833   {   5, "videoFastUpdatePicture" },
12834   {   6, "videoFastUpdateGOB" },
12835   {   7, "videoTemporalSpatialTradeOff" },
12836   {   8, "videoSendSyncEveryGOB" },
12837   {   9, "videoSendSyncEveryGOBCancel" },
12838   {  10, "videoFastUpdateMB" },
12839   {  11, "maxH223MUXPDUsize" },
12840   {  12, "encryptionUpdate" },
12841   {  13, "encryptionUpdateRequest" },
12842   {  14, "switchReceiveMediaOff" },
12843   {  15, "switchReceiveMediaOn" },
12844   {  16, "progressiveRefinementStart" },
12845   {  17, "progressiveRefinementAbortOne" },
12846   {  18, "progressiveRefinementAbortContinuous" },
12847   {  19, "videoBadMBs" },
12848   {  20, "lostPicture" },
12849   {  21, "lostPartialPicture" },
12850   {  22, "recoveryReferencePicture" },
12851   {  23, "encryptionUpdateCommand" },
12852   {  24, "encryptionUpdateAck" },
12853   { 0, NULL }
12854 };
12855
12856 static const per_choice_t Mc_type_choice[] = {
12857   {   0, &hf_h245_equaliseDelay  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12858   {   1, &hf_h245_zeroDelay      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12859   {   2, &hf_h245_multipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12860   {   3, &hf_h245_cancelMultipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12861   {   4, &hf_h245_videoFreezePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12862   {   5, &hf_h245_videoFastUpdatePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12863   {   6, &hf_h245_videoFastUpdateGOB, ASN1_EXTENSION_ROOT    , dissect_h245_T_videoFastUpdateGOB },
12864   {   7, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
12865   {   8, &hf_h245_videoSendSyncEveryGOB, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12866   {   9, &hf_h245_videoSendSyncEveryGOBCancel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12867   {  10, &hf_h245_videoFastUpdateMB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoFastUpdateMB },
12868   {  11, &hf_h245_maxH223MUXPDUsize, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_65535 },
12869   {  12, &hf_h245_encryptionUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionSync },
12870   {  13, &hf_h245_encryptionUpdateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionUpdateRequest },
12871   {  14, &hf_h245_switchReceiveMediaOff, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12872   {  15, &hf_h245_switchReceiveMediaOn, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12873   {  16, &hf_h245_progressiveRefinementStart, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_progressiveRefinementStart },
12874   {  17, &hf_h245_progressiveRefinementAbortOne, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12875   {  18, &hf_h245_progressiveRefinementAbortContinuous, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12876   {  19, &hf_h245_videoBadMBs    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoBadMBs },
12877   {  20, &hf_h245_lostPicture    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12878   {  21, &hf_h245_lostPartialPicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_lostPartialPicture },
12879   {  22, &hf_h245_recoveryReferencePicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12880   {  23, &hf_h245_encryptionUpdateCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateCommand },
12881   {  24, &hf_h245_encryptionUpdateAck, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateAck },
12882   { 0, NULL, 0, NULL }
12883 };
12884
12885 static int
12886 dissect_h245_Mc_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12887   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12888                                  ett_h245_Mc_type, Mc_type_choice,
12889                                  NULL);
12890
12891   return offset;
12892 }
12893
12894
12895 static const value_string h245_EncryptionUpdateDirection_vals[] = {
12896   {   0, "masterToSlave" },
12897   {   1, "slaveToMaster" },
12898   { 0, NULL }
12899 };
12900
12901 static const per_choice_t EncryptionUpdateDirection_choice[] = {
12902   {   0, &hf_h245_masterToSlave  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12903   {   1, &hf_h245_slaveToMaster  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12904   { 0, NULL, 0, NULL }
12905 };
12906
12907 static int
12908 dissect_h245_EncryptionUpdateDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12909   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12910                                  ett_h245_EncryptionUpdateDirection, EncryptionUpdateDirection_choice,
12911                                  NULL);
12912
12913   return offset;
12914 }
12915
12916
12917 static const per_sequence_t MiscellaneousCommand_sequence[] = {
12918   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12919   { &hf_h245_mc_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mc_type },
12920   { &hf_h245_direction      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionUpdateDirection },
12921   { NULL, 0, 0, NULL }
12922 };
12923
12924 static int
12925 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12926   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12927                                    ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
12928
12929   return offset;
12930 }
12931
12932
12933 static const per_sequence_t CommunicationModeCommand_sequence[] = {
12934   { &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
12935   { NULL, 0, 0, NULL }
12936 };
12937
12938 static int
12939 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12940   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12941                                    ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
12942
12943   return offset;
12944 }
12945
12946
12947 static const per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
12948   { &hf_h245_conferenceIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
12949   { NULL, 0, 0, NULL }
12950 };
12951
12952 static int
12953 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12954   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12955                                    ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
12956
12957   return offset;
12958 }
12959
12960
12961 static const value_string h245_ConferenceCommand_vals[] = {
12962   {   0, "broadcastMyLogicalChannel" },
12963   {   1, "cancelBroadcastMyLogicalChannel" },
12964   {   2, "makeTerminalBroadcaster" },
12965   {   3, "cancelMakeTerminalBroadcaster" },
12966   {   4, "sendThisSource" },
12967   {   5, "cancelSendThisSource" },
12968   {   6, "dropConference" },
12969   {   7, "substituteConferenceIDCommand" },
12970   { 0, NULL }
12971 };
12972
12973 static const per_choice_t ConferenceCommand_choice[] = {
12974   {   0, &hf_h245_broadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
12975   {   1, &hf_h245_cancelBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
12976   {   2, &hf_h245_makeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
12977   {   3, &hf_h245_cancelMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12978   {   4, &hf_h245_sendThisSource , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
12979   {   5, &hf_h245_cancelSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12980   {   6, &hf_h245_dropConference , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12981   {   7, &hf_h245_substituteConferenceIDCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SubstituteConferenceIDCommand },
12982   { 0, NULL, 0, NULL }
12983 };
12984
12985 static int
12986 dissect_h245_ConferenceCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12987   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12988                                  ett_h245_ConferenceCommand, ConferenceCommand_choice,
12989                                  NULL);
12990
12991   return offset;
12992 }
12993
12994
12995 static const value_string h245_T_h223ModeChange_vals[] = {
12996   {   0, "toLevel0" },
12997   {   1, "toLevel1" },
12998   {   2, "toLevel2" },
12999   {   3, "toLevel2withOptionalHeader" },
13000   { 0, NULL }
13001 };
13002
13003 static const per_choice_t T_h223ModeChange_choice[] = {
13004   {   0, &hf_h245_toLevel0       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13005   {   1, &hf_h245_toLevel1       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13006   {   2, &hf_h245_toLevel2       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13007   {   3, &hf_h245_toLevel2withOptionalHeader, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13008   { 0, NULL, 0, NULL }
13009 };
13010
13011 static int
13012 dissect_h245_T_h223ModeChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13013   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13014                                  ett_h245_T_h223ModeChange, T_h223ModeChange_choice,
13015                                  NULL);
13016
13017   return offset;
13018 }
13019
13020
13021 static const value_string h245_T_h223AnnexADoubleFlag_vals[] = {
13022   {   0, "start" },
13023   {   1, "stop" },
13024   { 0, NULL }
13025 };
13026
13027 static const per_choice_t T_h223AnnexADoubleFlag_choice[] = {
13028   {   0, &hf_h245_start          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13029   {   1, &hf_h245_stop           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13030   { 0, NULL, 0, NULL }
13031 };
13032
13033 static int
13034 dissect_h245_T_h223AnnexADoubleFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13035   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13036                                  ett_h245_T_h223AnnexADoubleFlag, T_h223AnnexADoubleFlag_choice,
13037                                  NULL);
13038
13039   return offset;
13040 }
13041
13042
13043 static const value_string h245_H223MultiplexReconfiguration_vals[] = {
13044   {   0, "h223ModeChange" },
13045   {   1, "h223AnnexADoubleFlag" },
13046   { 0, NULL }
13047 };
13048
13049 static const per_choice_t H223MultiplexReconfiguration_choice[] = {
13050   {   0, &hf_h245_h223ModeChange , ASN1_EXTENSION_ROOT    , dissect_h245_T_h223ModeChange },
13051   {   1, &hf_h245_h223AnnexADoubleFlag, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223AnnexADoubleFlag },
13052   { 0, NULL, 0, NULL }
13053 };
13054
13055 static int
13056 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13057   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13058                                  ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice,
13059                                  NULL);
13060
13061   return offset;
13062 }
13063
13064
13065 static const value_string h245_Cmd_clockRecovery_vals[] = {
13066   {   0, "nullClockRecovery" },
13067   {   1, "srtsClockRecovery" },
13068   {   2, "adaptiveClockRecovery" },
13069   { 0, NULL }
13070 };
13071
13072 static const per_choice_t Cmd_clockRecovery_choice[] = {
13073   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13074   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13075   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13076   { 0, NULL, 0, NULL }
13077 };
13078
13079 static int
13080 dissect_h245_Cmd_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13081   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13082                                  ett_h245_Cmd_clockRecovery, Cmd_clockRecovery_choice,
13083                                  NULL);
13084
13085   return offset;
13086 }
13087
13088
13089 static const value_string h245_Cmd_errorCorrection_vals[] = {
13090   {   0, "nullErrorCorrection" },
13091   {   1, "longInterleaver" },
13092   {   2, "shortInterleaver" },
13093   {   3, "errorCorrectionOnly" },
13094   { 0, NULL }
13095 };
13096
13097 static const per_choice_t Cmd_errorCorrection_choice[] = {
13098   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13099   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13100   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13101   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13102   { 0, NULL, 0, NULL }
13103 };
13104
13105 static int
13106 dissect_h245_Cmd_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13107   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13108                                  ett_h245_Cmd_errorCorrection, Cmd_errorCorrection_choice,
13109                                  NULL);
13110
13111   return offset;
13112 }
13113
13114
13115 static const per_sequence_t Cmd_aal1_sequence[] = {
13116   { &hf_h245_cmd_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_clockRecovery },
13117   { &hf_h245_cmd_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_errorCorrection },
13118   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13119   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13120   { NULL, 0, 0, NULL }
13121 };
13122
13123 static int
13124 dissect_h245_Cmd_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13125   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13126                                    ett_h245_Cmd_aal1, Cmd_aal1_sequence);
13127
13128   return offset;
13129 }
13130
13131
13132 static const per_sequence_t Cmd_aal5_sequence[] = {
13133   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13134   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13135   { NULL, 0, 0, NULL }
13136 };
13137
13138 static int
13139 dissect_h245_Cmd_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13140   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13141                                    ett_h245_Cmd_aal5, Cmd_aal5_sequence);
13142
13143   return offset;
13144 }
13145
13146
13147 static const value_string h245_Cmd_aal_vals[] = {
13148   {   0, "aal1" },
13149   {   1, "aal5" },
13150   { 0, NULL }
13151 };
13152
13153 static const per_choice_t Cmd_aal_choice[] = {
13154   {   0, &hf_h245_cmd_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal1 },
13155   {   1, &hf_h245_cmd_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal5 },
13156   { 0, NULL, 0, NULL }
13157 };
13158
13159 static int
13160 dissect_h245_Cmd_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13161   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13162                                  ett_h245_Cmd_aal, Cmd_aal_choice,
13163                                  NULL);
13164
13165   return offset;
13166 }
13167
13168
13169 static const value_string h245_Cmd_multiplex_vals[] = {
13170   {   0, "noMultiplex" },
13171   {   1, "transportStream" },
13172   {   2, "programStream" },
13173   { 0, NULL }
13174 };
13175
13176 static const per_choice_t Cmd_multiplex_choice[] = {
13177   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13178   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13179   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13180   { 0, NULL, 0, NULL }
13181 };
13182
13183 static int
13184 dissect_h245_Cmd_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13185   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13186                                  ett_h245_Cmd_multiplex, Cmd_multiplex_choice,
13187                                  NULL);
13188
13189   return offset;
13190 }
13191
13192
13193 static const value_string h245_CmdR_multiplex_vals[] = {
13194   {   0, "noMultiplex" },
13195   {   1, "transportStream" },
13196   {   2, "programStream" },
13197   { 0, NULL }
13198 };
13199
13200 static const per_choice_t CmdR_multiplex_choice[] = {
13201   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13202   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13203   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13204   { 0, NULL, 0, NULL }
13205 };
13206
13207 static int
13208 dissect_h245_CmdR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13209   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13210                                  ett_h245_CmdR_multiplex, CmdR_multiplex_choice,
13211                                  NULL);
13212
13213   return offset;
13214 }
13215
13216
13217 static const per_sequence_t Cmd_reverseParameters_sequence[] = {
13218   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13219   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13220   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13221   { &hf_h245_cmdr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CmdR_multiplex },
13222   { NULL, 0, 0, NULL }
13223 };
13224
13225 static int
13226 dissect_h245_Cmd_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13227   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13228                                    ett_h245_Cmd_reverseParameters, Cmd_reverseParameters_sequence);
13229
13230   return offset;
13231 }
13232
13233
13234 static const per_sequence_t NewATMVCCommand_sequence[] = {
13235   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13236   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13237   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13238   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13239   { &hf_h245_cmd_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_aal },
13240   { &hf_h245_cmd_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_multiplex },
13241   { &hf_h245_cmd_reverseParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_reverseParameters },
13242   { NULL, 0, 0, NULL }
13243 };
13244
13245 static int
13246 dissect_h245_NewATMVCCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13247   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13248                                    ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
13249
13250   return offset;
13251 }
13252
13253
13254 static const value_string h245_T_status_vals[] = {
13255   {   0, "synchronized" },
13256   {   1, "reconfiguration" },
13257   { 0, NULL }
13258 };
13259
13260 static const per_choice_t T_status_choice[] = {
13261   {   0, &hf_h245_synchronized   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13262   {   1, &hf_h245_reconfiguration, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13263   { 0, NULL, 0, NULL }
13264 };
13265
13266 static int
13267 dissect_h245_T_status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13268   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13269                                  ett_h245_T_status, T_status_choice,
13270                                  NULL);
13271
13272   return offset;
13273 }
13274
13275
13276 static const per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
13277   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13278   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13279   { &hf_h245_status         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_status },
13280   { NULL, 0, 0, NULL }
13281 };
13282
13283 static int
13284 dissect_h245_MobileMultilinkReconfigurationCommand(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_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
13287
13288   return offset;
13289 }
13290
13291
13292 static const value_string h245_CommandMessage_vals[] = {
13293   { CommandMessage_nonStandard, "nonStandard" },
13294   { CommandMessage_maintenanceLoopOffCommand, "maintenanceLoopOffCommand" },
13295   { CommandMessage_sendTerminalCapabilitySet, "sendTerminalCapabilitySet" },
13296   { CommandMessage_encryptionCommand, "encryptionCommand" },
13297   { CommandMessage_flowControlCommand, "flowControlCommand" },
13298   { CommandMessage_endSessionCommand, "endSessionCommand" },
13299   { CommandMessage_miscellaneousCommand, "miscellaneousCommand" },
13300   { CommandMessage_communicationModeCommand, "communicationModeCommand" },
13301   { CommandMessage_conferenceCommand, "conferenceCommand" },
13302   { CommandMessage_h223MultiplexReconfiguration, "h223MultiplexReconfiguration" },
13303   { CommandMessage_newATMVCCommand, "newATMVCCommand" },
13304   { CommandMessage_mobileMultilinkReconfigurationCommand, "mobileMultilinkReconfigurationCommand" },
13305   { CommandMessage_genericCommand, "genericCommand" },
13306   { 0, NULL }
13307 };
13308
13309 static const per_choice_t CommandMessage_choice[] = {
13310   { CommandMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
13311   { CommandMessage_maintenanceLoopOffCommand, &hf_h245_maintenanceLoopOffCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopOffCommand },
13312   { CommandMessage_sendTerminalCapabilitySet, &hf_h245_sendTerminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_SendTerminalCapabilitySet },
13313   { CommandMessage_encryptionCommand, &hf_h245_encryptionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionCommand },
13314   { CommandMessage_flowControlCommand, &hf_h245_flowControlCommand, ASN1_EXTENSION_ROOT    , dissect_h245_FlowControlCommand },
13315   { CommandMessage_endSessionCommand, &hf_h245_endSessionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EndSessionCommand },
13316   { CommandMessage_miscellaneousCommand, &hf_h245_miscellaneousCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousCommand },
13317   { CommandMessage_communicationModeCommand, &hf_h245_communicationModeCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeCommand },
13318   { CommandMessage_conferenceCommand, &hf_h245_conferenceCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCommand },
13319   { CommandMessage_h223MultiplexReconfiguration, &hf_h245_h223MultiplexReconfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223MultiplexReconfiguration },
13320   { CommandMessage_newATMVCCommand, &hf_h245_newATMVCCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NewATMVCCommand },
13321   { CommandMessage_mobileMultilinkReconfigurationCommand, &hf_h245_mobileMultilinkReconfigurationCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationCommand },
13322   { CommandMessage_genericCommand, &hf_h245_genericCommand , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
13323   { 0, NULL, 0, NULL }
13324 };
13325
13326 static int
13327 dissect_h245_CommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13328 #line 459 "h245.cnf"
13329   gint32 value;
13330
13331   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13332                                  ett_h245_CommandMessage, CommandMessage_choice,
13333                                  &value);
13334
13335         if (check_col(actx->pinfo->cinfo, COL_INFO)){
13336                 if ( h245_shorttypes == TRUE )
13337                 {
13338                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
13339                                 val_to_str(value, h245_CommandMessage_short_vals, "<unknown>"));
13340                 }
13341                 else
13342                 {
13343                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
13344                                 val_to_str(value, h245_CommandMessage_vals, "<unknown>"));
13345                 }
13346         }
13347
13348         col_set_fence(actx->pinfo->cinfo,COL_INFO);
13349     /* Add to packet info */
13350         if (h245_pi != NULL){
13351             g_snprintf(h245_pi->frame_label, 50, "%s %s ", h245_pi->frame_label, val_to_str(value, h245_CommandMessage_short_vals, "UKN"));
13352                 g_strlcat(h245_pi->comment, val_to_str(value, h245_CommandMessage_vals, "<unknown>"), 50);
13353         }
13354
13355
13356
13357   return offset;
13358 }
13359
13360
13361 static const value_string h245_FunctionNotUnderstood_vals[] = {
13362   {   0, "request" },
13363   {   1, "response" },
13364   {   2, "command" },
13365   { 0, NULL }
13366 };
13367
13368 static const per_choice_t FunctionNotUnderstood_choice[] = {
13369   {   0, &hf_h245_request        , ASN1_NO_EXTENSIONS     , dissect_h245_RequestMessage },
13370   {   1, &hf_h245_response       , ASN1_NO_EXTENSIONS     , dissect_h245_ResponseMessage },
13371   {   2, &hf_h245_command        , ASN1_NO_EXTENSIONS     , dissect_h245_CommandMessage },
13372   { 0, NULL, 0, NULL }
13373 };
13374
13375 static int
13376 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13377   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13378                                  ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice,
13379                                  NULL);
13380
13381   return offset;
13382 }
13383
13384
13385 static const per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
13386   { NULL, 0, 0, NULL }
13387 };
13388
13389 static int
13390 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13391   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13392                                    ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
13393
13394 #line 595 "h245.cnf"
13395
13396 if (h245_pi != NULL)
13397   h245_pi->msg_type = H245_MastSlvDetRls;
13398
13399   return offset;
13400 }
13401
13402
13403 static const per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
13404   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13405   { NULL, 0, 0, NULL }
13406 };
13407
13408 static int
13409 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13410   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13411                                    ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
13412
13413 #line 607 "h245.cnf"
13414
13415 if (h245_pi != NULL)
13416   h245_pi->msg_type = H245_TermCapSetRls;
13417
13418   return offset;
13419 }
13420
13421
13422 static const per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
13423   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13424   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13425   { NULL, 0, 0, NULL }
13426 };
13427
13428 static int
13429 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13430   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13431                                    ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
13432
13433 #line 571 "h245.cnf"
13434
13435 if (h245_pi != NULL)
13436   h245_pi->msg_type = H245_OpenLogChnCnf;
13437
13438   return offset;
13439 }
13440
13441
13442 static const per_sequence_t RequestChannelCloseRelease_sequence[] = {
13443   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13444   { NULL, 0, 0, NULL }
13445 };
13446
13447 static int
13448 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13449   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13450                                    ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
13451
13452   return offset;
13453 }
13454
13455
13456 static const per_sequence_t MultiplexEntrySendRelease_sequence[] = {
13457   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13458   { NULL, 0, 0, NULL }
13459 };
13460
13461 static int
13462 dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13463   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13464                                    ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
13465
13466   return offset;
13467 }
13468
13469
13470 static const per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
13471   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13472   { NULL, 0, 0, NULL }
13473 };
13474
13475 static int
13476 dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13477   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13478                                    ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
13479
13480   return offset;
13481 }
13482
13483
13484 static const per_sequence_t RequestModeRelease_sequence[] = {
13485   { NULL, 0, 0, NULL }
13486 };
13487
13488 static int
13489 dissect_h245_RequestModeRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13490   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13491                                    ett_h245_RequestModeRelease, RequestModeRelease_sequence);
13492
13493   return offset;
13494 }
13495
13496
13497 static const per_sequence_t T_videoNotDecodedMBs_sequence[] = {
13498   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13499   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13500   { &hf_h245_temporalReference_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13501   { NULL, 0, 0, NULL }
13502 };
13503
13504 static int
13505 dissect_h245_T_videoNotDecodedMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13506   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13507                                    ett_h245_T_videoNotDecodedMBs, T_videoNotDecodedMBs_sequence);
13508
13509   return offset;
13510 }
13511
13512
13513 static const value_string h245_Mi_type_vals[] = {
13514   {   0, "logicalChannelActive" },
13515   {   1, "logicalChannelInactive" },
13516   {   2, "multipointConference" },
13517   {   3, "cancelMultipointConference" },
13518   {   4, "multipointZeroComm" },
13519   {   5, "cancelMultipointZeroComm" },
13520   {   6, "multipointSecondaryStatus" },
13521   {   7, "cancelMultipointSecondaryStatus" },
13522   {   8, "videoIndicateReadyToActivate" },
13523   {   9, "videoTemporalSpatialTradeOff" },
13524   {  10, "videoNotDecodedMBs" },
13525   {  11, "transportCapability" },
13526   { 0, NULL }
13527 };
13528
13529 static const per_choice_t Mi_type_choice[] = {
13530   {   0, &hf_h245_logicalChannelActive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13531   {   1, &hf_h245_logicalChannelInactive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13532   {   2, &hf_h245_multipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13533   {   3, &hf_h245_cancelMultipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13534   {   4, &hf_h245_multipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13535   {   5, &hf_h245_cancelMultipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13536   {   6, &hf_h245_multipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13537   {   7, &hf_h245_cancelMultipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13538   {   8, &hf_h245_videoIndicateReadyToActivate, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13539   {   9, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
13540   {  10, &hf_h245_videoNotDecodedMBs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoNotDecodedMBs },
13541   {  11, &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TransportCapability },
13542   { 0, NULL, 0, NULL }
13543 };
13544
13545 static int
13546 dissect_h245_Mi_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13547   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13548                                  ett_h245_Mi_type, Mi_type_choice,
13549                                  NULL);
13550
13551   return offset;
13552 }
13553
13554
13555 static const per_sequence_t MiscellaneousIndication_sequence[] = {
13556   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13557   { &hf_h245_mi_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mi_type },
13558   { NULL, 0, 0, NULL }
13559 };
13560
13561 static int
13562 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13563   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13564                                    ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
13565
13566   return offset;
13567 }
13568
13569
13570
13571 static int
13572 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_) {
13573   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13574                                                             0U, 3U, NULL, FALSE);
13575
13576   return offset;
13577 }
13578
13579
13580
13581 static int
13582 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_) {
13583   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13584                                                             0U, 7U, NULL, FALSE);
13585
13586   return offset;
13587 }
13588
13589
13590 static const per_sequence_t JitterIndication_sequence[] = {
13591   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
13592   { &hf_h245_estimatedReceivedJitterMantissa, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_3 },
13593   { &hf_h245_estimatedReceivedJitterExponent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_7 },
13594   { &hf_h245_skippedFrameCount, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
13595   { &hf_h245_additionalDecoderBuffer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
13596   { NULL, 0, 0, NULL }
13597 };
13598
13599 static int
13600 dissect_h245_JitterIndication(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_JitterIndication, JitterIndication_sequence);
13603
13604   return offset;
13605 }
13606
13607
13608 static const per_sequence_t H223SkewIndication_sequence[] = {
13609   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13610   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13611   { &hf_h245_skew           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
13612   { NULL, 0, 0, NULL }
13613 };
13614
13615 static int
13616 dissect_h245_H223SkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13617   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13618                                    ett_h245_H223SkewIndication, H223SkewIndication_sequence);
13619
13620   return offset;
13621 }
13622
13623
13624 static const value_string h245_Ind_clockRecovery_vals[] = {
13625   {   0, "nullClockRecovery" },
13626   {   1, "srtsClockRecovery" },
13627   {   2, "adaptiveClockRecovery" },
13628   { 0, NULL }
13629 };
13630
13631 static const per_choice_t Ind_clockRecovery_choice[] = {
13632   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13633   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13634   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13635   { 0, NULL, 0, NULL }
13636 };
13637
13638 static int
13639 dissect_h245_Ind_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13640   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13641                                  ett_h245_Ind_clockRecovery, Ind_clockRecovery_choice,
13642                                  NULL);
13643
13644   return offset;
13645 }
13646
13647
13648 static const value_string h245_Ind_errorCorrection_vals[] = {
13649   {   0, "nullErrorCorrection" },
13650   {   1, "longInterleaver" },
13651   {   2, "shortInterleaver" },
13652   {   3, "errorCorrectionOnly" },
13653   { 0, NULL }
13654 };
13655
13656 static const per_choice_t Ind_errorCorrection_choice[] = {
13657   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13658   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13659   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13660   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13661   { 0, NULL, 0, NULL }
13662 };
13663
13664 static int
13665 dissect_h245_Ind_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13666   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13667                                  ett_h245_Ind_errorCorrection, Ind_errorCorrection_choice,
13668                                  NULL);
13669
13670   return offset;
13671 }
13672
13673
13674 static const per_sequence_t Ind_aal1_sequence[] = {
13675   { &hf_h245_ind_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_clockRecovery },
13676   { &hf_h245_ind_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_errorCorrection },
13677   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13678   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13679   { NULL, 0, 0, NULL }
13680 };
13681
13682 static int
13683 dissect_h245_Ind_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13684   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13685                                    ett_h245_Ind_aal1, Ind_aal1_sequence);
13686
13687   return offset;
13688 }
13689
13690
13691 static const per_sequence_t Ind_aal5_sequence[] = {
13692   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13693   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13694   { NULL, 0, 0, NULL }
13695 };
13696
13697 static int
13698 dissect_h245_Ind_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13699   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13700                                    ett_h245_Ind_aal5, Ind_aal5_sequence);
13701
13702   return offset;
13703 }
13704
13705
13706 static const value_string h245_Ind_aal_vals[] = {
13707   {   0, "aal1" },
13708   {   1, "aal5" },
13709   { 0, NULL }
13710 };
13711
13712 static const per_choice_t Ind_aal_choice[] = {
13713   {   0, &hf_h245_ind_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal1 },
13714   {   1, &hf_h245_ind_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal5 },
13715   { 0, NULL, 0, NULL }
13716 };
13717
13718 static int
13719 dissect_h245_Ind_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13720   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13721                                  ett_h245_Ind_aal, Ind_aal_choice,
13722                                  NULL);
13723
13724   return offset;
13725 }
13726
13727
13728 static const value_string h245_Ind_multiplex_vals[] = {
13729   {   0, "noMultiplex" },
13730   {   1, "transportStream" },
13731   {   2, "programStream" },
13732   { 0, NULL }
13733 };
13734
13735 static const per_choice_t Ind_multiplex_choice[] = {
13736   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13737   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13738   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13739   { 0, NULL, 0, NULL }
13740 };
13741
13742 static int
13743 dissect_h245_Ind_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13744   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13745                                  ett_h245_Ind_multiplex, Ind_multiplex_choice,
13746                                  NULL);
13747
13748   return offset;
13749 }
13750
13751
13752 static const value_string h245_IndR_multiplex_vals[] = {
13753   {   0, "noMultiplex" },
13754   {   1, "transportStream" },
13755   {   2, "programStream" },
13756   { 0, NULL }
13757 };
13758
13759 static const per_choice_t IndR_multiplex_choice[] = {
13760   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13761   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13762   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13763   { 0, NULL, 0, NULL }
13764 };
13765
13766 static int
13767 dissect_h245_IndR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13768   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13769                                  ett_h245_IndR_multiplex, IndR_multiplex_choice,
13770                                  NULL);
13771
13772   return offset;
13773 }
13774
13775
13776 static const per_sequence_t Ind_reverseParameters_sequence[] = {
13777   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13778   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13779   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13780   { &hf_h245_indr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IndR_multiplex },
13781   { NULL, 0, 0, NULL }
13782 };
13783
13784 static int
13785 dissect_h245_Ind_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13786   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13787                                    ett_h245_Ind_reverseParameters, Ind_reverseParameters_sequence);
13788
13789   return offset;
13790 }
13791
13792
13793 static const per_sequence_t NewATMVCIndication_sequence[] = {
13794   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13795   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13796   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13797   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13798   { &hf_h245_ind_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_aal },
13799   { &hf_h245_ind_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_multiplex },
13800   { &hf_h245_ind_reverseParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Ind_reverseParameters },
13801   { NULL, 0, 0, NULL }
13802 };
13803
13804 static int
13805 dissect_h245_NewATMVCIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13806   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13807                                    ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
13808
13809   return offset;
13810 }
13811
13812
13813 static const value_string h245_T_userInputSupportIndication_vals[] = {
13814   {   0, "nonStandard" },
13815   {   1, "basicString" },
13816   {   2, "iA5String" },
13817   {   3, "generalString" },
13818   {   4, "encryptedBasicString" },
13819   {   5, "encryptedIA5String" },
13820   {   6, "encryptedGeneralString" },
13821   { 0, NULL }
13822 };
13823
13824 static const per_choice_t T_userInputSupportIndication_choice[] = {
13825   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
13826   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13827   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13828   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13829   {   4, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13830   {   5, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13831   {   6, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13832   { 0, NULL, 0, NULL }
13833 };
13834
13835 static int
13836 dissect_h245_T_userInputSupportIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13837   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13838                                  ett_h245_T_userInputSupportIndication, T_userInputSupportIndication_choice,
13839                                  NULL);
13840
13841   return offset;
13842 }
13843
13844
13845
13846 static int
13847 dissect_h245_T_signalType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13848   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
13849                                                       1, 1, FALSE, "0123456789#*ABCD!", 17,
13850                                                       NULL);
13851
13852   return offset;
13853 }
13854
13855
13856 static const per_sequence_t T_rtp_sequence[] = {
13857   { &hf_h245_timestamp      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13858   { &hf_h245_expirationTime , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13859   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13860   { NULL, 0, 0, NULL }
13861 };
13862
13863 static int
13864 dissect_h245_T_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13865   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13866                                    ett_h245_T_rtp, T_rtp_sequence);
13867
13868   return offset;
13869 }
13870
13871
13872
13873 static int
13874 dissect_h245_IV8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13875   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13876                                        8, 8, FALSE, NULL);
13877
13878   return offset;
13879 }
13880
13881
13882
13883 static int
13884 dissect_h245_IV16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13885   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13886                                        16, 16, FALSE, NULL);
13887
13888   return offset;
13889 }
13890
13891
13892 static const per_sequence_t Params_sequence[] = {
13893   { &hf_h245_iv8            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV8 },
13894   { &hf_h245_iv16           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV16 },
13895   { &hf_h245_iv             , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
13896   { NULL, 0, 0, NULL }
13897 };
13898
13899 static int
13900 dissect_h245_Params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13901   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13902                                    ett_h245_Params, Params_sequence);
13903
13904   return offset;
13905 }
13906
13907
13908
13909 static int
13910 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_) {
13911   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13912                                        1, 1, FALSE, NULL);
13913
13914   return offset;
13915 }
13916
13917
13918 static const per_sequence_t T_signal_sequence[] = {
13919   { &hf_h245_signalType     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_signalType },
13920   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_65535 },
13921   { &hf_h245_rtp            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtp },
13922   { &hf_h245_rtpPayloadIndication, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NULL },
13923   { &hf_h245_paramS         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_Params },
13924   { &hf_h245_encryptedSignalType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1 },
13925   { &hf_h245_algorithmOID   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
13926   { NULL, 0, 0, NULL }
13927 };
13928
13929 static int
13930 dissect_h245_T_signal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13931   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13932                                    ett_h245_T_signal, T_signal_sequence);
13933
13934   return offset;
13935 }
13936
13937
13938 static const per_sequence_t Si_rtp_sequence[] = {
13939   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13940   { NULL, 0, 0, NULL }
13941 };
13942
13943 static int
13944 dissect_h245_Si_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13945   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13946                                    ett_h245_Si_rtp, Si_rtp_sequence);
13947
13948   return offset;
13949 }
13950
13951
13952 static const per_sequence_t T_signalUpdate_sequence[] = {
13953   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13954   { &hf_h245_si_rtp         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Si_rtp },
13955   { NULL, 0, 0, NULL }
13956 };
13957
13958 static int
13959 dissect_h245_T_signalUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13960   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13961                                    ett_h245_T_signalUpdate, T_signalUpdate_sequence);
13962
13963   return offset;
13964 }
13965
13966
13967 static const per_sequence_t EncryptedAlphanumeric_sequence[] = {
13968   { &hf_h245_algorithmOID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
13969   { &hf_h245_paramS         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Params },
13970   { &hf_h245_encrypted      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
13971   { NULL, 0, 0, NULL }
13972 };
13973
13974 static int
13975 dissect_h245_EncryptedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13976   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13977                                    ett_h245_EncryptedAlphanumeric, EncryptedAlphanumeric_sequence);
13978
13979   return offset;
13980 }
13981
13982
13983 static const per_sequence_t T_extendedAlphanumeric_sequence[] = {
13984   { &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
13985   { &hf_h245_rtpPayloadIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NULL },
13986   { &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptedAlphanumeric },
13987   { NULL, 0, 0, NULL }
13988 };
13989
13990 static int
13991 dissect_h245_T_extendedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13992   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13993                                    ett_h245_T_extendedAlphanumeric, T_extendedAlphanumeric_sequence);
13994
13995   return offset;
13996 }
13997
13998
13999 static const value_string h245_UserInputIndication_vals[] = {
14000   {   0, "nonStandard" },
14001   {   1, "alphanumeric" },
14002   {   2, "userInputSupportIndication" },
14003   {   3, "signal" },
14004   {   4, "signalUpdate" },
14005   {   5, "extendedAlphanumeric" },
14006   {   6, "encryptedAlphanumeric" },
14007   {   7, "genericInformation" },
14008   { 0, NULL }
14009 };
14010
14011 static const per_choice_t UserInputIndication_choice[] = {
14012   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
14013   {   1, &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , dissect_h245_GeneralString },
14014   {   2, &hf_h245_userInputSupportIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_userInputSupportIndication },
14015   {   3, &hf_h245_signal         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signal },
14016   {   4, &hf_h245_signalUpdate   , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signalUpdate },
14017   {   5, &hf_h245_extendedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extendedAlphanumeric },
14018   {   6, &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptedAlphanumeric },
14019   {   7, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
14020   { 0, NULL, 0, NULL }
14021 };
14022
14023 static int
14024 dissect_h245_UserInputIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14025   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14026                                  ett_h245_UserInputIndication, UserInputIndication_choice,
14027                                  NULL);
14028
14029   return offset;
14030 }
14031
14032
14033 static const per_sequence_t H2250MaximumSkewIndication_sequence[] = {
14034   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
14035   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
14036   { &hf_h245_maximumSkew    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
14037   { NULL, 0, 0, NULL }
14038 };
14039
14040 static int
14041 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14042   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14043                                    ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
14044
14045   return offset;
14046 }
14047
14048
14049 static const per_sequence_t MCLocationIndication_sequence[] = {
14050   { &hf_h245_signalAddress  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TransportAddress },
14051   { NULL, 0, 0, NULL }
14052 };
14053
14054 static int
14055 dissect_h245_MCLocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14056   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14057                                    ett_h245_MCLocationIndication, MCLocationIndication_sequence);
14058
14059   return offset;
14060 }
14061
14062
14063
14064 static int
14065 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_) {
14066   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
14067                                                             0U, 9U, NULL, FALSE);
14068
14069   return offset;
14070 }
14071
14072
14073 static const per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
14074   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
14075   { &hf_h245_subPictureNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
14076   { &hf_h245_mcuNumber      , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
14077   { NULL, 0, 0, NULL }
14078 };
14079
14080 static int
14081 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14082   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14083                                    ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
14084
14085   return offset;
14086 }
14087
14088
14089 static const per_sequence_t VideoIndicateCompose_sequence[] = {
14090   { &hf_h245_compositionNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
14091   { NULL, 0, 0, NULL }
14092 };
14093
14094 static int
14095 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14096   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14097                                    ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
14098
14099   return offset;
14100 }
14101
14102
14103 static const value_string h245_ConferenceIndication_vals[] = {
14104   {   0, "sbeNumber" },
14105   {   1, "terminalNumberAssign" },
14106   {   2, "terminalJoinedConference" },
14107   {   3, "terminalLeftConference" },
14108   {   4, "seenByAtLeastOneOther" },
14109   {   5, "cancelSeenByAtLeastOneOther" },
14110   {   6, "seenByAll" },
14111   {   7, "cancelSeenByAll" },
14112   {   8, "terminalYouAreSeeing" },
14113   {   9, "requestForFloor" },
14114   {  10, "withdrawChairToken" },
14115   {  11, "floorRequested" },
14116   {  12, "terminalYouAreSeeingInSubPictureNumber" },
14117   {  13, "videoIndicateCompose" },
14118   { 0, NULL }
14119 };
14120
14121 static const per_choice_t ConferenceIndication_choice[] = {
14122   {   0, &hf_h245_sbeNumber      , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_9 },
14123   {   1, &hf_h245_terminalNumberAssign, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14124   {   2, &hf_h245_terminalJoinedConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14125   {   3, &hf_h245_terminalLeftConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14126   {   4, &hf_h245_seenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14127   {   5, &hf_h245_cancelSeenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14128   {   6, &hf_h245_seenByAll      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14129   {   7, &hf_h245_cancelSeenByAll, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14130   {   8, &hf_h245_terminalYouAreSeeing, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14131   {   9, &hf_h245_requestForFloor, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14132   {  10, &hf_h245_withdrawChairToken, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14133   {  11, &hf_h245_floorRequested , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
14134   {  12, &hf_h245_terminalYouAreSeeingInSubPictureNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
14135   {  13, &hf_h245_videoIndicateCompose, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VideoIndicateCompose },
14136   { 0, NULL, 0, NULL }
14137 };
14138
14139 static int
14140 dissect_h245_ConferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14141   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14142                                  ett_h245_ConferenceIndication, ConferenceIndication_choice,
14143                                  NULL);
14144
14145   return offset;
14146 }
14147
14148
14149
14150 static int
14151 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_) {
14152   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14153                                        1, 256, FALSE, NULL);
14154
14155   return offset;
14156 }
14157
14158
14159 static const per_sequence_t VendorIdentification_sequence[] = {
14160   { &hf_h245_vendor         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
14161   { &hf_h245_productNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14162   { &hf_h245_versionNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14163   { NULL, 0, 0, NULL }
14164 };
14165
14166 static int
14167 dissect_h245_VendorIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14168   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14169                                    ett_h245_VendorIdentification, VendorIdentification_sequence);
14170
14171   return offset;
14172 }
14173
14174
14175 static const value_string h245_FunctionNotSupportedCause_vals[] = {
14176   {   0, "syntaxError" },
14177   {   1, "semanticError" },
14178   {   2, "unknownFunction" },
14179   { 0, NULL }
14180 };
14181
14182 static const per_choice_t FunctionNotSupportedCause_choice[] = {
14183   {   0, &hf_h245_syntaxError    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14184   {   1, &hf_h245_semanticError  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14185   {   2, &hf_h245_unknownFunction, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14186   { 0, NULL, 0, NULL }
14187 };
14188
14189 static int
14190 dissect_h245_FunctionNotSupportedCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14191   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14192                                  ett_h245_FunctionNotSupportedCause, FunctionNotSupportedCause_choice,
14193                                  NULL);
14194
14195   return offset;
14196 }
14197
14198
14199
14200 static int
14201 dissect_h245_T_returnedFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14202 #line 981 "h245.cnf"
14203   tvbuff_t *next_tvb = NULL;
14204   proto_item *item;
14205   proto_tree *subtree;
14206   h245_packet_info *saved_h245_pi;
14207
14208   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14209                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
14210
14211
14212  if (next_tvb && tvb_length(next_tvb)) {
14213         saved_h245_pi = h245_pi;
14214         h245_pi = NULL;
14215         item = proto_tree_add_text(tree, next_tvb, 0, -1,"The returned function");
14216         subtree = proto_item_add_subtree(item, ett_h245_returnedFunction);
14217         PROTO_ITEM_SET_GENERATED(item);
14218         dissect_h245_MultimediaSystemControlMessage(next_tvb, 0, actx, subtree, hf_h245_pdu_type);
14219         h245_pi = saved_h245_pi;
14220  }
14221
14222
14223
14224   return offset;
14225 }
14226
14227
14228 static const per_sequence_t FunctionNotSupported_sequence[] = {
14229   { &hf_h245_fns_cause      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FunctionNotSupportedCause },
14230   { &hf_h245_returnedFunction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_returnedFunction },
14231   { NULL, 0, 0, NULL }
14232 };
14233
14234 static int
14235 dissect_h245_FunctionNotSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14236   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14237                                    ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
14238
14239   return offset;
14240 }
14241
14242
14243 static const per_sequence_t T_crcDesired_sequence[] = {
14244   { NULL, 0, 0, NULL }
14245 };
14246
14247 static int
14248 dissect_h245_T_crcDesired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14249   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14250                                    ett_h245_T_crcDesired, T_crcDesired_sequence);
14251
14252   return offset;
14253 }
14254
14255
14256 static const per_sequence_t T_excessiveError_sequence[] = {
14257   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
14258   { NULL, 0, 0, NULL }
14259 };
14260
14261 static int
14262 dissect_h245_T_excessiveError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14263   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14264                                    ett_h245_T_excessiveError, T_excessiveError_sequence);
14265
14266   return offset;
14267 }
14268
14269
14270 static const value_string h245_MultilinkIndication_vals[] = {
14271   {   0, "nonStandard" },
14272   {   1, "crcDesired" },
14273   {   2, "excessiveError" },
14274   { 0, NULL }
14275 };
14276
14277 static const per_choice_t MultilinkIndication_choice[] = {
14278   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14279   {   1, &hf_h245_crcDesired     , ASN1_EXTENSION_ROOT    , dissect_h245_T_crcDesired },
14280   {   2, &hf_h245_excessiveError , ASN1_EXTENSION_ROOT    , dissect_h245_T_excessiveError },
14281   { 0, NULL, 0, NULL }
14282 };
14283
14284 static int
14285 dissect_h245_MultilinkIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14286   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14287                                  ett_h245_MultilinkIndication, MultilinkIndication_choice,
14288                                  NULL);
14289
14290   return offset;
14291 }
14292
14293
14294 static const per_sequence_t LogicalChannelRateRelease_sequence[] = {
14295   { NULL, 0, 0, NULL }
14296 };
14297
14298 static int
14299 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14300   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14301                                    ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
14302
14303   return offset;
14304 }
14305
14306
14307 static const per_sequence_t FlowControlIndication_sequence[] = {
14308   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
14309   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
14310   { NULL, 0, 0, NULL }
14311 };
14312
14313 static int
14314 dissect_h245_FlowControlIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14315   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14316                                    ett_h245_FlowControlIndication, FlowControlIndication_sequence);
14317
14318   return offset;
14319 }
14320
14321
14322 static const per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
14323   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14324   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14325   { NULL, 0, 0, NULL }
14326 };
14327
14328 static int
14329 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14330   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14331                                    ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
14332
14333   return offset;
14334 }
14335
14336
14337 static const value_string h245_IndicationMessage_vals[] = {
14338   { IndicationMessage_nonStandard, "nonStandard" },
14339   { IndicationMessage_functionNotUnderstood, "functionNotUnderstood" },
14340   { IndicationMessage_masterSlaveDeterminationRelease, "masterSlaveDeterminationRelease" },
14341   { IndicationMessage_terminalCapabilitySetRelease, "terminalCapabilitySetRelease" },
14342   { IndicationMessage_openLogicalChannelConfirm, "openLogicalChannelConfirm" },
14343   { IndicationMessage_requestChannelCloseRelease, "requestChannelCloseRelease" },
14344   { IndicationMessage_multiplexEntrySendRelease, "multiplexEntrySendRelease" },
14345   { IndicationMessage_requestMultiplexEntryRelease, "requestMultiplexEntryRelease" },
14346   { IndicationMessage_requestModeRelease, "requestModeRelease" },
14347   { IndicationMessage_miscellaneousIndication, "miscellaneousIndication" },
14348   { IndicationMessage_jitterIndication, "jitterIndication" },
14349   { IndicationMessage_h223SkewIndication, "h223SkewIndication" },
14350   { IndicationMessage_newATMVCIndication, "newATMVCIndication" },
14351   { IndicationMessage_userInput, "userInput" },
14352   { IndicationMessage_h2250MaximumSkewIndication, "h2250MaximumSkewIndication" },
14353   { IndicationMessage_mcLocationIndication, "mcLocationIndication" },
14354   { IndicationMessage_conferenceIndication, "conferenceIndication" },
14355   { IndicationMessage_vendorIdentification, "vendorIdentification" },
14356   { IndicationMessage_functionNotSupported, "functionNotSupported" },
14357   { IndicationMessage_multilinkIndication, "multilinkIndication" },
14358   { IndicationMessage_logicalChannelRateRelease, "logicalChannelRateRelease" },
14359   { IndicationMessage_flowControlIndication, "flowControlIndication" },
14360   { IndicationMessage_mobileMultilinkReconfigurationIndication, "mobileMultilinkReconfigurationIndication" },
14361   { IndicationMessage_genericIndication, "genericIndication" },
14362   { 0, NULL }
14363 };
14364
14365 static const per_choice_t IndicationMessage_choice[] = {
14366   { IndicationMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14367   { IndicationMessage_functionNotUnderstood, &hf_h245_functionNotUnderstood, ASN1_EXTENSION_ROOT    , dissect_h245_FunctionNotUnderstood },
14368   { IndicationMessage_masterSlaveDeterminationRelease, &hf_h245_masterSlaveDeterminationRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationRelease },
14369   { IndicationMessage_terminalCapabilitySetRelease, &hf_h245_terminalCapabilitySetRelease, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetRelease },
14370   { IndicationMessage_openLogicalChannelConfirm, &hf_h245_openLogicalChannelConfirm, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelConfirm },
14371   { IndicationMessage_requestChannelCloseRelease, &hf_h245_requestChannelCloseRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseRelease },
14372   { IndicationMessage_multiplexEntrySendRelease, &hf_h245_multiplexEntrySendRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendRelease },
14373   { IndicationMessage_requestMultiplexEntryRelease, &hf_h245_requestMultiplexEntryRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryRelease },
14374   { IndicationMessage_requestModeRelease, &hf_h245_requestModeRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeRelease },
14375   { IndicationMessage_miscellaneousIndication, &hf_h245_miscellaneousIndication, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousIndication },
14376   { IndicationMessage_jitterIndication, &hf_h245_jitterIndication, ASN1_EXTENSION_ROOT    , dissect_h245_JitterIndication },
14377   { IndicationMessage_h223SkewIndication, &hf_h245_h223SkewIndication, ASN1_EXTENSION_ROOT    , dissect_h245_H223SkewIndication },
14378   { IndicationMessage_newATMVCIndication, &hf_h245_newATMVCIndication, ASN1_EXTENSION_ROOT    , dissect_h245_NewATMVCIndication },
14379   { IndicationMessage_userInput, &hf_h245_userInput      , ASN1_EXTENSION_ROOT    , dissect_h245_UserInputIndication },
14380   { IndicationMessage_h2250MaximumSkewIndication, &hf_h245_h2250MaximumSkewIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250MaximumSkewIndication },
14381   { IndicationMessage_mcLocationIndication, &hf_h245_mcLocationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MCLocationIndication },
14382   { IndicationMessage_conferenceIndication, &hf_h245_conferenceIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceIndication },
14383   { IndicationMessage_vendorIdentification, &hf_h245_vendorIdentification, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VendorIdentification },
14384   { IndicationMessage_functionNotSupported, &hf_h245_functionNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FunctionNotSupported },
14385   { IndicationMessage_multilinkIndication, &hf_h245_multilinkIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkIndication },
14386   { IndicationMessage_logicalChannelRateRelease, &hf_h245_logicalChannelRateRelease, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRelease },
14387   { IndicationMessage_flowControlIndication, &hf_h245_flowControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FlowControlIndication },
14388   { IndicationMessage_mobileMultilinkReconfigurationIndication, &hf_h245_mobileMultilinkReconfigurationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationIndication },
14389   { IndicationMessage_genericIndication, &hf_h245_genericIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
14390   { 0, NULL, 0, NULL }
14391 };
14392
14393 static int
14394 dissect_h245_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14395 #line 433 "h245.cnf"
14396   gint32 value;
14397
14398   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14399                                  ett_h245_IndicationMessage, IndicationMessage_choice,
14400                                  &value);
14401
14402         if (check_col(actx->pinfo->cinfo, COL_INFO)){
14403                 if ( h245_shorttypes == TRUE )
14404                 {
14405                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
14406                                 val_to_str(value, h245_IndicationMessage_short_vals, "<unknown>"));
14407                 }
14408                 else
14409                 {
14410                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
14411                                 val_to_str(value, h245_IndicationMessage_vals, "<unknown>"));
14412                 }
14413         }
14414
14415         col_set_fence(actx->pinfo->cinfo,COL_INFO);
14416     /* Add to packet info */
14417         if (h245_pi  !=NULL){
14418                 g_snprintf(h245_pi->frame_label, 50, "%s %s ", h245_pi->frame_label, val_to_str(value, h245_IndicationMessage_short_vals, "UKN"));
14419                 g_strlcat(h245_pi->comment, val_to_str(value, h245_IndicationMessage_vals, "<unknown>"), 50);
14420         }
14421
14422
14423
14424   return offset;
14425 }
14426
14427
14428 static const value_string h245_MultimediaSystemControlMessage_vals[] = {
14429   {   0, "request" },
14430   {   1, "response" },
14431   {   2, "command" },
14432   {   3, "indication" },
14433   { 0, NULL }
14434 };
14435
14436 static const per_choice_t MultimediaSystemControlMessage_choice[] = {
14437   {   0, &hf_h245_request        , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMessage },
14438   {   1, &hf_h245_response       , ASN1_EXTENSION_ROOT    , dissect_h245_ResponseMessage },
14439   {   2, &hf_h245_command        , ASN1_EXTENSION_ROOT    , dissect_h245_CommandMessage },
14440   {   3, &hf_h245_indication     , ASN1_EXTENSION_ROOT    , dissect_h245_IndicationMessage },
14441   { 0, NULL, 0, NULL }
14442 };
14443
14444 static int
14445 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14446   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14447                                  ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice,
14448                                  NULL);
14449
14450   return offset;
14451 }
14452
14453 /*--- PDUs ---*/
14454
14455 static void dissect_OpenLogicalChannel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
14456   asn1_ctx_t asn1_ctx;
14457   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14458   dissect_h245_OpenLogicalChannel(tvb, 0, &asn1_ctx, tree, hf_h245_OpenLogicalChannel_PDU);
14459 }
14460
14461
14462 /*--- End of included file: packet-h245-fn.c ---*/
14463 #line 388 "packet-h245-template.c"
14464
14465 static void
14466 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
14467 {
14468         /*
14469          * MultimediaSystemControlMessage_handle is the handle for
14470          * dissect_h245_h245, so we don't want to do any h245_pi or tap stuff here.
14471          */
14472         dissect_tpkt_encap(tvb, pinfo, parent_tree, h245_reassembly, MultimediaSystemControlMessage_handle);
14473 }
14474
14475
14476 static void
14477 dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
14478 {
14479         proto_item *it;
14480         proto_tree *tr;
14481         guint32 offset=0;
14482         asn1_ctx_t asn1_ctx;
14483
14484         fast_start = FALSE;
14485         /* Clean up from any previous packet dissection */
14486         upcoming_olc = NULL;
14487         upcoming_channel = NULL;
14488         codec_type = NULL;
14489
14490         if (check_col(pinfo->cinfo, COL_PROTOCOL)){
14491                 col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
14492         }
14493
14494         it=proto_tree_add_protocol_format(parent_tree, proto_h245, tvb, 0, tvb_length(tvb), PSNAME);
14495         tr=proto_item_add_subtree(it, ett_h245);
14496
14497         /* assume that whilst there is more tvb data, there are more h245 commands */
14498         while ( tvb_length_remaining( tvb, offset>>3 )>0 ){
14499                 CLEANUP_PUSH(reset_h245_pi, NULL);
14500                 h245_pi=ep_alloc(sizeof(h245_packet_info));
14501                 init_h245_packet_info(h245_pi);
14502                 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14503                 offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, &asn1_ctx, tr, hf_h245_pdu_type);
14504                 tap_queue_packet(h245dg_tap, pinfo, h245_pi);
14505                 offset = (offset+0x07) & 0xfffffff8;
14506                 CLEANUP_CALL_AND_POP;
14507         }
14508 }
14509
14510 void
14511 dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str) {
14512
14513   fast_start = TRUE;
14514   /* Clean up from any previous packet dissection */
14515   upcoming_olc = NULL;
14516   upcoming_channel = NULL;
14517   codec_type = NULL;
14518
14519   dissect_OpenLogicalChannel_PDU(tvb, pinfo, tree);
14520
14521   if (h245_pi != NULL)
14522           h245_pi->msg_type = H245_OpenLogChn;
14523
14524   if (codec_str && codec_type){
14525         g_strlcpy(codec_str, codec_type, 50);
14526   }
14527
14528 }
14529
14530 /*--- proto_register_h245 -------------------------------------------*/
14531 void proto_register_h245(void) {
14532
14533   /* List of fields */
14534   static hf_register_info hf[] = {
14535     { &hf_h245_pdu_type,
14536  { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
14537                 VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
14538         { &hf_h245Manufacturer,
14539                 { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
14540                 VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
14541
14542 /*--- Included file: packet-h245-hfarr.c ---*/
14543 #line 1 "packet-h245-hfarr.c"
14544     { &hf_h245_OpenLogicalChannel_PDU,
14545       { "OpenLogicalChannel", "h245.OpenLogicalChannel",
14546         FT_NONE, BASE_NONE, NULL, 0,
14547         "h245.OpenLogicalChannel", HFILL }},
14548     { &hf_h245_request,
14549       { "request", "h245.request",
14550         FT_UINT32, BASE_DEC, VALS(h245_RequestMessage_vals), 0,
14551         "h245.RequestMessage", HFILL }},
14552     { &hf_h245_response,
14553       { "response", "h245.response",
14554         FT_UINT32, BASE_DEC, VALS(h245_ResponseMessage_vals), 0,
14555         "h245.ResponseMessage", HFILL }},
14556     { &hf_h245_command,
14557       { "command", "h245.command",
14558         FT_UINT32, BASE_DEC, VALS(h245_CommandMessage_vals), 0,
14559         "h245.CommandMessage", HFILL }},
14560     { &hf_h245_indication,
14561       { "indication", "h245.indication",
14562         FT_UINT32, BASE_DEC, VALS(h245_IndicationMessage_vals), 0,
14563         "h245.IndicationMessage", HFILL }},
14564     { &hf_h245_nonStandardMsg,
14565       { "nonStandard", "h245.nonStandard",
14566         FT_NONE, BASE_NONE, NULL, 0,
14567         "h245.NonStandardMessage", HFILL }},
14568     { &hf_h245_masterSlaveDetermination,
14569       { "masterSlaveDetermination", "h245.masterSlaveDetermination",
14570         FT_NONE, BASE_NONE, NULL, 0,
14571         "h245.MasterSlaveDetermination", HFILL }},
14572     { &hf_h245_terminalCapabilitySet,
14573       { "terminalCapabilitySet", "h245.terminalCapabilitySet",
14574         FT_NONE, BASE_NONE, NULL, 0,
14575         "h245.TerminalCapabilitySet", HFILL }},
14576     { &hf_h245_openLogicalChannel,
14577       { "openLogicalChannel", "h245.openLogicalChannel",
14578         FT_NONE, BASE_NONE, NULL, 0,
14579         "h245.OpenLogicalChannel", HFILL }},
14580     { &hf_h245_closeLogicalChannel,
14581       { "closeLogicalChannel", "h245.closeLogicalChannel",
14582         FT_NONE, BASE_NONE, NULL, 0,
14583         "h245.CloseLogicalChannel", HFILL }},
14584     { &hf_h245_requestChannelClose,
14585       { "requestChannelClose", "h245.requestChannelClose",
14586         FT_NONE, BASE_NONE, NULL, 0,
14587         "h245.RequestChannelClose", HFILL }},
14588     { &hf_h245_multiplexEntrySend,
14589       { "multiplexEntrySend", "h245.multiplexEntrySend",
14590         FT_NONE, BASE_NONE, NULL, 0,
14591         "h245.MultiplexEntrySend", HFILL }},
14592     { &hf_h245_requestMultiplexEntry,
14593       { "requestMultiplexEntry", "h245.requestMultiplexEntry",
14594         FT_NONE, BASE_NONE, NULL, 0,
14595         "h245.RequestMultiplexEntry", HFILL }},
14596     { &hf_h245_requestMode,
14597       { "requestMode", "h245.requestMode",
14598         FT_NONE, BASE_NONE, NULL, 0,
14599         "h245.RequestMode", HFILL }},
14600     { &hf_h245_roundTripDelayRequest,
14601       { "roundTripDelayRequest", "h245.roundTripDelayRequest",
14602         FT_NONE, BASE_NONE, NULL, 0,
14603         "h245.RoundTripDelayRequest", HFILL }},
14604     { &hf_h245_maintenanceLoopRequest,
14605       { "maintenanceLoopRequest", "h245.maintenanceLoopRequest",
14606         FT_NONE, BASE_NONE, NULL, 0,
14607         "h245.MaintenanceLoopRequest", HFILL }},
14608     { &hf_h245_communicationModeRequest,
14609       { "communicationModeRequest", "h245.communicationModeRequest",
14610         FT_NONE, BASE_NONE, NULL, 0,
14611         "h245.CommunicationModeRequest", HFILL }},
14612     { &hf_h245_conferenceRequest,
14613       { "conferenceRequest", "h245.conferenceRequest",
14614         FT_UINT32, BASE_DEC, VALS(h245_ConferenceRequest_vals), 0,
14615         "h245.ConferenceRequest", HFILL }},
14616     { &hf_h245_multilinkRequest,
14617       { "multilinkRequest", "h245.multilinkRequest",
14618         FT_UINT32, BASE_DEC, VALS(h245_MultilinkRequest_vals), 0,
14619         "h245.MultilinkRequest", HFILL }},
14620     { &hf_h245_logicalChannelRateRequest,
14621       { "logicalChannelRateRequest", "h245.logicalChannelRateRequest",
14622         FT_NONE, BASE_NONE, NULL, 0,
14623         "h245.LogicalChannelRateRequest", HFILL }},
14624     { &hf_h245_genericRequest,
14625       { "genericRequest", "h245.genericRequest",
14626         FT_NONE, BASE_NONE, NULL, 0,
14627         "h245.GenericMessage", HFILL }},
14628     { &hf_h245_masterSlaveDeterminationAck,
14629       { "masterSlaveDeterminationAck", "h245.masterSlaveDeterminationAck",
14630         FT_NONE, BASE_NONE, NULL, 0,
14631         "h245.MasterSlaveDeterminationAck", HFILL }},
14632     { &hf_h245_masterSlaveDeterminationReject,
14633       { "masterSlaveDeterminationReject", "h245.masterSlaveDeterminationReject",
14634         FT_NONE, BASE_NONE, NULL, 0,
14635         "h245.MasterSlaveDeterminationReject", HFILL }},
14636     { &hf_h245_terminalCapabilitySetAck,
14637       { "terminalCapabilitySetAck", "h245.terminalCapabilitySetAck",
14638         FT_NONE, BASE_NONE, NULL, 0,
14639         "h245.TerminalCapabilitySetAck", HFILL }},
14640     { &hf_h245_terminalCapabilitySetReject,
14641       { "terminalCapabilitySetReject", "h245.terminalCapabilitySetReject",
14642         FT_NONE, BASE_NONE, NULL, 0,
14643         "h245.TerminalCapabilitySetReject", HFILL }},
14644     { &hf_h245_openLogicalChannelAck,
14645       { "openLogicalChannelAck", "h245.openLogicalChannelAck",
14646         FT_NONE, BASE_NONE, NULL, 0,
14647         "h245.OpenLogicalChannelAck", HFILL }},
14648     { &hf_h245_openLogicalChannelReject,
14649       { "openLogicalChannelReject", "h245.openLogicalChannelReject",
14650         FT_NONE, BASE_NONE, NULL, 0,
14651         "h245.OpenLogicalChannelReject", HFILL }},
14652     { &hf_h245_closeLogicalChannelAck,
14653       { "closeLogicalChannelAck", "h245.closeLogicalChannelAck",
14654         FT_NONE, BASE_NONE, NULL, 0,
14655         "h245.CloseLogicalChannelAck", HFILL }},
14656     { &hf_h245_requestChannelCloseAck,
14657       { "requestChannelCloseAck", "h245.requestChannelCloseAck",
14658         FT_NONE, BASE_NONE, NULL, 0,
14659         "h245.RequestChannelCloseAck", HFILL }},
14660     { &hf_h245_requestChannelCloseReject,
14661       { "requestChannelCloseReject", "h245.requestChannelCloseReject",
14662         FT_NONE, BASE_NONE, NULL, 0,
14663         "h245.RequestChannelCloseReject", HFILL }},
14664     { &hf_h245_multiplexEntrySendAck,
14665       { "multiplexEntrySendAck", "h245.multiplexEntrySendAck",
14666         FT_NONE, BASE_NONE, NULL, 0,
14667         "h245.MultiplexEntrySendAck", HFILL }},
14668     { &hf_h245_multiplexEntrySendReject,
14669       { "multiplexEntrySendReject", "h245.multiplexEntrySendReject",
14670         FT_NONE, BASE_NONE, NULL, 0,
14671         "h245.MultiplexEntrySendReject", HFILL }},
14672     { &hf_h245_requestMultiplexEntryAck,
14673       { "requestMultiplexEntryAck", "h245.requestMultiplexEntryAck",
14674         FT_NONE, BASE_NONE, NULL, 0,
14675         "h245.RequestMultiplexEntryAck", HFILL }},
14676     { &hf_h245_requestMultiplexEntryReject,
14677       { "requestMultiplexEntryReject", "h245.requestMultiplexEntryReject",
14678         FT_NONE, BASE_NONE, NULL, 0,
14679         "h245.RequestMultiplexEntryReject", HFILL }},
14680     { &hf_h245_requestModeAck,
14681       { "requestModeAck", "h245.requestModeAck",
14682         FT_NONE, BASE_NONE, NULL, 0,
14683         "h245.RequestModeAck", HFILL }},
14684     { &hf_h245_requestModeReject,
14685       { "requestModeReject", "h245.requestModeReject",
14686         FT_NONE, BASE_NONE, NULL, 0,
14687         "h245.RequestModeReject", HFILL }},
14688     { &hf_h245_roundTripDelayResponse,
14689       { "roundTripDelayResponse", "h245.roundTripDelayResponse",
14690         FT_NONE, BASE_NONE, NULL, 0,
14691         "h245.RoundTripDelayResponse", HFILL }},
14692     { &hf_h245_maintenanceLoopAck,
14693       { "maintenanceLoopAck", "h245.maintenanceLoopAck",
14694         FT_NONE, BASE_NONE, NULL, 0,
14695         "h245.MaintenanceLoopAck", HFILL }},
14696     { &hf_h245_maintenanceLoopReject,
14697       { "maintenanceLoopReject", "h245.maintenanceLoopReject",
14698         FT_NONE, BASE_NONE, NULL, 0,
14699         "h245.MaintenanceLoopReject", HFILL }},
14700     { &hf_h245_communicationModeResponse,
14701       { "communicationModeResponse", "h245.communicationModeResponse",
14702         FT_UINT32, BASE_DEC, VALS(h245_CommunicationModeResponse_vals), 0,
14703         "h245.CommunicationModeResponse", HFILL }},
14704     { &hf_h245_conferenceResponse,
14705       { "conferenceResponse", "h245.conferenceResponse",
14706         FT_UINT32, BASE_DEC, VALS(h245_ConferenceResponse_vals), 0,
14707         "h245.ConferenceResponse", HFILL }},
14708     { &hf_h245_multilinkResponse,
14709       { "multilinkResponse", "h245.multilinkResponse",
14710         FT_UINT32, BASE_DEC, VALS(h245_MultilinkResponse_vals), 0,
14711         "h245.MultilinkResponse", HFILL }},
14712     { &hf_h245_logicalChannelRateAcknowledge,
14713       { "logicalChannelRateAcknowledge", "h245.logicalChannelRateAcknowledge",
14714         FT_NONE, BASE_NONE, NULL, 0,
14715         "h245.LogicalChannelRateAcknowledge", HFILL }},
14716     { &hf_h245_logicalChannelRateReject,
14717       { "logicalChannelRateReject", "h245.logicalChannelRateReject",
14718         FT_NONE, BASE_NONE, NULL, 0,
14719         "h245.LogicalChannelRateReject", HFILL }},
14720     { &hf_h245_genericResponse,
14721       { "genericResponse", "h245.genericResponse",
14722         FT_NONE, BASE_NONE, NULL, 0,
14723         "h245.GenericMessage", HFILL }},
14724     { &hf_h245_maintenanceLoopOffCommand,
14725       { "maintenanceLoopOffCommand", "h245.maintenanceLoopOffCommand",
14726         FT_NONE, BASE_NONE, NULL, 0,
14727         "h245.MaintenanceLoopOffCommand", HFILL }},
14728     { &hf_h245_sendTerminalCapabilitySet,
14729       { "sendTerminalCapabilitySet", "h245.sendTerminalCapabilitySet",
14730         FT_UINT32, BASE_DEC, VALS(h245_SendTerminalCapabilitySet_vals), 0,
14731         "h245.SendTerminalCapabilitySet", HFILL }},
14732     { &hf_h245_encryptionCommand,
14733       { "encryptionCommand", "h245.encryptionCommand",
14734         FT_UINT32, BASE_DEC, VALS(h245_EncryptionCommand_vals), 0,
14735         "h245.EncryptionCommand", HFILL }},
14736     { &hf_h245_flowControlCommand,
14737       { "flowControlCommand", "h245.flowControlCommand",
14738         FT_NONE, BASE_NONE, NULL, 0,
14739         "h245.FlowControlCommand", HFILL }},
14740     { &hf_h245_endSessionCommand,
14741       { "endSessionCommand", "h245.endSessionCommand",
14742         FT_UINT32, BASE_DEC, VALS(h245_EndSessionCommand_vals), 0,
14743         "h245.EndSessionCommand", HFILL }},
14744     { &hf_h245_miscellaneousCommand,
14745       { "miscellaneousCommand", "h245.miscellaneousCommand",
14746         FT_NONE, BASE_NONE, NULL, 0,
14747         "h245.MiscellaneousCommand", HFILL }},
14748     { &hf_h245_communicationModeCommand,
14749       { "communicationModeCommand", "h245.communicationModeCommand",
14750         FT_NONE, BASE_NONE, NULL, 0,
14751         "h245.CommunicationModeCommand", HFILL }},
14752     { &hf_h245_conferenceCommand,
14753       { "conferenceCommand", "h245.conferenceCommand",
14754         FT_UINT32, BASE_DEC, VALS(h245_ConferenceCommand_vals), 0,
14755         "h245.ConferenceCommand", HFILL }},
14756     { &hf_h245_h223MultiplexReconfiguration,
14757       { "h223MultiplexReconfiguration", "h245.h223MultiplexReconfiguration",
14758         FT_UINT32, BASE_DEC, VALS(h245_H223MultiplexReconfiguration_vals), 0,
14759         "h245.H223MultiplexReconfiguration", HFILL }},
14760     { &hf_h245_newATMVCCommand,
14761       { "newATMVCCommand", "h245.newATMVCCommand",
14762         FT_NONE, BASE_NONE, NULL, 0,
14763         "h245.NewATMVCCommand", HFILL }},
14764     { &hf_h245_mobileMultilinkReconfigurationCommand,
14765       { "mobileMultilinkReconfigurationCommand", "h245.mobileMultilinkReconfigurationCommand",
14766         FT_NONE, BASE_NONE, NULL, 0,
14767         "h245.MobileMultilinkReconfigurationCommand", HFILL }},
14768     { &hf_h245_genericCommand,
14769       { "genericCommand", "h245.genericCommand",
14770         FT_NONE, BASE_NONE, NULL, 0,
14771         "h245.GenericMessage", HFILL }},
14772     { &hf_h245_functionNotUnderstood,
14773       { "functionNotUnderstood", "h245.functionNotUnderstood",
14774         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotUnderstood_vals), 0,
14775         "h245.FunctionNotUnderstood", HFILL }},
14776     { &hf_h245_masterSlaveDeterminationRelease,
14777       { "masterSlaveDeterminationRelease", "h245.masterSlaveDeterminationRelease",
14778         FT_NONE, BASE_NONE, NULL, 0,
14779         "h245.MasterSlaveDeterminationRelease", HFILL }},
14780     { &hf_h245_terminalCapabilitySetRelease,
14781       { "terminalCapabilitySetRelease", "h245.terminalCapabilitySetRelease",
14782         FT_NONE, BASE_NONE, NULL, 0,
14783         "h245.TerminalCapabilitySetRelease", HFILL }},
14784     { &hf_h245_openLogicalChannelConfirm,
14785       { "openLogicalChannelConfirm", "h245.openLogicalChannelConfirm",
14786         FT_NONE, BASE_NONE, NULL, 0,
14787         "h245.OpenLogicalChannelConfirm", HFILL }},
14788     { &hf_h245_requestChannelCloseRelease,
14789       { "requestChannelCloseRelease", "h245.requestChannelCloseRelease",
14790         FT_NONE, BASE_NONE, NULL, 0,
14791         "h245.RequestChannelCloseRelease", HFILL }},
14792     { &hf_h245_multiplexEntrySendRelease,
14793       { "multiplexEntrySendRelease", "h245.multiplexEntrySendRelease",
14794         FT_NONE, BASE_NONE, NULL, 0,
14795         "h245.MultiplexEntrySendRelease", HFILL }},
14796     { &hf_h245_requestMultiplexEntryRelease,
14797       { "requestMultiplexEntryRelease", "h245.requestMultiplexEntryRelease",
14798         FT_NONE, BASE_NONE, NULL, 0,
14799         "h245.RequestMultiplexEntryRelease", HFILL }},
14800     { &hf_h245_requestModeRelease,
14801       { "requestModeRelease", "h245.requestModeRelease",
14802         FT_NONE, BASE_NONE, NULL, 0,
14803         "h245.RequestModeRelease", HFILL }},
14804     { &hf_h245_miscellaneousIndication,
14805       { "miscellaneousIndication", "h245.miscellaneousIndication",
14806         FT_NONE, BASE_NONE, NULL, 0,
14807         "h245.MiscellaneousIndication", HFILL }},
14808     { &hf_h245_jitterIndication,
14809       { "jitterIndication", "h245.jitterIndication",
14810         FT_NONE, BASE_NONE, NULL, 0,
14811         "h245.JitterIndication", HFILL }},
14812     { &hf_h245_h223SkewIndication,
14813       { "h223SkewIndication", "h245.h223SkewIndication",
14814         FT_NONE, BASE_NONE, NULL, 0,
14815         "h245.H223SkewIndication", HFILL }},
14816     { &hf_h245_newATMVCIndication,
14817       { "newATMVCIndication", "h245.newATMVCIndication",
14818         FT_NONE, BASE_NONE, NULL, 0,
14819         "h245.NewATMVCIndication", HFILL }},
14820     { &hf_h245_userInput,
14821       { "userInput", "h245.userInput",
14822         FT_UINT32, BASE_DEC, VALS(h245_UserInputIndication_vals), 0,
14823         "h245.UserInputIndication", HFILL }},
14824     { &hf_h245_h2250MaximumSkewIndication,
14825       { "h2250MaximumSkewIndication", "h245.h2250MaximumSkewIndication",
14826         FT_NONE, BASE_NONE, NULL, 0,
14827         "h245.H2250MaximumSkewIndication", HFILL }},
14828     { &hf_h245_mcLocationIndication,
14829       { "mcLocationIndication", "h245.mcLocationIndication",
14830         FT_NONE, BASE_NONE, NULL, 0,
14831         "h245.MCLocationIndication", HFILL }},
14832     { &hf_h245_conferenceIndication,
14833       { "conferenceIndication", "h245.conferenceIndication",
14834         FT_UINT32, BASE_DEC, VALS(h245_ConferenceIndication_vals), 0,
14835         "h245.ConferenceIndication", HFILL }},
14836     { &hf_h245_vendorIdentification,
14837       { "vendorIdentification", "h245.vendorIdentification",
14838         FT_NONE, BASE_NONE, NULL, 0,
14839         "h245.VendorIdentification", HFILL }},
14840     { &hf_h245_functionNotSupported,
14841       { "functionNotSupported", "h245.functionNotSupported",
14842         FT_NONE, BASE_NONE, NULL, 0,
14843         "h245.FunctionNotSupported", HFILL }},
14844     { &hf_h245_multilinkIndication,
14845       { "multilinkIndication", "h245.multilinkIndication",
14846         FT_UINT32, BASE_DEC, VALS(h245_MultilinkIndication_vals), 0,
14847         "h245.MultilinkIndication", HFILL }},
14848     { &hf_h245_logicalChannelRateRelease,
14849       { "logicalChannelRateRelease", "h245.logicalChannelRateRelease",
14850         FT_NONE, BASE_NONE, NULL, 0,
14851         "h245.LogicalChannelRateRelease", HFILL }},
14852     { &hf_h245_flowControlIndication,
14853       { "flowControlIndication", "h245.flowControlIndication",
14854         FT_NONE, BASE_NONE, NULL, 0,
14855         "h245.FlowControlIndication", HFILL }},
14856     { &hf_h245_mobileMultilinkReconfigurationIndication,
14857       { "mobileMultilinkReconfigurationIndication", "h245.mobileMultilinkReconfigurationIndication",
14858         FT_NONE, BASE_NONE, NULL, 0,
14859         "h245.MobileMultilinkReconfigurationIndication", HFILL }},
14860     { &hf_h245_genericIndication,
14861       { "genericIndication", "h245.genericIndication",
14862         FT_NONE, BASE_NONE, NULL, 0,
14863         "h245.GenericMessage", HFILL }},
14864     { &hf_h245_messageIdentifier,
14865       { "messageIdentifier", "h245.messageIdentifier",
14866         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
14867         "h245.CapabilityIdentifier", HFILL }},
14868     { &hf_h245_subMessageIdentifier,
14869       { "subMessageIdentifier", "h245.subMessageIdentifier",
14870         FT_UINT32, BASE_DEC, NULL, 0,
14871         "h245.T_subMessageIdentifier", HFILL }},
14872     { &hf_h245_messageContent,
14873       { "messageContent", "h245.messageContent",
14874         FT_UINT32, BASE_DEC, NULL, 0,
14875         "h245.T_messageContent", HFILL }},
14876     { &hf_h245_messageContent_item,
14877       { "messageContent item", "h245.messageContent_item",
14878         FT_NONE, BASE_NONE, NULL, 0,
14879         "h245.T_messageContent_item", HFILL }},
14880     { &hf_h245_nonStandardData,
14881       { "nonStandardData", "h245.nonStandardData",
14882         FT_NONE, BASE_NONE, NULL, 0,
14883         "h245.NonStandardParameter", HFILL }},
14884     { &hf_h245_nonStandardIdentifier,
14885       { "nonStandardIdentifier", "h245.nonStandardIdentifier",
14886         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
14887         "h245.NonStandardIdentifier", HFILL }},
14888     { &hf_h245_nsd_data,
14889       { "data", "h245.data",
14890         FT_BYTES, BASE_NONE, NULL, 0,
14891         "h245.T_nsd_data", HFILL }},
14892     { &hf_h245_object,
14893       { "object", "h245.object",
14894         FT_OID, BASE_NONE, NULL, 0,
14895         "h245.T_object", HFILL }},
14896     { &hf_h245_h221NonStandardID,
14897       { "h221NonStandard", "h245.h221NonStandard",
14898         FT_NONE, BASE_NONE, NULL, 0,
14899         "h245.H221NonStandardID", HFILL }},
14900     { &hf_h245_t35CountryCode,
14901       { "t35CountryCode", "h245.t35CountryCode",
14902         FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0,
14903         "h245.T_t35CountryCode", HFILL }},
14904     { &hf_h245_t35Extension,
14905       { "t35Extension", "h245.t35Extension",
14906         FT_UINT32, BASE_DEC, NULL, 0,
14907         "h245.T_t35Extension", HFILL }},
14908     { &hf_h245_manufacturerCode,
14909       { "manufacturerCode", "h245.manufacturerCode",
14910         FT_UINT32, BASE_DEC, NULL, 0,
14911         "h245.T_manufacturerCode", HFILL }},
14912     { &hf_h245_terminalType,
14913       { "terminalType", "h245.terminalType",
14914         FT_UINT32, BASE_DEC, NULL, 0,
14915         "h245.INTEGER_0_255", HFILL }},
14916     { &hf_h245_statusDeterminationNumber,
14917       { "statusDeterminationNumber", "h245.statusDeterminationNumber",
14918         FT_UINT32, BASE_DEC, NULL, 0,
14919         "h245.INTEGER_0_16777215", HFILL }},
14920     { &hf_h245_decision,
14921       { "decision", "h245.decision",
14922         FT_UINT32, BASE_DEC, VALS(h245_T_decision_vals), 0,
14923         "h245.T_decision", HFILL }},
14924     { &hf_h245_master,
14925       { "master", "h245.master",
14926         FT_NONE, BASE_NONE, NULL, 0,
14927         "h245.NULL", HFILL }},
14928     { &hf_h245_slave,
14929       { "slave", "h245.slave",
14930         FT_NONE, BASE_NONE, NULL, 0,
14931         "h245.NULL", HFILL }},
14932     { &hf_h245_msd_rej_cause,
14933       { "cause", "h245.cause",
14934         FT_UINT32, BASE_DEC, VALS(h245_MasterSlaveDeterminationRejectCause_vals), 0,
14935         "h245.MasterSlaveDeterminationRejectCause", HFILL }},
14936     { &hf_h245_identicalNumbers,
14937       { "identicalNumbers", "h245.identicalNumbers",
14938         FT_NONE, BASE_NONE, NULL, 0,
14939         "h245.NULL", HFILL }},
14940     { &hf_h245_sequenceNumber,
14941       { "sequenceNumber", "h245.sequenceNumber",
14942         FT_UINT32, BASE_DEC, NULL, 0,
14943         "h245.SequenceNumber", HFILL }},
14944     { &hf_h245_protocolIdentifier,
14945       { "protocolIdentifier", "h245.protocolIdentifier",
14946         FT_OID, BASE_NONE, NULL, 0,
14947         "h245.OBJECT_IDENTIFIER", HFILL }},
14948     { &hf_h245_multiplexCapability,
14949       { "multiplexCapability", "h245.multiplexCapability",
14950         FT_UINT32, BASE_DEC, VALS(h245_MultiplexCapability_vals), 0,
14951         "h245.MultiplexCapability", HFILL }},
14952     { &hf_h245_capabilityTable,
14953       { "capabilityTable", "h245.capabilityTable",
14954         FT_UINT32, BASE_DEC, NULL, 0,
14955         "h245.SET_SIZE_1_256_OF_CapabilityTableEntry", HFILL }},
14956     { &hf_h245_capabilityTable_item,
14957       { "CapabilityTableEntry", "h245.CapabilityTableEntry",
14958         FT_NONE, BASE_NONE, NULL, 0,
14959         "h245.CapabilityTableEntry", HFILL }},
14960     { &hf_h245_capabilityDescriptors,
14961       { "capabilityDescriptors", "h245.capabilityDescriptors",
14962         FT_UINT32, BASE_DEC, NULL, 0,
14963         "h245.SET_SIZE_1_256_OF_CapabilityDescriptor", HFILL }},
14964     { &hf_h245_capabilityDescriptors_item,
14965       { "CapabilityDescriptor", "h245.CapabilityDescriptor",
14966         FT_NONE, BASE_NONE, NULL, 0,
14967         "h245.CapabilityDescriptor", HFILL }},
14968     { &hf_h245_genericInformation,
14969       { "genericInformation", "h245.genericInformation",
14970         FT_UINT32, BASE_DEC, NULL, 0,
14971         "h245.SEQUENCE_OF_GenericInformation", HFILL }},
14972     { &hf_h245_genericInformation_item,
14973       { "GenericInformation", "h245.GenericInformation",
14974         FT_NONE, BASE_NONE, NULL, 0,
14975         "h245.GenericInformation", HFILL }},
14976     { &hf_h245_capabilityTableEntryNumber,
14977       { "capabilityTableEntryNumber", "h245.capabilityTableEntryNumber",
14978         FT_UINT32, BASE_DEC, NULL, 0,
14979         "h245.CapabilityTableEntryNumber", HFILL }},
14980     { &hf_h245_capability,
14981       { "capability", "h245.capability",
14982         FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0,
14983         "h245.Capability", HFILL }},
14984     { &hf_h245_capabilityDescriptorNumber,
14985       { "capabilityDescriptorNumber", "h245.capabilityDescriptorNumber",
14986         FT_UINT32, BASE_DEC, NULL, 0,
14987         "h245.CapabilityDescriptorNumber", HFILL }},
14988     { &hf_h245_simultaneousCapabilities,
14989       { "simultaneousCapabilities", "h245.simultaneousCapabilities",
14990         FT_UINT32, BASE_DEC, NULL, 0,
14991         "h245.SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
14992     { &hf_h245_simultaneousCapabilities_item,
14993       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
14994         FT_UINT32, BASE_DEC, NULL, 0,
14995         "h245.AlternativeCapabilitySet", HFILL }},
14996     { &hf_h245_AlternativeCapabilitySet_item,
14997       { "alternativeCapability", "h245.CapabilityTableEntryNumber",
14998         FT_UINT32, BASE_DEC, NULL, 0,
14999         "h245.CapabilityTableEntryNumber", HFILL }},
15000     { &hf_h245_tcs_rej_cause,
15001       { "cause", "h245.cause",
15002         FT_UINT32, BASE_DEC, VALS(h245_TerminalCapabilitySetRejectCause_vals), 0,
15003         "h245.TerminalCapabilitySetRejectCause", HFILL }},
15004     { &hf_h245_unspecified,
15005       { "unspecified", "h245.unspecified",
15006         FT_NONE, BASE_NONE, NULL, 0,
15007         "h245.NULL", HFILL }},
15008     { &hf_h245_undefinedTableEntryUsed,
15009       { "undefinedTableEntryUsed", "h245.undefinedTableEntryUsed",
15010         FT_NONE, BASE_NONE, NULL, 0,
15011         "h245.NULL", HFILL }},
15012     { &hf_h245_descriptorCapacityExceeded,
15013       { "descriptorCapacityExceeded", "h245.descriptorCapacityExceeded",
15014         FT_NONE, BASE_NONE, NULL, 0,
15015         "h245.NULL", HFILL }},
15016     { &hf_h245_tableEntryCapacityExceeded,
15017       { "tableEntryCapacityExceeded", "h245.tableEntryCapacityExceeded",
15018         FT_UINT32, BASE_DEC, VALS(h245_T_tableEntryCapacityExceeded_vals), 0,
15019         "h245.T_tableEntryCapacityExceeded", HFILL }},
15020     { &hf_h245_highestEntryNumberProcessed,
15021       { "highestEntryNumberProcessed", "h245.highestEntryNumberProcessed",
15022         FT_UINT32, BASE_DEC, NULL, 0,
15023         "h245.CapabilityTableEntryNumber", HFILL }},
15024     { &hf_h245_noneProcessed,
15025       { "noneProcessed", "h245.noneProcessed",
15026         FT_NONE, BASE_NONE, NULL, 0,
15027         "h245.NULL", HFILL }},
15028     { &hf_h245_nonStandard,
15029       { "nonStandard", "h245.nonStandard",
15030         FT_NONE, BASE_NONE, NULL, 0,
15031         "h245.NonStandardParameter", HFILL }},
15032     { &hf_h245_receiveVideoCapability,
15033       { "receiveVideoCapability", "h245.receiveVideoCapability",
15034         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15035         "h245.VideoCapability", HFILL }},
15036     { &hf_h245_transmitVideoCapability,
15037       { "transmitVideoCapability", "h245.transmitVideoCapability",
15038         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15039         "h245.VideoCapability", HFILL }},
15040     { &hf_h245_receiveAndTransmitVideoCapability,
15041       { "receiveAndTransmitVideoCapability", "h245.receiveAndTransmitVideoCapability",
15042         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15043         "h245.VideoCapability", HFILL }},
15044     { &hf_h245_receiveAudioCapability,
15045       { "receiveAudioCapability", "h245.receiveAudioCapability",
15046         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15047         "h245.AudioCapability", HFILL }},
15048     { &hf_h245_transmitAudioCapability,
15049       { "transmitAudioCapability", "h245.transmitAudioCapability",
15050         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15051         "h245.AudioCapability", HFILL }},
15052     { &hf_h245_receiveAndTransmitAudioCapability,
15053       { "receiveAndTransmitAudioCapability", "h245.receiveAndTransmitAudioCapability",
15054         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15055         "h245.AudioCapability", HFILL }},
15056     { &hf_h245_receiveDataApplicationCapability,
15057       { "receiveDataApplicationCapability", "h245.receiveDataApplicationCapability",
15058         FT_NONE, BASE_NONE, NULL, 0,
15059         "h245.DataApplicationCapability", HFILL }},
15060     { &hf_h245_transmitDataApplicationCapability,
15061       { "transmitDataApplicationCapability", "h245.transmitDataApplicationCapability",
15062         FT_NONE, BASE_NONE, NULL, 0,
15063         "h245.DataApplicationCapability", HFILL }},
15064     { &hf_h245_receiveAndTransmitDataApplicationCapability,
15065       { "receiveAndTransmitDataApplicationCapability", "h245.receiveAndTransmitDataApplicationCapability",
15066         FT_NONE, BASE_NONE, NULL, 0,
15067         "h245.DataApplicationCapability", HFILL }},
15068     { &hf_h245_h233EncryptionTransmitCapability,
15069       { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability",
15070         FT_BOOLEAN, BASE_NONE, NULL, 0,
15071         "h245.BOOLEAN", HFILL }},
15072     { &hf_h245_h233EncryptionReceiveCapability,
15073       { "h233EncryptionReceiveCapability", "h245.h233EncryptionReceiveCapability",
15074         FT_NONE, BASE_NONE, NULL, 0,
15075         "h245.T_h233EncryptionReceiveCapability", HFILL }},
15076     { &hf_h245_h233IVResponseTime,
15077       { "h233IVResponseTime", "h245.h233IVResponseTime",
15078         FT_UINT32, BASE_DEC, NULL, 0,
15079         "h245.INTEGER_0_255", HFILL }},
15080     { &hf_h245_conferenceCapability,
15081       { "conferenceCapability", "h245.conferenceCapability",
15082         FT_NONE, BASE_NONE, NULL, 0,
15083         "h245.ConferenceCapability", HFILL }},
15084     { &hf_h245_h235SecurityCapability,
15085       { "h235SecurityCapability", "h245.h235SecurityCapability",
15086         FT_NONE, BASE_NONE, NULL, 0,
15087         "h245.H235SecurityCapability", HFILL }},
15088     { &hf_h245_maxPendingReplacementFor,
15089       { "maxPendingReplacementFor", "h245.maxPendingReplacementFor",
15090         FT_UINT32, BASE_DEC, NULL, 0,
15091         "h245.INTEGER_0_255", HFILL }},
15092     { &hf_h245_receiveUserInputCapability,
15093       { "receiveUserInputCapability", "h245.receiveUserInputCapability",
15094         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15095         "h245.UserInputCapability", HFILL }},
15096     { &hf_h245_transmitUserInputCapability,
15097       { "transmitUserInputCapability", "h245.transmitUserInputCapability",
15098         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15099         "h245.UserInputCapability", HFILL }},
15100     { &hf_h245_receiveAndTransmitUserInputCapability,
15101       { "receiveAndTransmitUserInputCapability", "h245.receiveAndTransmitUserInputCapability",
15102         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15103         "h245.UserInputCapability", HFILL }},
15104     { &hf_h245_genericControlCapability,
15105       { "genericControlCapability", "h245.genericControlCapability",
15106         FT_NONE, BASE_NONE, NULL, 0,
15107         "h245.GenericCapability", HFILL }},
15108     { &hf_h245_receiveMultiplexedStreamCapability,
15109       { "receiveMultiplexedStreamCapability", "h245.receiveMultiplexedStreamCapability",
15110         FT_NONE, BASE_NONE, NULL, 0,
15111         "h245.MultiplexedStreamCapability", HFILL }},
15112     { &hf_h245_transmitMultiplexedStreamCapability,
15113       { "transmitMultiplexedStreamCapability", "h245.transmitMultiplexedStreamCapability",
15114         FT_NONE, BASE_NONE, NULL, 0,
15115         "h245.MultiplexedStreamCapability", HFILL }},
15116     { &hf_h245_receiveAndTransmitMultiplexedStreamCapability,
15117       { "receiveAndTransmitMultiplexedStreamCapability", "h245.receiveAndTransmitMultiplexedStreamCapability",
15118         FT_NONE, BASE_NONE, NULL, 0,
15119         "h245.MultiplexedStreamCapability", HFILL }},
15120     { &hf_h245_receiveRTPAudioTelephonyEventCapability,
15121       { "receiveRTPAudioTelephonyEventCapability", "h245.receiveRTPAudioTelephonyEventCapability",
15122         FT_NONE, BASE_NONE, NULL, 0,
15123         "h245.AudioTelephonyEventCapability", HFILL }},
15124     { &hf_h245_receiveRTPAudioToneCapability,
15125       { "receiveRTPAudioToneCapability", "h245.receiveRTPAudioToneCapability",
15126         FT_NONE, BASE_NONE, NULL, 0,
15127         "h245.AudioToneCapability", HFILL }},
15128     { &hf_h245_depFecCapability,
15129       { "depFecCapability", "h245.depFecCapability",
15130         FT_UINT32, BASE_DEC, VALS(h245_DepFECCapability_vals), 0,
15131         "h245.DepFECCapability", HFILL }},
15132     { &hf_h245_multiplePayloadStreamCapability,
15133       { "multiplePayloadStreamCapability", "h245.multiplePayloadStreamCapability",
15134         FT_NONE, BASE_NONE, NULL, 0,
15135         "h245.MultiplePayloadStreamCapability", HFILL }},
15136     { &hf_h245_fecCapability,
15137       { "fecCapability", "h245.fecCapability",
15138         FT_NONE, BASE_NONE, NULL, 0,
15139         "h245.FECCapability", HFILL }},
15140     { &hf_h245_redundancyEncodingCap,
15141       { "redundancyEncodingCap", "h245.redundancyEncodingCap",
15142         FT_NONE, BASE_NONE, NULL, 0,
15143         "h245.RedundancyEncodingCapability", HFILL }},
15144     { &hf_h245_oneOfCapabilities,
15145       { "oneOfCapabilities", "h245.oneOfCapabilities",
15146         FT_UINT32, BASE_DEC, NULL, 0,
15147         "h245.AlternativeCapabilitySet", HFILL }},
15148     { &hf_h245_encryptionAuthenticationAndIntegrity,
15149       { "encryptionAuthenticationAndIntegrity", "h245.encryptionAuthenticationAndIntegrity",
15150         FT_NONE, BASE_NONE, NULL, 0,
15151         "h245.EncryptionAuthenticationAndIntegrity", HFILL }},
15152     { &hf_h245_mediaCapability,
15153       { "mediaCapability", "h245.mediaCapability",
15154         FT_UINT32, BASE_DEC, NULL, 0,
15155         "h245.CapabilityTableEntryNumber", HFILL }},
15156     { &hf_h245_h222Capability,
15157       { "h222Capability", "h245.h222Capability",
15158         FT_NONE, BASE_NONE, NULL, 0,
15159         "h245.H222Capability", HFILL }},
15160     { &hf_h245_h223Capability,
15161       { "h223Capability", "h245.h223Capability",
15162         FT_NONE, BASE_NONE, NULL, 0,
15163         "h245.H223Capability", HFILL }},
15164     { &hf_h245_v76Capability,
15165       { "v76Capability", "h245.v76Capability",
15166         FT_NONE, BASE_NONE, NULL, 0,
15167         "h245.V76Capability", HFILL }},
15168     { &hf_h245_h2250Capability,
15169       { "h2250Capability", "h245.h2250Capability",
15170         FT_NONE, BASE_NONE, NULL, 0,
15171         "h245.H2250Capability", HFILL }},
15172     { &hf_h245_genericMultiplexCapability,
15173       { "genericMultiplexCapability", "h245.genericMultiplexCapability",
15174         FT_NONE, BASE_NONE, NULL, 0,
15175         "h245.GenericCapability", HFILL }},
15176     { &hf_h245_numberOfVCs,
15177       { "numberOfVCs", "h245.numberOfVCs",
15178         FT_UINT32, BASE_DEC, NULL, 0,
15179         "h245.INTEGER_1_256", HFILL }},
15180     { &hf_h245_vcCapability,
15181       { "vcCapability", "h245.vcCapability",
15182         FT_UINT32, BASE_DEC, NULL, 0,
15183         "h245.SET_OF_VCCapability", HFILL }},
15184     { &hf_h245_vcCapability_item,
15185       { "VCCapability", "h245.VCCapability",
15186         FT_NONE, BASE_NONE, NULL, 0,
15187         "h245.VCCapability", HFILL }},
15188     { &hf_h245_aal1,
15189       { "aal1", "h245.aal1",
15190         FT_NONE, BASE_NONE, NULL, 0,
15191         "h245.T_aal1", HFILL }},
15192     { &hf_h245_nullClockRecovery,
15193       { "nullClockRecovery", "h245.nullClockRecovery",
15194         FT_BOOLEAN, BASE_NONE, NULL, 0,
15195         "h245.BOOLEAN", HFILL }},
15196     { &hf_h245_srtsClockRecovery_bool,
15197       { "srtsClockRecovery", "h245.srtsClockRecovery",
15198         FT_BOOLEAN, BASE_NONE, NULL, 0,
15199         "h245.BOOLEAN", HFILL }},
15200     { &hf_h245_adaptiveClockRecovery,
15201       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
15202         FT_BOOLEAN, BASE_NONE, NULL, 0,
15203         "h245.BOOLEAN", HFILL }},
15204     { &hf_h245_nullErrorCorrection,
15205       { "nullErrorCorrection", "h245.nullErrorCorrection",
15206         FT_BOOLEAN, BASE_NONE, NULL, 0,
15207         "h245.BOOLEAN", HFILL }},
15208     { &hf_h245_longInterleaver,
15209       { "longInterleaver", "h245.longInterleaver",
15210         FT_BOOLEAN, BASE_NONE, NULL, 0,
15211         "h245.BOOLEAN", HFILL }},
15212     { &hf_h245_shortInterleaver,
15213       { "shortInterleaver", "h245.shortInterleaver",
15214         FT_BOOLEAN, BASE_NONE, NULL, 0,
15215         "h245.BOOLEAN", HFILL }},
15216     { &hf_h245_errorCorrectionOnly,
15217       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
15218         FT_BOOLEAN, BASE_NONE, NULL, 0,
15219         "h245.BOOLEAN", HFILL }},
15220     { &hf_h245_structuredDataTransfer,
15221       { "structuredDataTransfer", "h245.structuredDataTransfer",
15222         FT_BOOLEAN, BASE_NONE, NULL, 0,
15223         "h245.BOOLEAN", HFILL }},
15224     { &hf_h245_partiallyFilledCells,
15225       { "partiallyFilledCells", "h245.partiallyFilledCells",
15226         FT_BOOLEAN, BASE_NONE, NULL, 0,
15227         "h245.BOOLEAN", HFILL }},
15228     { &hf_h245_aal5,
15229       { "aal5", "h245.aal5",
15230         FT_NONE, BASE_NONE, NULL, 0,
15231         "h245.T_aal5", HFILL }},
15232     { &hf_h245_forwardMaximumSDUSize,
15233       { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize",
15234         FT_UINT32, BASE_DEC, NULL, 0,
15235         "h245.INTEGER_0_65535", HFILL }},
15236     { &hf_h245_backwardMaximumSDUSize,
15237       { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize",
15238         FT_UINT32, BASE_DEC, NULL, 0,
15239         "h245.INTEGER_0_65535", HFILL }},
15240     { &hf_h245_transportStream_bool,
15241       { "transportStream", "h245.transportStream",
15242         FT_BOOLEAN, BASE_NONE, NULL, 0,
15243         "h245.BOOLEAN", HFILL }},
15244     { &hf_h245_programStream,
15245       { "programStream", "h245.programStream",
15246         FT_BOOLEAN, BASE_NONE, NULL, 0,
15247         "h245.BOOLEAN", HFILL }},
15248     { &hf_h245_availableBitRates,
15249       { "availableBitRates", "h245.availableBitRates",
15250         FT_NONE, BASE_NONE, NULL, 0,
15251         "h245.T_availableBitRates", HFILL }},
15252     { &hf_h245_avb_type,
15253       { "type", "h245.type",
15254         FT_UINT32, BASE_DEC, VALS(h245_Avb_type_vals), 0,
15255         "h245.Avb_type", HFILL }},
15256     { &hf_h245_singleBitRate,
15257       { "singleBitRate", "h245.singleBitRate",
15258         FT_UINT32, BASE_DEC, NULL, 0,
15259         "h245.INTEGER_1_65535", HFILL }},
15260     { &hf_h245_rangeOfBitRates,
15261       { "rangeOfBitRates", "h245.rangeOfBitRates",
15262         FT_NONE, BASE_NONE, NULL, 0,
15263         "h245.T_rangeOfBitRates", HFILL }},
15264     { &hf_h245_lowerBitRate,
15265       { "lowerBitRate", "h245.lowerBitRate",
15266         FT_UINT32, BASE_DEC, NULL, 0,
15267         "h245.INTEGER_1_65535", HFILL }},
15268     { &hf_h245_higherBitRate,
15269       { "higherBitRate", "h245.higherBitRate",
15270         FT_UINT32, BASE_DEC, NULL, 0,
15271         "h245.INTEGER_1_65535", HFILL }},
15272     { &hf_h245_aal1ViaGateway,
15273       { "aal1ViaGateway", "h245.aal1ViaGateway",
15274         FT_NONE, BASE_NONE, NULL, 0,
15275         "h245.T_aal1ViaGateway", HFILL }},
15276     { &hf_h245_gatewayAddress,
15277       { "gatewayAddress", "h245.gatewayAddress",
15278         FT_UINT32, BASE_DEC, NULL, 0,
15279         "h245.SET_SIZE_1_256_OF_Q2931Address", HFILL }},
15280     { &hf_h245_gatewayAddress_item,
15281       { "Q2931Address", "h245.Q2931Address",
15282         FT_NONE, BASE_NONE, NULL, 0,
15283         "h245.Q2931Address", HFILL }},
15284     { &hf_h245_srtsClockRecoveryflag,
15285       { "srtsClockRecovery", "h245.srtsClockRecovery",
15286         FT_BOOLEAN, BASE_NONE, NULL, 0,
15287         "h245.BOOLEAN", HFILL }},
15288     { &hf_h245_transportWithI_frames,
15289       { "transportWithI-frames", "h245.transportWithI_frames",
15290         FT_BOOLEAN, BASE_NONE, NULL, 0,
15291         "h245.BOOLEAN", HFILL }},
15292     { &hf_h245_videoWithAL1,
15293       { "videoWithAL1", "h245.videoWithAL1",
15294         FT_BOOLEAN, BASE_NONE, NULL, 0,
15295         "h245.BOOLEAN", HFILL }},
15296     { &hf_h245_videoWithAL2,
15297       { "videoWithAL2", "h245.videoWithAL2",
15298         FT_BOOLEAN, BASE_NONE, NULL, 0,
15299         "h245.BOOLEAN", HFILL }},
15300     { &hf_h245_videoWithAL3,
15301       { "videoWithAL3", "h245.videoWithAL3",
15302         FT_BOOLEAN, BASE_NONE, NULL, 0,
15303         "h245.BOOLEAN", HFILL }},
15304     { &hf_h245_audioWithAL1,
15305       { "audioWithAL1", "h245.audioWithAL1",
15306         FT_BOOLEAN, BASE_NONE, NULL, 0,
15307         "h245.BOOLEAN", HFILL }},
15308     { &hf_h245_audioWithAL2,
15309       { "audioWithAL2", "h245.audioWithAL2",
15310         FT_BOOLEAN, BASE_NONE, NULL, 0,
15311         "h245.BOOLEAN", HFILL }},
15312     { &hf_h245_audioWithAL3,
15313       { "audioWithAL3", "h245.audioWithAL3",
15314         FT_BOOLEAN, BASE_NONE, NULL, 0,
15315         "h245.BOOLEAN", HFILL }},
15316     { &hf_h245_dataWithAL1,
15317       { "dataWithAL1", "h245.dataWithAL1",
15318         FT_BOOLEAN, BASE_NONE, NULL, 0,
15319         "h245.BOOLEAN", HFILL }},
15320     { &hf_h245_dataWithAL2,
15321       { "dataWithAL2", "h245.dataWithAL2",
15322         FT_BOOLEAN, BASE_NONE, NULL, 0,
15323         "h245.BOOLEAN", HFILL }},
15324     { &hf_h245_dataWithAL3,
15325       { "dataWithAL3", "h245.dataWithAL3",
15326         FT_BOOLEAN, BASE_NONE, NULL, 0,
15327         "h245.BOOLEAN", HFILL }},
15328     { &hf_h245_maximumAl2SDUSize,
15329       { "maximumAl2SDUSize", "h245.maximumAl2SDUSize",
15330         FT_UINT32, BASE_DEC, NULL, 0,
15331         "h245.INTEGER_0_65535", HFILL }},
15332     { &hf_h245_maximumAl3SDUSize,
15333       { "maximumAl3SDUSize", "h245.maximumAl3SDUSize",
15334         FT_UINT32, BASE_DEC, NULL, 0,
15335         "h245.INTEGER_0_65535", HFILL }},
15336     { &hf_h245_maximumDelayJitter,
15337       { "maximumDelayJitter", "h245.maximumDelayJitter",
15338         FT_UINT32, BASE_DEC, NULL, 0,
15339         "h245.INTEGER_0_1023", HFILL }},
15340     { &hf_h245_h223MultiplexTableCapability,
15341       { "h223MultiplexTableCapability", "h245.h223MultiplexTableCapability",
15342         FT_UINT32, BASE_DEC, VALS(h245_T_h223MultiplexTableCapability_vals), 0,
15343         "h245.T_h223MultiplexTableCapability", HFILL }},
15344     { &hf_h245_basic,
15345       { "basic", "h245.basic",
15346         FT_NONE, BASE_NONE, NULL, 0,
15347         "h245.NULL", HFILL }},
15348     { &hf_h245_enhanced,
15349       { "enhanced", "h245.enhanced",
15350         FT_NONE, BASE_NONE, NULL, 0,
15351         "h245.T_enhanced", HFILL }},
15352     { &hf_h245_maximumNestingDepth,
15353       { "maximumNestingDepth", "h245.maximumNestingDepth",
15354         FT_UINT32, BASE_DEC, NULL, 0,
15355         "h245.INTEGER_1_15", HFILL }},
15356     { &hf_h245_maximumElementListSize,
15357       { "maximumElementListSize", "h245.maximumElementListSize",
15358         FT_UINT32, BASE_DEC, NULL, 0,
15359         "h245.INTEGER_2_255", HFILL }},
15360     { &hf_h245_maximumSubElementListSize,
15361       { "maximumSubElementListSize", "h245.maximumSubElementListSize",
15362         FT_UINT32, BASE_DEC, NULL, 0,
15363         "h245.INTEGER_2_255", HFILL }},
15364     { &hf_h245_maxMUXPDUSizeCapability,
15365       { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability",
15366         FT_BOOLEAN, BASE_NONE, NULL, 0,
15367         "h245.BOOLEAN", HFILL }},
15368     { &hf_h245_nsrpSupport,
15369       { "nsrpSupport", "h245.nsrpSupport",
15370         FT_BOOLEAN, BASE_NONE, NULL, 0,
15371         "h245.BOOLEAN", HFILL }},
15372     { &hf_h245_mobileOperationTransmitCapability,
15373       { "mobileOperationTransmitCapability", "h245.mobileOperationTransmitCapability",
15374         FT_NONE, BASE_NONE, NULL, 0,
15375         "h245.T_mobileOperationTransmitCapability", HFILL }},
15376     { &hf_h245_modeChangeCapability,
15377       { "modeChangeCapability", "h245.modeChangeCapability",
15378         FT_BOOLEAN, BASE_NONE, NULL, 0,
15379         "h245.BOOLEAN", HFILL }},
15380     { &hf_h245_h223AnnexA,
15381       { "h223AnnexA", "h245.h223AnnexA",
15382         FT_BOOLEAN, BASE_NONE, NULL, 0,
15383         "h245.BOOLEAN", HFILL }},
15384     { &hf_h245_h223AnnexADoubleFlagFlag,
15385       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
15386         FT_BOOLEAN, BASE_NONE, NULL, 0,
15387         "h245.BOOLEAN", HFILL }},
15388     { &hf_h245_h223AnnexB,
15389       { "h223AnnexB", "h245.h223AnnexB",
15390         FT_BOOLEAN, BASE_NONE, NULL, 0,
15391         "h245.BOOLEAN", HFILL }},
15392     { &hf_h245_h223AnnexBwithHeader,
15393       { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader",
15394         FT_BOOLEAN, BASE_NONE, NULL, 0,
15395         "h245.BOOLEAN", HFILL }},
15396     { &hf_h245_h223AnnexCCapability,
15397       { "h223AnnexCCapability", "h245.h223AnnexCCapability",
15398         FT_NONE, BASE_NONE, NULL, 0,
15399         "h245.H223AnnexCCapability", HFILL }},
15400     { &hf_h245_bitRate_1_19200,
15401       { "bitRate", "h245.bitRate",
15402         FT_UINT32, BASE_DEC, NULL, 0,
15403         "h245.INTEGER_1_19200", HFILL }},
15404     { &hf_h245_mobileMultilinkFrameCapability,
15405       { "mobileMultilinkFrameCapability", "h245.mobileMultilinkFrameCapability",
15406         FT_NONE, BASE_NONE, NULL, 0,
15407         "h245.T_mobileMultilinkFrameCapability", HFILL }},
15408     { &hf_h245_maximumSampleSize,
15409       { "maximumSampleSize", "h245.maximumSampleSize",
15410         FT_UINT32, BASE_DEC, NULL, 0,
15411         "h245.INTEGER_1_255", HFILL }},
15412     { &hf_h245_maximumPayloadLength,
15413       { "maximumPayloadLength", "h245.maximumPayloadLength",
15414         FT_UINT32, BASE_DEC, NULL, 0,
15415         "h245.INTEGER_1_65025", HFILL }},
15416     { &hf_h245_videoWithAL1M,
15417       { "videoWithAL1M", "h245.videoWithAL1M",
15418         FT_BOOLEAN, BASE_NONE, NULL, 0,
15419         "h245.BOOLEAN", HFILL }},
15420     { &hf_h245_videoWithAL2M,
15421       { "videoWithAL2M", "h245.videoWithAL2M",
15422         FT_BOOLEAN, BASE_NONE, NULL, 0,
15423         "h245.BOOLEAN", HFILL }},
15424     { &hf_h245_videoWithAL3M,
15425       { "videoWithAL3M", "h245.videoWithAL3M",
15426         FT_BOOLEAN, BASE_NONE, NULL, 0,
15427         "h245.BOOLEAN", HFILL }},
15428     { &hf_h245_audioWithAL1M,
15429       { "audioWithAL1M", "h245.audioWithAL1M",
15430         FT_BOOLEAN, BASE_NONE, NULL, 0,
15431         "h245.BOOLEAN", HFILL }},
15432     { &hf_h245_audioWithAL2M,
15433       { "audioWithAL2M", "h245.audioWithAL2M",
15434         FT_BOOLEAN, BASE_NONE, NULL, 0,
15435         "h245.BOOLEAN", HFILL }},
15436     { &hf_h245_audioWithAL3M,
15437       { "audioWithAL3M", "h245.audioWithAL3M",
15438         FT_BOOLEAN, BASE_NONE, NULL, 0,
15439         "h245.BOOLEAN", HFILL }},
15440     { &hf_h245_dataWithAL1M,
15441       { "dataWithAL1M", "h245.dataWithAL1M",
15442         FT_BOOLEAN, BASE_NONE, NULL, 0,
15443         "h245.BOOLEAN", HFILL }},
15444     { &hf_h245_dataWithAL2M,
15445       { "dataWithAL2M", "h245.dataWithAL2M",
15446         FT_BOOLEAN, BASE_NONE, NULL, 0,
15447         "h245.BOOLEAN", HFILL }},
15448     { &hf_h245_dataWithAL3M,
15449       { "dataWithAL3M", "h245.dataWithAL3M",
15450         FT_BOOLEAN, BASE_NONE, NULL, 0,
15451         "h245.BOOLEAN", HFILL }},
15452     { &hf_h245_alpduInterleaving,
15453       { "alpduInterleaving", "h245.alpduInterleaving",
15454         FT_BOOLEAN, BASE_NONE, NULL, 0,
15455         "h245.BOOLEAN", HFILL }},
15456     { &hf_h245_maximumAL1MPDUSize,
15457       { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize",
15458         FT_UINT32, BASE_DEC, NULL, 0,
15459         "h245.INTEGER_0_65535", HFILL }},
15460     { &hf_h245_maximumAL2MSDUSize,
15461       { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize",
15462         FT_UINT32, BASE_DEC, NULL, 0,
15463         "h245.INTEGER_0_65535", HFILL }},
15464     { &hf_h245_maximumAL3MSDUSize,
15465       { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize",
15466         FT_UINT32, BASE_DEC, NULL, 0,
15467         "h245.INTEGER_0_65535", HFILL }},
15468     { &hf_h245_rsCodeCapability,
15469       { "rsCodeCapability", "h245.rsCodeCapability",
15470         FT_BOOLEAN, BASE_NONE, NULL, 0,
15471         "h245.BOOLEAN", HFILL }},
15472     { &hf_h245_suspendResumeCapabilitywAddress,
15473       { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress",
15474         FT_BOOLEAN, BASE_NONE, NULL, 0,
15475         "h245.BOOLEAN", HFILL }},
15476     { &hf_h245_suspendResumeCapabilitywoAddress,
15477       { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress",
15478         FT_BOOLEAN, BASE_NONE, NULL, 0,
15479         "h245.BOOLEAN", HFILL }},
15480     { &hf_h245_rejCapability,
15481       { "rejCapability", "h245.rejCapability",
15482         FT_BOOLEAN, BASE_NONE, NULL, 0,
15483         "h245.BOOLEAN", HFILL }},
15484     { &hf_h245_sREJCapability,
15485       { "sREJCapability", "h245.sREJCapability",
15486         FT_BOOLEAN, BASE_NONE, NULL, 0,
15487         "h245.BOOLEAN", HFILL }},
15488     { &hf_h245_mREJCapability,
15489       { "mREJCapability", "h245.mREJCapability",
15490         FT_BOOLEAN, BASE_NONE, NULL, 0,
15491         "h245.BOOLEAN", HFILL }},
15492     { &hf_h245_crc8bitCapability,
15493       { "crc8bitCapability", "h245.crc8bitCapability",
15494         FT_BOOLEAN, BASE_NONE, NULL, 0,
15495         "h245.BOOLEAN", HFILL }},
15496     { &hf_h245_crc16bitCapability,
15497       { "crc16bitCapability", "h245.crc16bitCapability",
15498         FT_BOOLEAN, BASE_NONE, NULL, 0,
15499         "h245.BOOLEAN", HFILL }},
15500     { &hf_h245_crc32bitCapability,
15501       { "crc32bitCapability", "h245.crc32bitCapability",
15502         FT_BOOLEAN, BASE_NONE, NULL, 0,
15503         "h245.BOOLEAN", HFILL }},
15504     { &hf_h245_uihCapability,
15505       { "uihCapability", "h245.uihCapability",
15506         FT_BOOLEAN, BASE_NONE, NULL, 0,
15507         "h245.BOOLEAN", HFILL }},
15508     { &hf_h245_numOfDLCS,
15509       { "numOfDLCS", "h245.numOfDLCS",
15510         FT_UINT32, BASE_DEC, NULL, 0,
15511         "h245.INTEGER_2_8191", HFILL }},
15512     { &hf_h245_twoOctetAddressFieldCapability,
15513       { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability",
15514         FT_BOOLEAN, BASE_NONE, NULL, 0,
15515         "h245.BOOLEAN", HFILL }},
15516     { &hf_h245_loopBackTestCapability,
15517       { "loopBackTestCapability", "h245.loopBackTestCapability",
15518         FT_BOOLEAN, BASE_NONE, NULL, 0,
15519         "h245.BOOLEAN", HFILL }},
15520     { &hf_h245_n401Capability,
15521       { "n401Capability", "h245.n401Capability",
15522         FT_UINT32, BASE_DEC, NULL, 0,
15523         "h245.INTEGER_1_4095", HFILL }},
15524     { &hf_h245_maxWindowSizeCapability,
15525       { "maxWindowSizeCapability", "h245.maxWindowSizeCapability",
15526         FT_UINT32, BASE_DEC, NULL, 0,
15527         "h245.INTEGER_1_127", HFILL }},
15528     { &hf_h245_v75Capability,
15529       { "v75Capability", "h245.v75Capability",
15530         FT_NONE, BASE_NONE, NULL, 0,
15531         "h245.V75Capability", HFILL }},
15532     { &hf_h245_audioHeader,
15533       { "audioHeader", "h245.audioHeader",
15534         FT_BOOLEAN, BASE_NONE, NULL, 0,
15535         "h245.BOOLEAN", HFILL }},
15536     { &hf_h245_maximumAudioDelayJitter,
15537       { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter",
15538         FT_UINT32, BASE_DEC, NULL, 0,
15539         "h245.INTEGER_0_1023", HFILL }},
15540     { &hf_h245_receiveMultipointCapability,
15541       { "receiveMultipointCapability", "h245.receiveMultipointCapability",
15542         FT_NONE, BASE_NONE, NULL, 0,
15543         "h245.MultipointCapability", HFILL }},
15544     { &hf_h245_transmitMultipointCapability,
15545       { "transmitMultipointCapability", "h245.transmitMultipointCapability",
15546         FT_NONE, BASE_NONE, NULL, 0,
15547         "h245.MultipointCapability", HFILL }},
15548     { &hf_h245_receiveAndTransmitMultipointCapability,
15549       { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability",
15550         FT_NONE, BASE_NONE, NULL, 0,
15551         "h245.MultipointCapability", HFILL }},
15552     { &hf_h245_mcCapability,
15553       { "mcCapability", "h245.mcCapability",
15554         FT_NONE, BASE_NONE, NULL, 0,
15555         "h245.T_mcCapability", HFILL }},
15556     { &hf_h245_centralizedConferenceMC,
15557       { "centralizedConferenceMC", "h245.centralizedConferenceMC",
15558         FT_BOOLEAN, BASE_NONE, NULL, 0,
15559         "h245.BOOLEAN", HFILL }},
15560     { &hf_h245_decentralizedConferenceMC,
15561       { "decentralizedConferenceMC", "h245.decentralizedConferenceMC",
15562         FT_BOOLEAN, BASE_NONE, NULL, 0,
15563         "h245.BOOLEAN", HFILL }},
15564     { &hf_h245_rtcpVideoControlCapability,
15565       { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability",
15566         FT_BOOLEAN, BASE_NONE, NULL, 0,
15567         "h245.BOOLEAN", HFILL }},
15568     { &hf_h245_mediaPacketizationCapability,
15569       { "mediaPacketizationCapability", "h245.mediaPacketizationCapability",
15570         FT_NONE, BASE_NONE, NULL, 0,
15571         "h245.MediaPacketizationCapability", HFILL }},
15572     { &hf_h245_transportCapability,
15573       { "transportCapability", "h245.transportCapability",
15574         FT_NONE, BASE_NONE, NULL, 0,
15575         "h245.TransportCapability", HFILL }},
15576     { &hf_h245_redundancyEncodingCapability,
15577       { "redundancyEncodingCapability", "h245.redundancyEncodingCapability",
15578         FT_UINT32, BASE_DEC, NULL, 0,
15579         "h245.SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability", HFILL }},
15580     { &hf_h245_redundancyEncodingCapability_item,
15581       { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability",
15582         FT_NONE, BASE_NONE, NULL, 0,
15583         "h245.RedundancyEncodingCapability", HFILL }},
15584     { &hf_h245_logicalChannelSwitchingCapability,
15585       { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability",
15586         FT_BOOLEAN, BASE_NONE, NULL, 0,
15587         "h245.BOOLEAN", HFILL }},
15588     { &hf_h245_t120DynamicPortCapability,
15589       { "t120DynamicPortCapability", "h245.t120DynamicPortCapability",
15590         FT_BOOLEAN, BASE_NONE, NULL, 0,
15591         "h245.BOOLEAN", HFILL }},
15592     { &hf_h245_h261aVideoPacketization,
15593       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
15594         FT_BOOLEAN, BASE_NONE, NULL, 0,
15595         "h245.BOOLEAN", HFILL }},
15596     { &hf_h245_rtpPayloadTypes,
15597       { "rtpPayloadType", "h245.rtpPayloadType",
15598         FT_UINT32, BASE_DEC, NULL, 0,
15599         "h245.SEQUENCE_SIZE_1_256_OF_RTPPayloadType", HFILL }},
15600     { &hf_h245_rtpPayloadTypes_item,
15601       { "RTPPayloadType", "h245.RTPPayloadType",
15602         FT_NONE, BASE_NONE, NULL, 0,
15603         "h245.RTPPayloadType", HFILL }},
15604     { &hf_h245_qosMode,
15605       { "qosMode", "h245.qosMode",
15606         FT_UINT32, BASE_DEC, VALS(h245_QOSMode_vals), 0,
15607         "h245.QOSMode", HFILL }},
15608     { &hf_h245_tokenRate,
15609       { "tokenRate", "h245.tokenRate",
15610         FT_UINT32, BASE_DEC, NULL, 0,
15611         "h245.INTEGER_1_4294967295", HFILL }},
15612     { &hf_h245_bucketSize,
15613       { "bucketSize", "h245.bucketSize",
15614         FT_UINT32, BASE_DEC, NULL, 0,
15615         "h245.INTEGER_1_4294967295", HFILL }},
15616     { &hf_h245_peakRate,
15617       { "peakRate", "h245.peakRate",
15618         FT_UINT32, BASE_DEC, NULL, 0,
15619         "h245.INTEGER_1_4294967295", HFILL }},
15620     { &hf_h245_minPoliced,
15621       { "minPoliced", "h245.minPoliced",
15622         FT_UINT32, BASE_DEC, NULL, 0,
15623         "h245.INTEGER_1_4294967295", HFILL }},
15624     { &hf_h245_maxPktSize,
15625       { "maxPktSize", "h245.maxPktSize",
15626         FT_UINT32, BASE_DEC, NULL, 0,
15627         "h245.INTEGER_1_4294967295", HFILL }},
15628     { &hf_h245_guaranteedQOS,
15629       { "guaranteedQOS", "h245.guaranteedQOS",
15630         FT_NONE, BASE_NONE, NULL, 0,
15631         "h245.NULL", HFILL }},
15632     { &hf_h245_controlledLoad,
15633       { "controlledLoad", "h245.controlledLoad",
15634         FT_NONE, BASE_NONE, NULL, 0,
15635         "h245.NULL", HFILL }},
15636     { &hf_h245_maxNTUSize,
15637       { "maxNTUSize", "h245.maxNTUSize",
15638         FT_UINT32, BASE_DEC, NULL, 0,
15639         "h245.INTEGER_0_65535", HFILL }},
15640     { &hf_h245_atmUBR,
15641       { "atmUBR", "h245.atmUBR",
15642         FT_BOOLEAN, BASE_NONE, NULL, 0,
15643         "h245.BOOLEAN", HFILL }},
15644     { &hf_h245_atmrtVBR,
15645       { "atmrtVBR", "h245.atmrtVBR",
15646         FT_BOOLEAN, BASE_NONE, NULL, 0,
15647         "h245.BOOLEAN", HFILL }},
15648     { &hf_h245_atmnrtVBR,
15649       { "atmnrtVBR", "h245.atmnrtVBR",
15650         FT_BOOLEAN, BASE_NONE, NULL, 0,
15651         "h245.BOOLEAN", HFILL }},
15652     { &hf_h245_atmABR,
15653       { "atmABR", "h245.atmABR",
15654         FT_BOOLEAN, BASE_NONE, NULL, 0,
15655         "h245.BOOLEAN", HFILL }},
15656     { &hf_h245_atmCBR,
15657       { "atmCBR", "h245.atmCBR",
15658         FT_BOOLEAN, BASE_NONE, NULL, 0,
15659         "h245.BOOLEAN", HFILL }},
15660     { &hf_h245_nonStandardParameter,
15661       { "nonStandardParameter", "h245.nonStandardParameter",
15662         FT_NONE, BASE_NONE, NULL, 0,
15663         "h245.NonStandardParameter", HFILL }},
15664     { &hf_h245_value,
15665       { "value", "h245.value",
15666         FT_UINT32, BASE_DEC, NULL, 0,
15667         "h245.INTEGER_0_255", HFILL }},
15668     { &hf_h245_servicePrioritySignalled,
15669       { "servicePrioritySignalled", "h245.servicePrioritySignalled",
15670         FT_BOOLEAN, BASE_NONE, NULL, 0,
15671         "h245.BOOLEAN", HFILL }},
15672     { &hf_h245_servicePriorityValue,
15673       { "servicePriorityValue", "h245.servicePriorityValue",
15674         FT_NONE, BASE_NONE, NULL, 0,
15675         "h245.ServicePriorityValue", HFILL }},
15676     { &hf_h245_serviceClass,
15677       { "serviceClass", "h245.serviceClass",
15678         FT_UINT32, BASE_DEC, NULL, 0,
15679         "h245.INTEGER_0_4095", HFILL }},
15680     { &hf_h245_serviceSubclass,
15681       { "serviceSubclass", "h245.serviceSubclass",
15682         FT_UINT32, BASE_DEC, NULL, 0,
15683         "h245.INTEGER_0_255", HFILL }},
15684     { &hf_h245_desired,
15685       { "desired", "h245.desired",
15686         FT_NONE, BASE_NONE, NULL, 0,
15687         "h245.NULL", HFILL }},
15688     { &hf_h245_required,
15689       { "required", "h245.required",
15690         FT_NONE, BASE_NONE, NULL, 0,
15691         "h245.NULL", HFILL }},
15692     { &hf_h245_class0,
15693       { "class0", "h245.class0",
15694         FT_NONE, BASE_NONE, NULL, 0,
15695         "h245.NULL", HFILL }},
15696     { &hf_h245_class1,
15697       { "class1", "h245.class1",
15698         FT_NONE, BASE_NONE, NULL, 0,
15699         "h245.NULL", HFILL }},
15700     { &hf_h245_class2,
15701       { "class2", "h245.class2",
15702         FT_NONE, BASE_NONE, NULL, 0,
15703         "h245.NULL", HFILL }},
15704     { &hf_h245_class3,
15705       { "class3", "h245.class3",
15706         FT_NONE, BASE_NONE, NULL, 0,
15707         "h245.NULL", HFILL }},
15708     { &hf_h245_class4,
15709       { "class4", "h245.class4",
15710         FT_NONE, BASE_NONE, NULL, 0,
15711         "h245.NULL", HFILL }},
15712     { &hf_h245_class5,
15713       { "class5", "h245.class5",
15714         FT_NONE, BASE_NONE, NULL, 0,
15715         "h245.NULL", HFILL }},
15716     { &hf_h245_qosType,
15717       { "qosType", "h245.qosType",
15718         FT_UINT32, BASE_DEC, VALS(h245_QOSType_vals), 0,
15719         "h245.QOSType", HFILL }},
15720     { &hf_h245_qosClass,
15721       { "qosClass", "h245.qosClass",
15722         FT_UINT32, BASE_DEC, VALS(h245_QOSClass_vals), 0,
15723         "h245.QOSClass", HFILL }},
15724     { &hf_h245_averageRate,
15725       { "averageRate", "h245.averageRate",
15726         FT_UINT32, BASE_DEC, NULL, 0,
15727         "h245.INTEGER_1_4294967295", HFILL }},
15728     { &hf_h245_burst,
15729       { "burst", "h245.burst",
15730         FT_UINT32, BASE_DEC, NULL, 0,
15731         "h245.INTEGER_1_4294967295", HFILL }},
15732     { &hf_h245_rsvpParameters,
15733       { "rsvpParameters", "h245.rsvpParameters",
15734         FT_NONE, BASE_NONE, NULL, 0,
15735         "h245.RSVPParameters", HFILL }},
15736     { &hf_h245_atmParameters,
15737       { "atmParameters", "h245.atmParameters",
15738         FT_NONE, BASE_NONE, NULL, 0,
15739         "h245.ATMParameters", HFILL }},
15740     { &hf_h245_localQoS,
15741       { "localQoS", "h245.localQoS",
15742         FT_BOOLEAN, BASE_NONE, NULL, 0,
15743         "h245.BOOLEAN", HFILL }},
15744     { &hf_h245_genericTransportParameters,
15745       { "genericTransportParameters", "h245.genericTransportParameters",
15746         FT_NONE, BASE_NONE, NULL, 0,
15747         "h245.GenericTransportParameters", HFILL }},
15748     { &hf_h245_servicePriority,
15749       { "servicePriority", "h245.servicePriority",
15750         FT_NONE, BASE_NONE, NULL, 0,
15751         "h245.ServicePriority", HFILL }},
15752     { &hf_h245_authorizationParameter,
15753       { "authorizationParameter", "h245.authorizationParameter",
15754         FT_NONE, BASE_NONE, NULL, 0,
15755         "h245.AuthorizationParameters", HFILL }},
15756     { &hf_h245_qosDescriptor,
15757       { "qosDescriptor", "h245.qosDescriptor",
15758         FT_NONE, BASE_NONE, NULL, 0,
15759         "h245.QOSDescriptor", HFILL }},
15760     { &hf_h245_dscpValue,
15761       { "dscpValue", "h245.dscpValue",
15762         FT_UINT32, BASE_DEC, NULL, 0,
15763         "h245.INTEGER_0_63", HFILL }},
15764     { &hf_h245_ip_UDP,
15765       { "ip-UDP", "h245.ip_UDP",
15766         FT_NONE, BASE_NONE, NULL, 0,
15767         "h245.NULL", HFILL }},
15768     { &hf_h245_ip_TCP,
15769       { "ip-TCP", "h245.ip_TCP",
15770         FT_NONE, BASE_NONE, NULL, 0,
15771         "h245.NULL", HFILL }},
15772     { &hf_h245_atm_AAL5_UNIDIR,
15773       { "atm-AAL5-UNIDIR", "h245.atm_AAL5_UNIDIR",
15774         FT_NONE, BASE_NONE, NULL, 0,
15775         "h245.NULL", HFILL }},
15776     { &hf_h245_atm_AAL5_BIDIR,
15777       { "atm-AAL5-BIDIR", "h245.atm_AAL5_BIDIR",
15778         FT_NONE, BASE_NONE, NULL, 0,
15779         "h245.NULL", HFILL }},
15780     { &hf_h245_atm_AAL5_compressed,
15781       { "atm-AAL5-compressed", "h245.atm_AAL5_compressed",
15782         FT_NONE, BASE_NONE, NULL, 0,
15783         "h245.T_atm_AAL5_compressed", HFILL }},
15784     { &hf_h245_variable_delta,
15785       { "variable-delta", "h245.variable_delta",
15786         FT_BOOLEAN, BASE_NONE, NULL, 0,
15787         "h245.BOOLEAN", HFILL }},
15788     { &hf_h245_mediaTransport,
15789       { "mediaTransport", "h245.mediaTransport",
15790         FT_UINT32, BASE_DEC, VALS(h245_MediaTransportType_vals), 0,
15791         "h245.MediaTransportType", HFILL }},
15792     { &hf_h245_qOSCapabilities,
15793       { "qOSCapabilities", "h245.qOSCapabilities",
15794         FT_UINT32, BASE_DEC, NULL, 0,
15795         "h245.SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }},
15796     { &hf_h245_qOSCapabilities_item,
15797       { "QOSCapability", "h245.QOSCapability",
15798         FT_NONE, BASE_NONE, NULL, 0,
15799         "h245.QOSCapability", HFILL }},
15800     { &hf_h245_mediaChannelCapabilities,
15801       { "mediaChannelCapabilities", "h245.mediaChannelCapabilities",
15802         FT_UINT32, BASE_DEC, NULL, 0,
15803         "h245.SEQUENCE_SIZE_1_256_OF_MediaChannelCapability", HFILL }},
15804     { &hf_h245_mediaChannelCapabilities_item,
15805       { "MediaChannelCapability", "h245.MediaChannelCapability",
15806         FT_NONE, BASE_NONE, NULL, 0,
15807         "h245.MediaChannelCapability", HFILL }},
15808     { &hf_h245_redundancyEncodingMethod,
15809       { "redundancyEncodingMethod", "h245.redundancyEncodingMethod",
15810         FT_UINT32, BASE_DEC, VALS(h245_RedundancyEncodingMethod_vals), 0,
15811         "h245.RedundancyEncodingMethod", HFILL }},
15812     { &hf_h245_primaryEncoding,
15813       { "primaryEncoding", "h245.primaryEncoding",
15814         FT_UINT32, BASE_DEC, NULL, 0,
15815         "h245.CapabilityTableEntryNumber", HFILL }},
15816     { &hf_h245_secondaryEncodingCapability,
15817       { "secondaryEncoding", "h245.secondaryEncoding",
15818         FT_UINT32, BASE_DEC, NULL, 0,
15819         "h245.SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber", HFILL }},
15820     { &hf_h245_secondaryEncodingCapability_item,
15821       { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
15822         FT_UINT32, BASE_DEC, NULL, 0,
15823         "h245.CapabilityTableEntryNumber", HFILL }},
15824     { &hf_h245_rtpAudioRedundancyEncoding,
15825       { "rtpAudioRedundancyEncoding", "h245.rtpAudioRedundancyEncoding",
15826         FT_NONE, BASE_NONE, NULL, 0,
15827         "h245.NULL", HFILL }},
15828     { &hf_h245_rtpH263VideoRedundancyEncoding,
15829       { "rtpH263VideoRedundancyEncoding", "h245.rtpH263VideoRedundancyEncoding",
15830         FT_NONE, BASE_NONE, NULL, 0,
15831         "h245.RTPH263VideoRedundancyEncoding", HFILL }},
15832     { &hf_h245_numberOfThreads,
15833       { "numberOfThreads", "h245.numberOfThreads",
15834         FT_UINT32, BASE_DEC, NULL, 0,
15835         "h245.INTEGER_1_16", HFILL }},
15836     { &hf_h245_framesBetweenSyncPoints,
15837       { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints",
15838         FT_UINT32, BASE_DEC, NULL, 0,
15839         "h245.INTEGER_1_256", HFILL }},
15840     { &hf_h245_frameToThreadMapping,
15841       { "frameToThreadMapping", "h245.frameToThreadMapping",
15842         FT_UINT32, BASE_DEC, VALS(h245_T_frameToThreadMapping_vals), 0,
15843         "h245.T_frameToThreadMapping", HFILL }},
15844     { &hf_h245_roundrobin,
15845       { "roundrobin", "h245.roundrobin",
15846         FT_NONE, BASE_NONE, NULL, 0,
15847         "h245.NULL", HFILL }},
15848     { &hf_h245_custom,
15849       { "custom", "h245.custom",
15850         FT_UINT32, BASE_DEC, NULL, 0,
15851         "h245.SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping", HFILL }},
15852     { &hf_h245_custom_item,
15853       { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping",
15854         FT_NONE, BASE_NONE, NULL, 0,
15855         "h245.RTPH263VideoRedundancyFrameMapping", HFILL }},
15856     { &hf_h245_containedThreads,
15857       { "containedThreads", "h245.containedThreads",
15858         FT_UINT32, BASE_DEC, NULL, 0,
15859         "h245.T_containedThreads", HFILL }},
15860     { &hf_h245_containedThreads_item,
15861       { "containedThreads item", "h245.containedThreads_item",
15862         FT_UINT32, BASE_DEC, NULL, 0,
15863         "h245.INTEGER_0_15", HFILL }},
15864     { &hf_h245_threadNumber,
15865       { "threadNumber", "h245.threadNumber",
15866         FT_UINT32, BASE_DEC, NULL, 0,
15867         "h245.INTEGER_0_15", HFILL }},
15868     { &hf_h245_frameSequence,
15869       { "frameSequence", "h245.frameSequence",
15870         FT_UINT32, BASE_DEC, NULL, 0,
15871         "h245.T_frameSequence", HFILL }},
15872     { &hf_h245_frameSequence_item,
15873       { "frameSequence item", "h245.frameSequence_item",
15874         FT_UINT32, BASE_DEC, NULL, 0,
15875         "h245.INTEGER_0_255", HFILL }},
15876     { &hf_h245_multicastCapability,
15877       { "multicastCapability", "h245.multicastCapability",
15878         FT_BOOLEAN, BASE_NONE, NULL, 0,
15879         "h245.BOOLEAN", HFILL }},
15880     { &hf_h245_multiUniCastConference,
15881       { "multiUniCastConference", "h245.multiUniCastConference",
15882         FT_BOOLEAN, BASE_NONE, NULL, 0,
15883         "h245.BOOLEAN", HFILL }},
15884     { &hf_h245_mediaDistributionCapability,
15885       { "mediaDistributionCapability", "h245.mediaDistributionCapability",
15886         FT_UINT32, BASE_DEC, NULL, 0,
15887         "h245.SEQUENCE_OF_MediaDistributionCapability", HFILL }},
15888     { &hf_h245_mediaDistributionCapability_item,
15889       { "MediaDistributionCapability", "h245.MediaDistributionCapability",
15890         FT_NONE, BASE_NONE, NULL, 0,
15891         "h245.MediaDistributionCapability", HFILL }},
15892     { &hf_h245_centralizedControl,
15893       { "centralizedControl", "h245.centralizedControl",
15894         FT_BOOLEAN, BASE_NONE, NULL, 0,
15895         "h245.BOOLEAN", HFILL }},
15896     { &hf_h245_distributedControl,
15897       { "distributedControl", "h245.distributedControl",
15898         FT_BOOLEAN, BASE_NONE, NULL, 0,
15899         "h245.BOOLEAN", HFILL }},
15900     { &hf_h245_centralizedAudio,
15901       { "centralizedAudio", "h245.centralizedAudio",
15902         FT_BOOLEAN, BASE_NONE, NULL, 0,
15903         "h245.BOOLEAN", HFILL }},
15904     { &hf_h245_distributedAudio,
15905       { "distributedAudio", "h245.distributedAudio",
15906         FT_BOOLEAN, BASE_NONE, NULL, 0,
15907         "h245.BOOLEAN", HFILL }},
15908     { &hf_h245_centralizedVideo,
15909       { "centralizedVideo", "h245.centralizedVideo",
15910         FT_BOOLEAN, BASE_NONE, NULL, 0,
15911         "h245.BOOLEAN", HFILL }},
15912     { &hf_h245_distributedVideo,
15913       { "distributedVideo", "h245.distributedVideo",
15914         FT_BOOLEAN, BASE_NONE, NULL, 0,
15915         "h245.BOOLEAN", HFILL }},
15916     { &hf_h245_centralizedData,
15917       { "centralizedData", "h245.centralizedData",
15918         FT_UINT32, BASE_DEC, NULL, 0,
15919         "h245.SEQUENCE_OF_DataApplicationCapability", HFILL }},
15920     { &hf_h245_centralizedData_item,
15921       { "DataApplicationCapability", "h245.DataApplicationCapability",
15922         FT_NONE, BASE_NONE, NULL, 0,
15923         "h245.DataApplicationCapability", HFILL }},
15924     { &hf_h245_distributedData,
15925       { "distributedData", "h245.distributedData",
15926         FT_UINT32, BASE_DEC, NULL, 0,
15927         "h245.SEQUENCE_OF_DataApplicationCapability", HFILL }},
15928     { &hf_h245_distributedData_item,
15929       { "DataApplicationCapability", "h245.DataApplicationCapability",
15930         FT_NONE, BASE_NONE, NULL, 0,
15931         "h245.DataApplicationCapability", HFILL }},
15932     { &hf_h245_h261VideoCapability,
15933       { "h261VideoCapability", "h245.h261VideoCapability",
15934         FT_NONE, BASE_NONE, NULL, 0,
15935         "h245.H261VideoCapability", HFILL }},
15936     { &hf_h245_h262VideoCapability,
15937       { "h262VideoCapability", "h245.h262VideoCapability",
15938         FT_NONE, BASE_NONE, NULL, 0,
15939         "h245.H262VideoCapability", HFILL }},
15940     { &hf_h245_h263VideoCapability,
15941       { "h263VideoCapability", "h245.h263VideoCapability",
15942         FT_NONE, BASE_NONE, NULL, 0,
15943         "h245.H263VideoCapability", HFILL }},
15944     { &hf_h245_is11172VideoCapability,
15945       { "is11172VideoCapability", "h245.is11172VideoCapability",
15946         FT_NONE, BASE_NONE, NULL, 0,
15947         "h245.IS11172VideoCapability", HFILL }},
15948     { &hf_h245_genericVideoCapability,
15949       { "genericVideoCapability", "h245.genericVideoCapability",
15950         FT_NONE, BASE_NONE, NULL, 0,
15951         "h245.GenericCapability", HFILL }},
15952     { &hf_h245_extendedVideoCapability,
15953       { "extendedVideoCapability", "h245.extendedVideoCapability",
15954         FT_NONE, BASE_NONE, NULL, 0,
15955         "h245.ExtendedVideoCapability", HFILL }},
15956     { &hf_h245_videoCapability,
15957       { "videoCapability", "h245.videoCapability",
15958         FT_UINT32, BASE_DEC, NULL, 0,
15959         "h245.SEQUENCE_OF_VideoCapability", HFILL }},
15960     { &hf_h245_videoCapability_item,
15961       { "VideoCapability", "h245.VideoCapability",
15962         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15963         "h245.VideoCapability", HFILL }},
15964     { &hf_h245_videoCapabilityExtension,
15965       { "videoCapabilityExtension", "h245.videoCapabilityExtension",
15966         FT_UINT32, BASE_DEC, NULL, 0,
15967         "h245.SEQUENCE_OF_GenericCapability", HFILL }},
15968     { &hf_h245_videoCapabilityExtension_item,
15969       { "GenericCapability", "h245.GenericCapability",
15970         FT_NONE, BASE_NONE, NULL, 0,
15971         "h245.GenericCapability", HFILL }},
15972     { &hf_h245_qcifMPI_1_4,
15973       { "qcifMPI", "h245.qcifMPI",
15974         FT_UINT32, BASE_DEC, NULL, 0,
15975         "h245.INTEGER_1_4", HFILL }},
15976     { &hf_h245_cifMPI_1_4,
15977       { "cifMPI", "h245.cifMPI",
15978         FT_UINT32, BASE_DEC, NULL, 0,
15979         "h245.INTEGER_1_4", HFILL }},
15980     { &hf_h245_temporalSpatialTradeOffCapability,
15981       { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability",
15982         FT_BOOLEAN, BASE_NONE, NULL, 0,
15983         "h245.BOOLEAN", HFILL }},
15984     { &hf_h245_maxBitRate_1_19200,
15985       { "maxBitRate", "h245.maxBitRate",
15986         FT_UINT32, BASE_DEC, NULL, 0,
15987         "h245.INTEGER_1_19200", HFILL }},
15988     { &hf_h245_stillImageTransmission,
15989       { "stillImageTransmission", "h245.stillImageTransmission",
15990         FT_BOOLEAN, BASE_NONE, NULL, 0,
15991         "h245.BOOLEAN", HFILL }},
15992     { &hf_h245_videoBadMBsCap,
15993       { "videoBadMBsCap", "h245.videoBadMBsCap",
15994         FT_BOOLEAN, BASE_NONE, NULL, 0,
15995         "h245.BOOLEAN", HFILL }},
15996     { &hf_h245_profileAndLevel_SPatML,
15997       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
15998         FT_BOOLEAN, BASE_NONE, NULL, 0,
15999         "h245.BOOLEAN", HFILL }},
16000     { &hf_h245_profileAndLevel_MPatLL,
16001       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
16002         FT_BOOLEAN, BASE_NONE, NULL, 0,
16003         "h245.BOOLEAN", HFILL }},
16004     { &hf_h245_profileAndLevel_MPatML,
16005       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
16006         FT_BOOLEAN, BASE_NONE, NULL, 0,
16007         "h245.BOOLEAN", HFILL }},
16008     { &hf_h245_profileAndLevel_MPatH_14,
16009       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
16010         FT_BOOLEAN, BASE_NONE, NULL, 0,
16011         "h245.BOOLEAN", HFILL }},
16012     { &hf_h245_profileAndLevel_MPatHL,
16013       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
16014         FT_BOOLEAN, BASE_NONE, NULL, 0,
16015         "h245.BOOLEAN", HFILL }},
16016     { &hf_h245_profileAndLevel_SNRatLL,
16017       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
16018         FT_BOOLEAN, BASE_NONE, NULL, 0,
16019         "h245.BOOLEAN", HFILL }},
16020     { &hf_h245_profileAndLevel_SNRatML,
16021       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
16022         FT_BOOLEAN, BASE_NONE, NULL, 0,
16023         "h245.BOOLEAN", HFILL }},
16024     { &hf_h245_profileAndLevel_SpatialatH_14,
16025       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
16026         FT_BOOLEAN, BASE_NONE, NULL, 0,
16027         "h245.BOOLEAN", HFILL }},
16028     { &hf_h245_profileAndLevel_HPatML,
16029       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
16030         FT_BOOLEAN, BASE_NONE, NULL, 0,
16031         "h245.BOOLEAN", HFILL }},
16032     { &hf_h245_profileAndLevel_HPatH_14,
16033       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
16034         FT_BOOLEAN, BASE_NONE, NULL, 0,
16035         "h245.BOOLEAN", HFILL }},
16036     { &hf_h245_profileAndLevel_HPatHL,
16037       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
16038         FT_BOOLEAN, BASE_NONE, NULL, 0,
16039         "h245.BOOLEAN", HFILL }},
16040     { &hf_h245_videoBitRate,
16041       { "videoBitRate", "h245.videoBitRate",
16042         FT_UINT32, BASE_DEC, NULL, 0,
16043         "h245.INTEGER_0_1073741823", HFILL }},
16044     { &hf_h245_vbvBufferSize,
16045       { "vbvBufferSize", "h245.vbvBufferSize",
16046         FT_UINT32, BASE_DEC, NULL, 0,
16047         "h245.INTEGER_0_262143", HFILL }},
16048     { &hf_h245_samplesPerLine,
16049       { "samplesPerLine", "h245.samplesPerLine",
16050         FT_UINT32, BASE_DEC, NULL, 0,
16051         "h245.INTEGER_0_16383", HFILL }},
16052     { &hf_h245_linesPerFrame,
16053       { "linesPerFrame", "h245.linesPerFrame",
16054         FT_UINT32, BASE_DEC, NULL, 0,
16055         "h245.INTEGER_0_16383", HFILL }},
16056     { &hf_h245_framesPerSecond,
16057       { "framesPerSecond", "h245.framesPerSecond",
16058         FT_UINT32, BASE_DEC, NULL, 0,
16059         "h245.INTEGER_0_15", HFILL }},
16060     { &hf_h245_luminanceSampleRate,
16061       { "luminanceSampleRate", "h245.luminanceSampleRate",
16062         FT_UINT32, BASE_DEC, NULL, 0,
16063         "h245.INTEGER_0_4294967295", HFILL }},
16064     { &hf_h245_sqcifMPI_1_32,
16065       { "sqcifMPI", "h245.sqcifMPI",
16066         FT_UINT32, BASE_DEC, NULL, 0,
16067         "h245.INTEGER_1_32", HFILL }},
16068     { &hf_h245_qcifMPI,
16069       { "qcifMPI", "h245.qcifMPI",
16070         FT_UINT32, BASE_DEC, NULL, 0,
16071         "h245.INTEGER_1_32", HFILL }},
16072     { &hf_h245_cifMPI,
16073       { "cifMPI", "h245.cifMPI",
16074         FT_UINT32, BASE_DEC, NULL, 0,
16075         "h245.INTEGER_1_32", HFILL }},
16076     { &hf_h245_cif4MPI_1_32,
16077       { "cif4MPI", "h245.cif4MPI",
16078         FT_UINT32, BASE_DEC, NULL, 0,
16079         "h245.INTEGER_1_32", HFILL }},
16080     { &hf_h245_cif16MPI_1_32,
16081       { "cif16MPI", "h245.cif16MPI",
16082         FT_UINT32, BASE_DEC, NULL, 0,
16083         "h245.INTEGER_1_32", HFILL }},
16084     { &hf_h245_maxBitRate,
16085       { "maxBitRate", "h245.maxBitRate",
16086         FT_UINT32, BASE_DEC, NULL, 0,
16087         "h245.INTEGER_1_192400", HFILL }},
16088     { &hf_h245_unrestrictedVector,
16089       { "unrestrictedVector", "h245.unrestrictedVector",
16090         FT_BOOLEAN, BASE_NONE, NULL, 0,
16091         "h245.BOOLEAN", HFILL }},
16092     { &hf_h245_arithmeticCoding,
16093       { "arithmeticCoding", "h245.arithmeticCoding",
16094         FT_BOOLEAN, BASE_NONE, NULL, 0,
16095         "h245.BOOLEAN", HFILL }},
16096     { &hf_h245_advancedPrediction,
16097       { "advancedPrediction", "h245.advancedPrediction",
16098         FT_BOOLEAN, BASE_NONE, NULL, 0,
16099         "h245.BOOLEAN", HFILL }},
16100     { &hf_h245_pbFrames,
16101       { "pbFrames", "h245.pbFrames",
16102         FT_BOOLEAN, BASE_NONE, NULL, 0,
16103         "h245.BOOLEAN", HFILL }},
16104     { &hf_h245_hrd_B,
16105       { "hrd-B", "h245.hrd_B",
16106         FT_UINT32, BASE_DEC, NULL, 0,
16107         "h245.INTEGER_0_524287", HFILL }},
16108     { &hf_h245_bppMaxKb,
16109       { "bppMaxKb", "h245.bppMaxKb",
16110         FT_UINT32, BASE_DEC, NULL, 0,
16111         "h245.INTEGER_0_65535", HFILL }},
16112     { &hf_h245_slowSqcifMPI,
16113       { "slowSqcifMPI", "h245.slowSqcifMPI",
16114         FT_UINT32, BASE_DEC, NULL, 0,
16115         "h245.INTEGER_1_3600", HFILL }},
16116     { &hf_h245_slowQcifMPI,
16117       { "slowQcifMPI", "h245.slowQcifMPI",
16118         FT_UINT32, BASE_DEC, NULL, 0,
16119         "h245.INTEGER_1_3600", HFILL }},
16120     { &hf_h245_slowCifMPI,
16121       { "slowCifMPI", "h245.slowCifMPI",
16122         FT_UINT32, BASE_DEC, NULL, 0,
16123         "h245.INTEGER_1_3600", HFILL }},
16124     { &hf_h245_slowCif4MPI,
16125       { "slowCif4MPI", "h245.slowCif4MPI",
16126         FT_UINT32, BASE_DEC, NULL, 0,
16127         "h245.INTEGER_1_3600", HFILL }},
16128     { &hf_h245_slowCif16MPI,
16129       { "slowCif16MPI", "h245.slowCif16MPI",
16130         FT_UINT32, BASE_DEC, NULL, 0,
16131         "h245.INTEGER_1_3600", HFILL }},
16132     { &hf_h245_errorCompensation,
16133       { "errorCompensation", "h245.errorCompensation",
16134         FT_BOOLEAN, BASE_NONE, NULL, 0,
16135         "h245.BOOLEAN", HFILL }},
16136     { &hf_h245_enhancementLayerInfo,
16137       { "enhancementLayerInfo", "h245.enhancementLayerInfo",
16138         FT_NONE, BASE_NONE, NULL, 0,
16139         "h245.EnhancementLayerInfo", HFILL }},
16140     { &hf_h245_h263Options,
16141       { "h263Options", "h245.h263Options",
16142         FT_NONE, BASE_NONE, NULL, 0,
16143         "h245.H263Options", HFILL }},
16144     { &hf_h245_baseBitRateConstrained,
16145       { "baseBitRateConstrained", "h245.baseBitRateConstrained",
16146         FT_BOOLEAN, BASE_NONE, NULL, 0,
16147         "h245.BOOLEAN", HFILL }},
16148     { &hf_h245_snrEnhancement,
16149       { "snrEnhancement", "h245.snrEnhancement",
16150         FT_UINT32, BASE_DEC, NULL, 0,
16151         "h245.SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16152     { &hf_h245_snrEnhancement_item,
16153       { "EnhancementOptions", "h245.EnhancementOptions",
16154         FT_NONE, BASE_NONE, NULL, 0,
16155         "h245.EnhancementOptions", HFILL }},
16156     { &hf_h245_spatialEnhancement,
16157       { "spatialEnhancement", "h245.spatialEnhancement",
16158         FT_UINT32, BASE_DEC, NULL, 0,
16159         "h245.SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16160     { &hf_h245_spatialEnhancement_item,
16161       { "EnhancementOptions", "h245.EnhancementOptions",
16162         FT_NONE, BASE_NONE, NULL, 0,
16163         "h245.EnhancementOptions", HFILL }},
16164     { &hf_h245_bPictureEnhancement,
16165       { "bPictureEnhancement", "h245.bPictureEnhancement",
16166         FT_UINT32, BASE_DEC, NULL, 0,
16167         "h245.SET_SIZE_1_14_OF_BEnhancementParameters", HFILL }},
16168     { &hf_h245_bPictureEnhancement_item,
16169       { "BEnhancementParameters", "h245.BEnhancementParameters",
16170         FT_NONE, BASE_NONE, NULL, 0,
16171         "h245.BEnhancementParameters", HFILL }},
16172     { &hf_h245_enhancementOptions,
16173       { "enhancementOptions", "h245.enhancementOptions",
16174         FT_NONE, BASE_NONE, NULL, 0,
16175         "h245.EnhancementOptions", HFILL }},
16176     { &hf_h245_numberOfBPictures,
16177       { "numberOfBPictures", "h245.numberOfBPictures",
16178         FT_UINT32, BASE_DEC, NULL, 0,
16179         "h245.INTEGER_1_64", HFILL }},
16180     { &hf_h245_advancedIntraCodingMode,
16181       { "advancedIntraCodingMode", "h245.advancedIntraCodingMode",
16182         FT_BOOLEAN, BASE_NONE, NULL, 0,
16183         "h245.BOOLEAN", HFILL }},
16184     { &hf_h245_deblockingFilterMode,
16185       { "deblockingFilterMode", "h245.deblockingFilterMode",
16186         FT_BOOLEAN, BASE_NONE, NULL, 0,
16187         "h245.BOOLEAN", HFILL }},
16188     { &hf_h245_improvedPBFramesMode,
16189       { "improvedPBFramesMode", "h245.improvedPBFramesMode",
16190         FT_BOOLEAN, BASE_NONE, NULL, 0,
16191         "h245.BOOLEAN", HFILL }},
16192     { &hf_h245_unlimitedMotionVectors,
16193       { "unlimitedMotionVectors", "h245.unlimitedMotionVectors",
16194         FT_BOOLEAN, BASE_NONE, NULL, 0,
16195         "h245.BOOLEAN", HFILL }},
16196     { &hf_h245_fullPictureFreeze,
16197       { "fullPictureFreeze", "h245.fullPictureFreeze",
16198         FT_BOOLEAN, BASE_NONE, NULL, 0,
16199         "h245.BOOLEAN", HFILL }},
16200     { &hf_h245_partialPictureFreezeAndRelease,
16201       { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease",
16202         FT_BOOLEAN, BASE_NONE, NULL, 0,
16203         "h245.BOOLEAN", HFILL }},
16204     { &hf_h245_resizingPartPicFreezeAndRelease,
16205       { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease",
16206         FT_BOOLEAN, BASE_NONE, NULL, 0,
16207         "h245.BOOLEAN", HFILL }},
16208     { &hf_h245_fullPictureSnapshot,
16209       { "fullPictureSnapshot", "h245.fullPictureSnapshot",
16210         FT_BOOLEAN, BASE_NONE, NULL, 0,
16211         "h245.BOOLEAN", HFILL }},
16212     { &hf_h245_partialPictureSnapshot,
16213       { "partialPictureSnapshot", "h245.partialPictureSnapshot",
16214         FT_BOOLEAN, BASE_NONE, NULL, 0,
16215         "h245.BOOLEAN", HFILL }},
16216     { &hf_h245_videoSegmentTagging,
16217       { "videoSegmentTagging", "h245.videoSegmentTagging",
16218         FT_BOOLEAN, BASE_NONE, NULL, 0,
16219         "h245.BOOLEAN", HFILL }},
16220     { &hf_h245_progressiveRefinement,
16221       { "progressiveRefinement", "h245.progressiveRefinement",
16222         FT_BOOLEAN, BASE_NONE, NULL, 0,
16223         "h245.BOOLEAN", HFILL }},
16224     { &hf_h245_dynamicPictureResizingByFour,
16225       { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour",
16226         FT_BOOLEAN, BASE_NONE, NULL, 0,
16227         "h245.BOOLEAN", HFILL }},
16228     { &hf_h245_dynamicPictureResizingSixteenthPel,
16229       { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel",
16230         FT_BOOLEAN, BASE_NONE, NULL, 0,
16231         "h245.BOOLEAN", HFILL }},
16232     { &hf_h245_dynamicWarpingHalfPel,
16233       { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel",
16234         FT_BOOLEAN, BASE_NONE, NULL, 0,
16235         "h245.BOOLEAN", HFILL }},
16236     { &hf_h245_dynamicWarpingSixteenthPel,
16237       { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel",
16238         FT_BOOLEAN, BASE_NONE, NULL, 0,
16239         "h245.BOOLEAN", HFILL }},
16240     { &hf_h245_independentSegmentDecoding,
16241       { "independentSegmentDecoding", "h245.independentSegmentDecoding",
16242         FT_BOOLEAN, BASE_NONE, NULL, 0,
16243         "h245.BOOLEAN", HFILL }},
16244     { &hf_h245_slicesInOrder_NonRect,
16245       { "slicesInOrder-NonRect", "h245.slicesInOrder_NonRect",
16246         FT_BOOLEAN, BASE_NONE, NULL, 0,
16247         "h245.BOOLEAN", HFILL }},
16248     { &hf_h245_slicesInOrder_Rect,
16249       { "slicesInOrder-Rect", "h245.slicesInOrder_Rect",
16250         FT_BOOLEAN, BASE_NONE, NULL, 0,
16251         "h245.BOOLEAN", HFILL }},
16252     { &hf_h245_slicesNoOrder_NonRect,
16253       { "slicesNoOrder-NonRect", "h245.slicesNoOrder_NonRect",
16254         FT_BOOLEAN, BASE_NONE, NULL, 0,
16255         "h245.BOOLEAN", HFILL }},
16256     { &hf_h245_slicesNoOrder_Rect,
16257       { "slicesNoOrder-Rect", "h245.slicesNoOrder_Rect",
16258         FT_BOOLEAN, BASE_NONE, NULL, 0,
16259         "h245.BOOLEAN", HFILL }},
16260     { &hf_h245_alternateInterVLCMode,
16261       { "alternateInterVLCMode", "h245.alternateInterVLCMode",
16262         FT_BOOLEAN, BASE_NONE, NULL, 0,
16263         "h245.BOOLEAN", HFILL }},
16264     { &hf_h245_modifiedQuantizationMode,
16265       { "modifiedQuantizationMode", "h245.modifiedQuantizationMode",
16266         FT_BOOLEAN, BASE_NONE, NULL, 0,
16267         "h245.BOOLEAN", HFILL }},
16268     { &hf_h245_reducedResolutionUpdate,
16269       { "reducedResolutionUpdate", "h245.reducedResolutionUpdate",
16270         FT_BOOLEAN, BASE_NONE, NULL, 0,
16271         "h245.BOOLEAN", HFILL }},
16272     { &hf_h245_transparencyParameters,
16273       { "transparencyParameters", "h245.transparencyParameters",
16274         FT_NONE, BASE_NONE, NULL, 0,
16275         "h245.TransparencyParameters", HFILL }},
16276     { &hf_h245_separateVideoBackChannel,
16277       { "separateVideoBackChannel", "h245.separateVideoBackChannel",
16278         FT_BOOLEAN, BASE_NONE, NULL, 0,
16279         "h245.BOOLEAN", HFILL }},
16280     { &hf_h245_refPictureSelection,
16281       { "refPictureSelection", "h245.refPictureSelection",
16282         FT_NONE, BASE_NONE, NULL, 0,
16283         "h245.RefPictureSelection", HFILL }},
16284     { &hf_h245_customPictureClockFrequency,
16285       { "customPictureClockFrequency", "h245.customPictureClockFrequency",
16286         FT_UINT32, BASE_DEC, NULL, 0,
16287         "h245.SET_SIZE_1_16_OF_CustomPictureClockFrequency", HFILL }},
16288     { &hf_h245_customPictureClockFrequency_item,
16289       { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency",
16290         FT_NONE, BASE_NONE, NULL, 0,
16291         "h245.CustomPictureClockFrequency", HFILL }},
16292     { &hf_h245_customPictureFormat,
16293       { "customPictureFormat", "h245.customPictureFormat",
16294         FT_UINT32, BASE_DEC, NULL, 0,
16295         "h245.SET_SIZE_1_16_OF_CustomPictureFormat", HFILL }},
16296     { &hf_h245_customPictureFormat_item,
16297       { "CustomPictureFormat", "h245.CustomPictureFormat",
16298         FT_NONE, BASE_NONE, NULL, 0,
16299         "h245.CustomPictureFormat", HFILL }},
16300     { &hf_h245_modeCombos,
16301       { "modeCombos", "h245.modeCombos",
16302         FT_UINT32, BASE_DEC, NULL, 0,
16303         "h245.SET_SIZE_1_16_OF_H263VideoModeCombos", HFILL }},
16304     { &hf_h245_modeCombos_item,
16305       { "H263VideoModeCombos", "h245.H263VideoModeCombos",
16306         FT_NONE, BASE_NONE, NULL, 0,
16307         "h245.H263VideoModeCombos", HFILL }},
16308     { &hf_h245_h263Version3Options,
16309       { "h263Version3Options", "h245.h263Version3Options",
16310         FT_NONE, BASE_NONE, NULL, 0,
16311         "h245.H263Version3Options", HFILL }},
16312     { &hf_h245_presentationOrder,
16313       { "presentationOrder", "h245.presentationOrder",
16314         FT_UINT32, BASE_DEC, NULL, 0,
16315         "h245.INTEGER_1_256", HFILL }},
16316     { &hf_h245_offset_x,
16317       { "offset-x", "h245.offset_x",
16318         FT_INT32, BASE_DEC, NULL, 0,
16319         "h245.INTEGER_M262144_262143", HFILL }},
16320     { &hf_h245_offset_y,
16321       { "offset-y", "h245.offset_y",
16322         FT_INT32, BASE_DEC, NULL, 0,
16323         "h245.INTEGER_M262144_262143", HFILL }},
16324     { &hf_h245_scale_x,
16325       { "scale-x", "h245.scale_x",
16326         FT_UINT32, BASE_DEC, NULL, 0,
16327         "h245.INTEGER_1_255", HFILL }},
16328     { &hf_h245_scale_y,
16329       { "scale-y", "h245.scale_y",
16330         FT_UINT32, BASE_DEC, NULL, 0,
16331         "h245.INTEGER_1_255", HFILL }},
16332     { &hf_h245_additionalPictureMemory,
16333       { "additionalPictureMemory", "h245.additionalPictureMemory",
16334         FT_NONE, BASE_NONE, NULL, 0,
16335         "h245.T_additionalPictureMemory", HFILL }},
16336     { &hf_h245_sqcifAdditionalPictureMemory,
16337       { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory",
16338         FT_UINT32, BASE_DEC, NULL, 0,
16339         "h245.INTEGER_1_256", HFILL }},
16340     { &hf_h245_qcifAdditionalPictureMemory,
16341       { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory",
16342         FT_UINT32, BASE_DEC, NULL, 0,
16343         "h245.INTEGER_1_256", HFILL }},
16344     { &hf_h245_cifAdditionalPictureMemory,
16345       { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory",
16346         FT_UINT32, BASE_DEC, NULL, 0,
16347         "h245.INTEGER_1_256", HFILL }},
16348     { &hf_h245_cif4AdditionalPictureMemory,
16349       { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory",
16350         FT_UINT32, BASE_DEC, NULL, 0,
16351         "h245.INTEGER_1_256", HFILL }},
16352     { &hf_h245_cif16AdditionalPictureMemory,
16353       { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory",
16354         FT_UINT32, BASE_DEC, NULL, 0,
16355         "h245.INTEGER_1_256", HFILL }},
16356     { &hf_h245_bigCpfAdditionalPictureMemory,
16357       { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory",
16358         FT_UINT32, BASE_DEC, NULL, 0,
16359         "h245.INTEGER_1_256", HFILL }},
16360     { &hf_h245_videoMux,
16361       { "videoMux", "h245.videoMux",
16362         FT_BOOLEAN, BASE_NONE, NULL, 0,
16363         "h245.BOOLEAN", HFILL }},
16364     { &hf_h245_videoBackChannelSend,
16365       { "videoBackChannelSend", "h245.videoBackChannelSend",
16366         FT_UINT32, BASE_DEC, VALS(h245_T_videoBackChannelSend_vals), 0,
16367         "h245.T_videoBackChannelSend", HFILL }},
16368     { &hf_h245_none,
16369       { "none", "h245.none",
16370         FT_NONE, BASE_NONE, NULL, 0,
16371         "h245.NULL", HFILL }},
16372     { &hf_h245_ackMessageOnly,
16373       { "ackMessageOnly", "h245.ackMessageOnly",
16374         FT_NONE, BASE_NONE, NULL, 0,
16375         "h245.NULL", HFILL }},
16376     { &hf_h245_nackMessageOnly,
16377       { "nackMessageOnly", "h245.nackMessageOnly",
16378         FT_NONE, BASE_NONE, NULL, 0,
16379         "h245.NULL", HFILL }},
16380     { &hf_h245_ackOrNackMessageOnly,
16381       { "ackOrNackMessageOnly", "h245.ackOrNackMessageOnly",
16382         FT_NONE, BASE_NONE, NULL, 0,
16383         "h245.NULL", HFILL }},
16384     { &hf_h245_ackAndNackMessage,
16385       { "ackAndNackMessage", "h245.ackAndNackMessage",
16386         FT_NONE, BASE_NONE, NULL, 0,
16387         "h245.NULL", HFILL }},
16388     { &hf_h245_enhancedReferencePicSelect,
16389       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16390         FT_NONE, BASE_NONE, NULL, 0,
16391         "h245.T_enhancedReferencePicSelect", HFILL }},
16392     { &hf_h245_subPictureRemovalParameters,
16393       { "subPictureRemovalParameters", "h245.subPictureRemovalParameters",
16394         FT_NONE, BASE_NONE, NULL, 0,
16395         "h245.T_subPictureRemovalParameters", HFILL }},
16396     { &hf_h245_mpuHorizMBs,
16397       { "mpuHorizMBs", "h245.mpuHorizMBs",
16398         FT_UINT32, BASE_DEC, NULL, 0,
16399         "h245.INTEGER_1_128", HFILL }},
16400     { &hf_h245_mpuVertMBs,
16401       { "mpuVertMBs", "h245.mpuVertMBs",
16402         FT_UINT32, BASE_DEC, NULL, 0,
16403         "h245.INTEGER_1_72", HFILL }},
16404     { &hf_h245_mpuTotalNumber,
16405       { "mpuTotalNumber", "h245.mpuTotalNumber",
16406         FT_UINT32, BASE_DEC, NULL, 0,
16407         "h245.INTEGER_1_65536", HFILL }},
16408     { &hf_h245_clockConversionCode,
16409       { "clockConversionCode", "h245.clockConversionCode",
16410         FT_UINT32, BASE_DEC, NULL, 0,
16411         "h245.INTEGER_1000_1001", HFILL }},
16412     { &hf_h245_clockDivisor,
16413       { "clockDivisor", "h245.clockDivisor",
16414         FT_UINT32, BASE_DEC, NULL, 0,
16415         "h245.INTEGER_1_127", HFILL }},
16416     { &hf_h245_sqcifMPI,
16417       { "sqcifMPI", "h245.sqcifMPI",
16418         FT_UINT32, BASE_DEC, NULL, 0,
16419         "h245.INTEGER_1_2048", HFILL }},
16420     { &hf_h245_qcifMPI_1_2048,
16421       { "qcifMPI", "h245.qcifMPI",
16422         FT_UINT32, BASE_DEC, NULL, 0,
16423         "h245.INTEGER_1_2048", HFILL }},
16424     { &hf_h245_cifMPI2_1_2048,
16425       { "cifMPI", "h245.cifMPI",
16426         FT_UINT32, BASE_DEC, NULL, 0,
16427         "h245.INTEGER_1_2048", HFILL }},
16428     { &hf_h245_cif4MPI,
16429       { "cif4MPI", "h245.cif4MPI",
16430         FT_UINT32, BASE_DEC, NULL, 0,
16431         "h245.INTEGER_1_2048", HFILL }},
16432     { &hf_h245_cif16MPI,
16433       { "cif16MPI", "h245.cif16MPI",
16434         FT_UINT32, BASE_DEC, NULL, 0,
16435         "h245.INTEGER_1_2048", HFILL }},
16436     { &hf_h245_maxCustomPictureWidth,
16437       { "maxCustomPictureWidth", "h245.maxCustomPictureWidth",
16438         FT_UINT32, BASE_DEC, NULL, 0,
16439         "h245.INTEGER_1_2048", HFILL }},
16440     { &hf_h245_maxCustomPictureHeight,
16441       { "maxCustomPictureHeight", "h245.maxCustomPictureHeight",
16442         FT_UINT32, BASE_DEC, NULL, 0,
16443         "h245.INTEGER_1_2048", HFILL }},
16444     { &hf_h245_minCustomPictureWidth,
16445       { "minCustomPictureWidth", "h245.minCustomPictureWidth",
16446         FT_UINT32, BASE_DEC, NULL, 0,
16447         "h245.INTEGER_1_2048", HFILL }},
16448     { &hf_h245_minCustomPictureHeight,
16449       { "minCustomPictureHeight", "h245.minCustomPictureHeight",
16450         FT_UINT32, BASE_DEC, NULL, 0,
16451         "h245.INTEGER_1_2048", HFILL }},
16452     { &hf_h245_mPI,
16453       { "mPI", "h245.mPI",
16454         FT_NONE, BASE_NONE, NULL, 0,
16455         "h245.T_mPI", HFILL }},
16456     { &hf_h245_standardMPI,
16457       { "standardMPI", "h245.standardMPI",
16458         FT_UINT32, BASE_DEC, NULL, 0,
16459         "h245.INTEGER_1_31", HFILL }},
16460     { &hf_h245_customPCF,
16461       { "customPCF", "h245.customPCF",
16462         FT_UINT32, BASE_DEC, NULL, 0,
16463         "h245.T_customPCF", HFILL }},
16464     { &hf_h245_customPCF_item,
16465       { "customPCF item", "h245.customPCF_item",
16466         FT_NONE, BASE_NONE, NULL, 0,
16467         "h245.T_customPCF_item", HFILL }},
16468     { &hf_h245_customMPI,
16469       { "customMPI", "h245.customMPI",
16470         FT_UINT32, BASE_DEC, NULL, 0,
16471         "h245.INTEGER_1_2048", HFILL }},
16472     { &hf_h245_pixelAspectInformation,
16473       { "pixelAspectInformation", "h245.pixelAspectInformation",
16474         FT_UINT32, BASE_DEC, VALS(h245_T_pixelAspectInformation_vals), 0,
16475         "h245.T_pixelAspectInformation", HFILL }},
16476     { &hf_h245_anyPixelAspectRatio,
16477       { "anyPixelAspectRatio", "h245.anyPixelAspectRatio",
16478         FT_BOOLEAN, BASE_NONE, NULL, 0,
16479         "h245.BOOLEAN", HFILL }},
16480     { &hf_h245_pixelAspectCode,
16481       { "pixelAspectCode", "h245.pixelAspectCode",
16482         FT_UINT32, BASE_DEC, NULL, 0,
16483         "h245.T_pixelAspectCode", HFILL }},
16484     { &hf_h245_pixelAspectCode_item,
16485       { "pixelAspectCode item", "h245.pixelAspectCode_item",
16486         FT_UINT32, BASE_DEC, NULL, 0,
16487         "h245.INTEGER_1_14", HFILL }},
16488     { &hf_h245_extendedPAR,
16489       { "extendedPAR", "h245.extendedPAR",
16490         FT_UINT32, BASE_DEC, NULL, 0,
16491         "h245.T_extendedPAR", HFILL }},
16492     { &hf_h245_extendedPAR_item,
16493       { "extendedPAR item", "h245.extendedPAR_item",
16494         FT_NONE, BASE_NONE, NULL, 0,
16495         "h245.T_extendedPAR_item", HFILL }},
16496     { &hf_h245_width,
16497       { "width", "h245.width",
16498         FT_UINT32, BASE_DEC, NULL, 0,
16499         "h245.INTEGER_1_255", HFILL }},
16500     { &hf_h245_height,
16501       { "height", "h245.height",
16502         FT_UINT32, BASE_DEC, NULL, 0,
16503         "h245.INTEGER_1_255", HFILL }},
16504     { &hf_h245_h263VideoUncoupledModes,
16505       { "h263VideoUncoupledModes", "h245.h263VideoUncoupledModes",
16506         FT_NONE, BASE_NONE, NULL, 0,
16507         "h245.H263ModeComboFlags", HFILL }},
16508     { &hf_h245_h263VideoCoupledModes,
16509       { "h263VideoCoupledModes", "h245.h263VideoCoupledModes",
16510         FT_UINT32, BASE_DEC, NULL, 0,
16511         "h245.SET_SIZE_1_16_OF_H263ModeComboFlags", HFILL }},
16512     { &hf_h245_h263VideoCoupledModes_item,
16513       { "H263ModeComboFlags", "h245.H263ModeComboFlags",
16514         FT_NONE, BASE_NONE, NULL, 0,
16515         "h245.H263ModeComboFlags", HFILL }},
16516     { &hf_h245_referencePicSelect,
16517       { "referencePicSelect", "h245.referencePicSelect",
16518         FT_BOOLEAN, BASE_NONE, NULL, 0,
16519         "h245.BOOLEAN", HFILL }},
16520     { &hf_h245_enhancedReferencePicSelectBool,
16521       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16522         FT_BOOLEAN, BASE_NONE, NULL, 0,
16523         "h245.BOOLEAN", HFILL }},
16524     { &hf_h245_dataPartitionedSlices,
16525       { "dataPartitionedSlices", "h245.dataPartitionedSlices",
16526         FT_BOOLEAN, BASE_NONE, NULL, 0,
16527         "h245.BOOLEAN", HFILL }},
16528     { &hf_h245_fixedPointIDCT0,
16529       { "fixedPointIDCT0", "h245.fixedPointIDCT0",
16530         FT_BOOLEAN, BASE_NONE, NULL, 0,
16531         "h245.BOOLEAN", HFILL }},
16532     { &hf_h245_interlacedFields,
16533       { "interlacedFields", "h245.interlacedFields",
16534         FT_BOOLEAN, BASE_NONE, NULL, 0,
16535         "h245.BOOLEAN", HFILL }},
16536     { &hf_h245_currentPictureHeaderRepetition,
16537       { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition",
16538         FT_BOOLEAN, BASE_NONE, NULL, 0,
16539         "h245.BOOLEAN", HFILL }},
16540     { &hf_h245_previousPictureHeaderRepetition,
16541       { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition",
16542         FT_BOOLEAN, BASE_NONE, NULL, 0,
16543         "h245.BOOLEAN", HFILL }},
16544     { &hf_h245_nextPictureHeaderRepetition,
16545       { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition",
16546         FT_BOOLEAN, BASE_NONE, NULL, 0,
16547         "h245.BOOLEAN", HFILL }},
16548     { &hf_h245_pictureNumberBoolean,
16549       { "pictureNumber", "h245.pictureNumber",
16550         FT_BOOLEAN, BASE_NONE, NULL, 0,
16551         "h245.BOOLEAN", HFILL }},
16552     { &hf_h245_spareReferencePictures,
16553       { "spareReferencePictures", "h245.spareReferencePictures",
16554         FT_BOOLEAN, BASE_NONE, NULL, 0,
16555         "h245.BOOLEAN", HFILL }},
16556     { &hf_h245_constrainedBitstream,
16557       { "constrainedBitstream", "h245.constrainedBitstream",
16558         FT_BOOLEAN, BASE_NONE, NULL, 0,
16559         "h245.BOOLEAN", HFILL }},
16560     { &hf_h245_pictureRate,
16561       { "pictureRate", "h245.pictureRate",
16562         FT_UINT32, BASE_DEC, NULL, 0,
16563         "h245.INTEGER_0_15", HFILL }},
16564     { &hf_h245_g711Alaw64k,
16565       { "g711Alaw64k", "h245.g711Alaw64k",
16566         FT_UINT32, BASE_DEC, NULL, 0,
16567         "h245.INTEGER_1_256", HFILL }},
16568     { &hf_h245_g711Alaw56k,
16569       { "g711Alaw56k", "h245.g711Alaw56k",
16570         FT_UINT32, BASE_DEC, NULL, 0,
16571         "h245.INTEGER_1_256", HFILL }},
16572     { &hf_h245_g711Ulaw64k,
16573       { "g711Ulaw64k", "h245.g711Ulaw64k",
16574         FT_UINT32, BASE_DEC, NULL, 0,
16575         "h245.INTEGER_1_256", HFILL }},
16576     { &hf_h245_g711Ulaw56k,
16577       { "g711Ulaw56k", "h245.g711Ulaw56k",
16578         FT_UINT32, BASE_DEC, NULL, 0,
16579         "h245.INTEGER_1_256", HFILL }},
16580     { &hf_h245_g722_64k,
16581       { "g722-64k", "h245.g722_64k",
16582         FT_UINT32, BASE_DEC, NULL, 0,
16583         "h245.INTEGER_1_256", HFILL }},
16584     { &hf_h245_g722_56k,
16585       { "g722-56k", "h245.g722_56k",
16586         FT_UINT32, BASE_DEC, NULL, 0,
16587         "h245.INTEGER_1_256", HFILL }},
16588     { &hf_h245_g722_48k,
16589       { "g722-48k", "h245.g722_48k",
16590         FT_UINT32, BASE_DEC, NULL, 0,
16591         "h245.INTEGER_1_256", HFILL }},
16592     { &hf_h245_g7231,
16593       { "g7231", "h245.g7231",
16594         FT_NONE, BASE_NONE, NULL, 0,
16595         "h245.T_g7231", HFILL }},
16596     { &hf_h245_maxAl_sduAudioFrames,
16597       { "maxAl-sduAudioFrames", "h245.maxAl_sduAudioFrames",
16598         FT_UINT32, BASE_DEC, NULL, 0,
16599         "h245.INTEGER_1_256", HFILL }},
16600     { &hf_h245_silenceSuppression,
16601       { "silenceSuppression", "h245.silenceSuppression",
16602         FT_BOOLEAN, BASE_NONE, NULL, 0,
16603         "h245.BOOLEAN", HFILL }},
16604     { &hf_h245_g728,
16605       { "g728", "h245.g728",
16606         FT_UINT32, BASE_DEC, NULL, 0,
16607         "h245.INTEGER_1_256", HFILL }},
16608     { &hf_h245_g729,
16609       { "g729", "h245.g729",
16610         FT_UINT32, BASE_DEC, NULL, 0,
16611         "h245.INTEGER_1_256", HFILL }},
16612     { &hf_h245_g729AnnexA,
16613       { "g729AnnexA", "h245.g729AnnexA",
16614         FT_UINT32, BASE_DEC, NULL, 0,
16615         "h245.INTEGER_1_256", HFILL }},
16616     { &hf_h245_is11172AudioCapability,
16617       { "is11172AudioCapability", "h245.is11172AudioCapability",
16618         FT_NONE, BASE_NONE, NULL, 0,
16619         "h245.IS11172AudioCapability", HFILL }},
16620     { &hf_h245_is13818AudioCapability,
16621       { "is13818AudioCapability", "h245.is13818AudioCapability",
16622         FT_NONE, BASE_NONE, NULL, 0,
16623         "h245.IS13818AudioCapability", HFILL }},
16624     { &hf_h245_g729wAnnexB,
16625       { "g729wAnnexB", "h245.g729wAnnexB",
16626         FT_UINT32, BASE_DEC, NULL, 0,
16627         "h245.INTEGER_1_256", HFILL }},
16628     { &hf_h245_g729AnnexAwAnnexB,
16629       { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB",
16630         FT_UINT32, BASE_DEC, NULL, 0,
16631         "h245.INTEGER_1_256", HFILL }},
16632     { &hf_h245_g7231AnnexCCapability,
16633       { "g7231AnnexCCapability", "h245.g7231AnnexCCapability",
16634         FT_NONE, BASE_NONE, NULL, 0,
16635         "h245.G7231AnnexCCapability", HFILL }},
16636     { &hf_h245_gsmFullRate,
16637       { "gsmFullRate", "h245.gsmFullRate",
16638         FT_NONE, BASE_NONE, NULL, 0,
16639         "h245.GSMAudioCapability", HFILL }},
16640     { &hf_h245_gsmHalfRate,
16641       { "gsmHalfRate", "h245.gsmHalfRate",
16642         FT_NONE, BASE_NONE, NULL, 0,
16643         "h245.GSMAudioCapability", HFILL }},
16644     { &hf_h245_gsmEnhancedFullRate,
16645       { "gsmEnhancedFullRate", "h245.gsmEnhancedFullRate",
16646         FT_NONE, BASE_NONE, NULL, 0,
16647         "h245.GSMAudioCapability", HFILL }},
16648     { &hf_h245_genericAudioCapability,
16649       { "genericAudioCapability", "h245.genericAudioCapability",
16650         FT_NONE, BASE_NONE, NULL, 0,
16651         "h245.GenericCapability", HFILL }},
16652     { &hf_h245_g729Extensions,
16653       { "g729Extensions", "h245.g729Extensions",
16654         FT_NONE, BASE_NONE, NULL, 0,
16655         "h245.G729Extensions", HFILL }},
16656     { &hf_h245_vbd,
16657       { "vbd", "h245.vbd",
16658         FT_NONE, BASE_NONE, NULL, 0,
16659         "h245.VBDCapability", HFILL }},
16660     { &hf_h245_audioTelephonyEvent,
16661       { "audioTelephonyEvent", "h245.audioTelephonyEvent",
16662         FT_NONE, BASE_NONE, NULL, 0,
16663         "h245.NoPTAudioTelephonyEventCapability", HFILL }},
16664     { &hf_h245_audioTone,
16665       { "audioTone", "h245.audioTone",
16666         FT_NONE, BASE_NONE, NULL, 0,
16667         "h245.NoPTAudioToneCapability", HFILL }},
16668     { &hf_h245_audioUnit,
16669       { "audioUnit", "h245.audioUnit",
16670         FT_UINT32, BASE_DEC, NULL, 0,
16671         "h245.INTEGER_1_256", HFILL }},
16672     { &hf_h245_annexA,
16673       { "annexA", "h245.annexA",
16674         FT_BOOLEAN, BASE_NONE, NULL, 0,
16675         "h245.BOOLEAN", HFILL }},
16676     { &hf_h245_annexB,
16677       { "annexB", "h245.annexB",
16678         FT_BOOLEAN, BASE_NONE, NULL, 0,
16679         "h245.BOOLEAN", HFILL }},
16680     { &hf_h245_annexD,
16681       { "annexD", "h245.annexD",
16682         FT_BOOLEAN, BASE_NONE, NULL, 0,
16683         "h245.BOOLEAN", HFILL }},
16684     { &hf_h245_annexE,
16685       { "annexE", "h245.annexE",
16686         FT_BOOLEAN, BASE_NONE, NULL, 0,
16687         "h245.BOOLEAN", HFILL }},
16688     { &hf_h245_annexF,
16689       { "annexF", "h245.annexF",
16690         FT_BOOLEAN, BASE_NONE, NULL, 0,
16691         "h245.BOOLEAN", HFILL }},
16692     { &hf_h245_annexG,
16693       { "annexG", "h245.annexG",
16694         FT_BOOLEAN, BASE_NONE, NULL, 0,
16695         "h245.BOOLEAN", HFILL }},
16696     { &hf_h245_annexH,
16697       { "annexH", "h245.annexH",
16698         FT_BOOLEAN, BASE_NONE, NULL, 0,
16699         "h245.BOOLEAN", HFILL }},
16700     { &hf_h245_highRateMode0,
16701       { "highRateMode0", "h245.highRateMode0",
16702         FT_UINT32, BASE_DEC, NULL, 0,
16703         "h245.INTEGER_27_78", HFILL }},
16704     { &hf_h245_highRateMode1,
16705       { "highRateMode1", "h245.highRateMode1",
16706         FT_UINT32, BASE_DEC, NULL, 0,
16707         "h245.INTEGER_27_78", HFILL }},
16708     { &hf_h245_lowRateMode0,
16709       { "lowRateMode0", "h245.lowRateMode0",
16710         FT_UINT32, BASE_DEC, NULL, 0,
16711         "h245.INTEGER_23_66", HFILL }},
16712     { &hf_h245_lowRateMode1,
16713       { "lowRateMode1", "h245.lowRateMode1",
16714         FT_UINT32, BASE_DEC, NULL, 0,
16715         "h245.INTEGER_23_66", HFILL }},
16716     { &hf_h245_sidMode0,
16717       { "sidMode0", "h245.sidMode0",
16718         FT_UINT32, BASE_DEC, NULL, 0,
16719         "h245.INTEGER_6_17", HFILL }},
16720     { &hf_h245_sidMode1,
16721       { "sidMode1", "h245.sidMode1",
16722         FT_UINT32, BASE_DEC, NULL, 0,
16723         "h245.INTEGER_6_17", HFILL }},
16724     { &hf_h245_g723AnnexCAudioMode,
16725       { "g723AnnexCAudioMode", "h245.g723AnnexCAudioMode",
16726         FT_NONE, BASE_NONE, NULL, 0,
16727         "h245.G723AnnexCAudioMode", HFILL }},
16728     { &hf_h245_audioLayer1,
16729       { "audioLayer1", "h245.audioLayer1",
16730         FT_BOOLEAN, BASE_NONE, NULL, 0,
16731         "h245.BOOLEAN", HFILL }},
16732     { &hf_h245_audioLayer2,
16733       { "audioLayer2", "h245.audioLayer2",
16734         FT_BOOLEAN, BASE_NONE, NULL, 0,
16735         "h245.BOOLEAN", HFILL }},
16736     { &hf_h245_audioLayer3,
16737       { "audioLayer3", "h245.audioLayer3",
16738         FT_BOOLEAN, BASE_NONE, NULL, 0,
16739         "h245.BOOLEAN", HFILL }},
16740     { &hf_h245_audioSampling32k,
16741       { "audioSampling32k", "h245.audioSampling32k",
16742         FT_BOOLEAN, BASE_NONE, NULL, 0,
16743         "h245.BOOLEAN", HFILL }},
16744     { &hf_h245_audioSampling44k1,
16745       { "audioSampling44k1", "h245.audioSampling44k1",
16746         FT_BOOLEAN, BASE_NONE, NULL, 0,
16747         "h245.BOOLEAN", HFILL }},
16748     { &hf_h245_audioSampling48k,
16749       { "audioSampling48k", "h245.audioSampling48k",
16750         FT_BOOLEAN, BASE_NONE, NULL, 0,
16751         "h245.BOOLEAN", HFILL }},
16752     { &hf_h245_singleChannel,
16753       { "singleChannel", "h245.singleChannel",
16754         FT_BOOLEAN, BASE_NONE, NULL, 0,
16755         "h245.BOOLEAN", HFILL }},
16756     { &hf_h245_twoChannels,
16757       { "twoChannels", "h245.twoChannels",
16758         FT_BOOLEAN, BASE_NONE, NULL, 0,
16759         "h245.BOOLEAN", HFILL }},
16760     { &hf_h245_bitRate_1_448,
16761       { "bitRate", "h245.bitRate",
16762         FT_UINT32, BASE_DEC, NULL, 0,
16763         "h245.INTEGER_1_448", HFILL }},
16764     { &hf_h245_audioSampling16k,
16765       { "audioSampling16k", "h245.audioSampling16k",
16766         FT_BOOLEAN, BASE_NONE, NULL, 0,
16767         "h245.BOOLEAN", HFILL }},
16768     { &hf_h245_audioSampling22k05,
16769       { "audioSampling22k05", "h245.audioSampling22k05",
16770         FT_BOOLEAN, BASE_NONE, NULL, 0,
16771         "h245.BOOLEAN", HFILL }},
16772     { &hf_h245_audioSampling24k,
16773       { "audioSampling24k", "h245.audioSampling24k",
16774         FT_BOOLEAN, BASE_NONE, NULL, 0,
16775         "h245.BOOLEAN", HFILL }},
16776     { &hf_h245_threeChannels2_1,
16777       { "threeChannels2-1", "h245.threeChannels2_1",
16778         FT_BOOLEAN, BASE_NONE, NULL, 0,
16779         "h245.BOOLEAN", HFILL }},
16780     { &hf_h245_threeChannels3_0,
16781       { "threeChannels3-0", "h245.threeChannels3_0",
16782         FT_BOOLEAN, BASE_NONE, NULL, 0,
16783         "h245.BOOLEAN", HFILL }},
16784     { &hf_h245_fourChannels2_0_2_0,
16785       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
16786         FT_BOOLEAN, BASE_NONE, NULL, 0,
16787         "h245.BOOLEAN", HFILL }},
16788     { &hf_h245_fourChannels2_2,
16789       { "fourChannels2-2", "h245.fourChannels2_2",
16790         FT_BOOLEAN, BASE_NONE, NULL, 0,
16791         "h245.BOOLEAN", HFILL }},
16792     { &hf_h245_fourChannels3_1,
16793       { "fourChannels3-1", "h245.fourChannels3_1",
16794         FT_BOOLEAN, BASE_NONE, NULL, 0,
16795         "h245.BOOLEAN", HFILL }},
16796     { &hf_h245_fiveChannels3_0_2_0,
16797       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
16798         FT_BOOLEAN, BASE_NONE, NULL, 0,
16799         "h245.BOOLEAN", HFILL }},
16800     { &hf_h245_fiveChannels3_2,
16801       { "fiveChannels3-2", "h245.fiveChannels3_2",
16802         FT_BOOLEAN, BASE_NONE, NULL, 0,
16803         "h245.BOOLEAN", HFILL }},
16804     { &hf_h245_lowFrequencyEnhancement,
16805       { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement",
16806         FT_BOOLEAN, BASE_NONE, NULL, 0,
16807         "h245.BOOLEAN", HFILL }},
16808     { &hf_h245_multilingual,
16809       { "multilingual", "h245.multilingual",
16810         FT_BOOLEAN, BASE_NONE, NULL, 0,
16811         "h245.BOOLEAN", HFILL }},
16812     { &hf_h245_bitRate2_1_1130,
16813       { "bitRate", "h245.bitRate",
16814         FT_UINT32, BASE_DEC, NULL, 0,
16815         "h245.INTEGER_1_1130", HFILL }},
16816     { &hf_h245_audioUnitSize,
16817       { "audioUnitSize", "h245.audioUnitSize",
16818         FT_UINT32, BASE_DEC, NULL, 0,
16819         "h245.INTEGER_1_256", HFILL }},
16820     { &hf_h245_comfortNoise,
16821       { "comfortNoise", "h245.comfortNoise",
16822         FT_BOOLEAN, BASE_NONE, NULL, 0,
16823         "h245.BOOLEAN", HFILL }},
16824     { &hf_h245_scrambled,
16825       { "scrambled", "h245.scrambled",
16826         FT_BOOLEAN, BASE_NONE, NULL, 0,
16827         "h245.BOOLEAN", HFILL }},
16828     { &hf_h245_vbd_cap_type,
16829       { "type", "h245.type",
16830         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
16831         "h245.AudioCapability", HFILL }},
16832     { &hf_h245_t120,
16833       { "t120", "h245.t120",
16834         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16835         "h245.DataProtocolCapability", HFILL }},
16836     { &hf_h245_dsm_cc,
16837       { "dsm-cc", "h245.dsm_cc",
16838         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16839         "h245.DataProtocolCapability", HFILL }},
16840     { &hf_h245_userData,
16841       { "userData", "h245.userData",
16842         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16843         "h245.DataProtocolCapability", HFILL }},
16844     { &hf_h245_t84,
16845       { "t84", "h245.t84",
16846         FT_NONE, BASE_NONE, NULL, 0,
16847         "h245.T_t84", HFILL }},
16848     { &hf_h245_t84Protocol,
16849       { "t84Protocol", "h245.t84Protocol",
16850         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16851         "h245.DataProtocolCapability", HFILL }},
16852     { &hf_h245_t84Profile,
16853       { "t84Profile", "h245.t84Profile",
16854         FT_UINT32, BASE_DEC, VALS(h245_T84Profile_vals), 0,
16855         "h245.T84Profile", HFILL }},
16856     { &hf_h245_t434,
16857       { "t434", "h245.t434",
16858         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16859         "h245.DataProtocolCapability", HFILL }},
16860     { &hf_h245_h224,
16861       { "h224", "h245.h224",
16862         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16863         "h245.DataProtocolCapability", HFILL }},
16864     { &hf_h245_nlpidProtocol,
16865       { "nlpidProtocol", "h245.nlpidProtocol",
16866         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16867         "h245.DataProtocolCapability", HFILL }},
16868     { &hf_h245_nlpidData,
16869       { "nlpidData", "h245.nlpidData",
16870         FT_BYTES, BASE_NONE, NULL, 0,
16871         "h245.OCTET_STRING", HFILL }},
16872     { &hf_h245_nlpid,
16873       { "nlpid", "h245.nlpid",
16874         FT_NONE, BASE_NONE, NULL, 0,
16875         "h245.Nlpid", HFILL }},
16876     { &hf_h245_dsvdControl,
16877       { "dsvdControl", "h245.dsvdControl",
16878         FT_NONE, BASE_NONE, NULL, 0,
16879         "h245.NULL", HFILL }},
16880     { &hf_h245_h222DataPartitioning,
16881       { "h222DataPartitioning", "h245.h222DataPartitioning",
16882         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16883         "h245.DataProtocolCapability", HFILL }},
16884     { &hf_h245_t30fax,
16885       { "t30fax", "h245.t30fax",
16886         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16887         "h245.DataProtocolCapability", HFILL }},
16888     { &hf_h245_t140,
16889       { "t140", "h245.t140",
16890         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16891         "h245.DataProtocolCapability", HFILL }},
16892     { &hf_h245_t38fax,
16893       { "t38fax", "h245.t38fax",
16894         FT_NONE, BASE_NONE, NULL, 0,
16895         "h245.T_t38fax", HFILL }},
16896     { &hf_h245_t38FaxProtocol,
16897       { "t38FaxProtocol", "h245.t38FaxProtocol",
16898         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16899         "h245.DataProtocolCapability", HFILL }},
16900     { &hf_h245_t38FaxProfile,
16901       { "t38FaxProfile", "h245.t38FaxProfile",
16902         FT_NONE, BASE_NONE, NULL, 0,
16903         "h245.T38FaxProfile", HFILL }},
16904     { &hf_h245_genericDataCapability,
16905       { "genericDataCapability", "h245.genericDataCapability",
16906         FT_NONE, BASE_NONE, NULL, 0,
16907         "h245.GenericCapability", HFILL }},
16908     { &hf_h245_application,
16909       { "application", "h245.application",
16910         FT_UINT32, BASE_DEC, VALS(h245_Application_vals), 0,
16911         "h245.Application", HFILL }},
16912     { &hf_h245_maxBitRate2_0_4294967295,
16913       { "maxBitRate", "h245.maxBitRate",
16914         FT_UINT32, BASE_DEC, NULL, 0,
16915         "h245.INTEGER_0_4294967295", HFILL }},
16916     { &hf_h245_v14buffered,
16917       { "v14buffered", "h245.v14buffered",
16918         FT_NONE, BASE_NONE, NULL, 0,
16919         "h245.NULL", HFILL }},
16920     { &hf_h245_v42lapm,
16921       { "v42lapm", "h245.v42lapm",
16922         FT_NONE, BASE_NONE, NULL, 0,
16923         "h245.NULL", HFILL }},
16924     { &hf_h245_hdlcFrameTunnelling,
16925       { "hdlcFrameTunnelling", "h245.hdlcFrameTunnelling",
16926         FT_NONE, BASE_NONE, NULL, 0,
16927         "h245.NULL", HFILL }},
16928     { &hf_h245_h310SeparateVCStack,
16929       { "h310SeparateVCStack", "h245.h310SeparateVCStack",
16930         FT_NONE, BASE_NONE, NULL, 0,
16931         "h245.NULL", HFILL }},
16932     { &hf_h245_h310SingleVCStack,
16933       { "h310SingleVCStack", "h245.h310SingleVCStack",
16934         FT_NONE, BASE_NONE, NULL, 0,
16935         "h245.NULL", HFILL }},
16936     { &hf_h245_transparent,
16937       { "transparent", "h245.transparent",
16938         FT_NONE, BASE_NONE, NULL, 0,
16939         "h245.NULL", HFILL }},
16940     { &hf_h245_segmentationAndReassembly,
16941       { "segmentationAndReassembly", "h245.segmentationAndReassembly",
16942         FT_NONE, BASE_NONE, NULL, 0,
16943         "h245.NULL", HFILL }},
16944     { &hf_h245_hdlcFrameTunnelingwSAR,
16945       { "hdlcFrameTunnelingwSAR", "h245.hdlcFrameTunnelingwSAR",
16946         FT_NONE, BASE_NONE, NULL, 0,
16947         "h245.NULL", HFILL }},
16948     { &hf_h245_v120,
16949       { "v120", "h245.v120",
16950         FT_NONE, BASE_NONE, NULL, 0,
16951         "h245.NULL", HFILL }},
16952     { &hf_h245_separateLANStack,
16953       { "separateLANStack", "h245.separateLANStack",
16954         FT_NONE, BASE_NONE, NULL, 0,
16955         "h245.NULL", HFILL }},
16956     { &hf_h245_v76wCompression,
16957       { "v76wCompression", "h245.v76wCompression",
16958         FT_UINT32, BASE_DEC, VALS(h245_T_v76wCompression_vals), 0,
16959         "h245.T_v76wCompression", HFILL }},
16960     { &hf_h245_transmitCompression,
16961       { "transmitCompression", "h245.transmitCompression",
16962         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16963         "h245.CompressionType", HFILL }},
16964     { &hf_h245_receiveCompression,
16965       { "receiveCompression", "h245.receiveCompression",
16966         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16967         "h245.CompressionType", HFILL }},
16968     { &hf_h245_transmitAndReceiveCompression,
16969       { "transmitAndReceiveCompression", "h245.transmitAndReceiveCompression",
16970         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16971         "h245.CompressionType", HFILL }},
16972     { &hf_h245_tcp,
16973       { "tcp", "h245.tcp",
16974         FT_NONE, BASE_NONE, NULL, 0,
16975         "h245.NULL", HFILL }},
16976     { &hf_h245_udp,
16977       { "udp", "h245.udp",
16978         FT_NONE, BASE_NONE, NULL, 0,
16979         "h245.NULL", HFILL }},
16980     { &hf_h245_v42bis,
16981       { "v42bis", "h245.v42bis",
16982         FT_NONE, BASE_NONE, NULL, 0,
16983         "h245.V42bis", HFILL }},
16984     { &hf_h245_numberOfCodewords,
16985       { "numberOfCodewords", "h245.numberOfCodewords",
16986         FT_UINT32, BASE_DEC, NULL, 0,
16987         "h245.INTEGER_1_65536", HFILL }},
16988     { &hf_h245_maximumStringLength,
16989       { "maximumStringLength", "h245.maximumStringLength",
16990         FT_UINT32, BASE_DEC, NULL, 0,
16991         "h245.INTEGER_1_256", HFILL }},
16992     { &hf_h245_t84Unrestricted,
16993       { "t84Unrestricted", "h245.t84Unrestricted",
16994         FT_NONE, BASE_NONE, NULL, 0,
16995         "h245.NULL", HFILL }},
16996     { &hf_h245_t84Restricted,
16997       { "t84Restricted", "h245.t84Restricted",
16998         FT_NONE, BASE_NONE, NULL, 0,
16999         "h245.T_t84Restricted", HFILL }},
17000     { &hf_h245_qcif_bool,
17001       { "qcif", "h245.qcif",
17002         FT_BOOLEAN, BASE_NONE, NULL, 0,
17003         "h245.BOOLEAN", HFILL }},
17004     { &hf_h245_cif_bool,
17005       { "cif", "h245.cif",
17006         FT_BOOLEAN, BASE_NONE, NULL, 0,
17007         "h245.BOOLEAN", HFILL }},
17008     { &hf_h245_ccir601Seq,
17009       { "ccir601Seq", "h245.ccir601Seq",
17010         FT_BOOLEAN, BASE_NONE, NULL, 0,
17011         "h245.BOOLEAN", HFILL }},
17012     { &hf_h245_ccir601Prog,
17013       { "ccir601Prog", "h245.ccir601Prog",
17014         FT_BOOLEAN, BASE_NONE, NULL, 0,
17015         "h245.BOOLEAN", HFILL }},
17016     { &hf_h245_hdtvSeq,
17017       { "hdtvSeq", "h245.hdtvSeq",
17018         FT_BOOLEAN, BASE_NONE, NULL, 0,
17019         "h245.BOOLEAN", HFILL }},
17020     { &hf_h245_hdtvProg,
17021       { "hdtvProg", "h245.hdtvProg",
17022         FT_BOOLEAN, BASE_NONE, NULL, 0,
17023         "h245.BOOLEAN", HFILL }},
17024     { &hf_h245_g3FacsMH200x100,
17025       { "g3FacsMH200x100", "h245.g3FacsMH200x100",
17026         FT_BOOLEAN, BASE_NONE, NULL, 0,
17027         "h245.BOOLEAN", HFILL }},
17028     { &hf_h245_g3FacsMH200x200,
17029       { "g3FacsMH200x200", "h245.g3FacsMH200x200",
17030         FT_BOOLEAN, BASE_NONE, NULL, 0,
17031         "h245.BOOLEAN", HFILL }},
17032     { &hf_h245_g4FacsMMR200x100,
17033       { "g4FacsMMR200x100", "h245.g4FacsMMR200x100",
17034         FT_BOOLEAN, BASE_NONE, NULL, 0,
17035         "h245.BOOLEAN", HFILL }},
17036     { &hf_h245_g4FacsMMR200x200,
17037       { "g4FacsMMR200x200", "h245.g4FacsMMR200x200",
17038         FT_BOOLEAN, BASE_NONE, NULL, 0,
17039         "h245.BOOLEAN", HFILL }},
17040     { &hf_h245_jbig200x200Seq,
17041       { "jbig200x200Seq", "h245.jbig200x200Seq",
17042         FT_BOOLEAN, BASE_NONE, NULL, 0,
17043         "h245.BOOLEAN", HFILL }},
17044     { &hf_h245_jbig200x200Prog,
17045       { "jbig200x200Prog", "h245.jbig200x200Prog",
17046         FT_BOOLEAN, BASE_NONE, NULL, 0,
17047         "h245.BOOLEAN", HFILL }},
17048     { &hf_h245_jbig300x300Seq,
17049       { "jbig300x300Seq", "h245.jbig300x300Seq",
17050         FT_BOOLEAN, BASE_NONE, NULL, 0,
17051         "h245.BOOLEAN", HFILL }},
17052     { &hf_h245_jbig300x300Prog,
17053       { "jbig300x300Prog", "h245.jbig300x300Prog",
17054         FT_BOOLEAN, BASE_NONE, NULL, 0,
17055         "h245.BOOLEAN", HFILL }},
17056     { &hf_h245_digPhotoLow,
17057       { "digPhotoLow", "h245.digPhotoLow",
17058         FT_BOOLEAN, BASE_NONE, NULL, 0,
17059         "h245.BOOLEAN", HFILL }},
17060     { &hf_h245_digPhotoMedSeq,
17061       { "digPhotoMedSeq", "h245.digPhotoMedSeq",
17062         FT_BOOLEAN, BASE_NONE, NULL, 0,
17063         "h245.BOOLEAN", HFILL }},
17064     { &hf_h245_digPhotoMedProg,
17065       { "digPhotoMedProg", "h245.digPhotoMedProg",
17066         FT_BOOLEAN, BASE_NONE, NULL, 0,
17067         "h245.BOOLEAN", HFILL }},
17068     { &hf_h245_digPhotoHighSeq,
17069       { "digPhotoHighSeq", "h245.digPhotoHighSeq",
17070         FT_BOOLEAN, BASE_NONE, NULL, 0,
17071         "h245.BOOLEAN", HFILL }},
17072     { &hf_h245_digPhotoHighProg,
17073       { "digPhotoHighProg", "h245.digPhotoHighProg",
17074         FT_BOOLEAN, BASE_NONE, NULL, 0,
17075         "h245.BOOLEAN", HFILL }},
17076     { &hf_h245_fillBitRemoval,
17077       { "fillBitRemoval", "h245.fillBitRemoval",
17078         FT_BOOLEAN, BASE_NONE, NULL, 0,
17079         "h245.BOOLEAN", HFILL }},
17080     { &hf_h245_transcodingJBIG,
17081       { "transcodingJBIG", "h245.transcodingJBIG",
17082         FT_BOOLEAN, BASE_NONE, NULL, 0,
17083         "h245.BOOLEAN", HFILL }},
17084     { &hf_h245_transcodingMMR,
17085       { "transcodingMMR", "h245.transcodingMMR",
17086         FT_BOOLEAN, BASE_NONE, NULL, 0,
17087         "h245.BOOLEAN", HFILL }},
17088     { &hf_h245_version,
17089       { "version", "h245.version",
17090         FT_UINT32, BASE_DEC, NULL, 0,
17091         "h245.INTEGER_0_255", HFILL }},
17092     { &hf_h245_t38FaxRateManagement,
17093       { "t38FaxRateManagement", "h245.t38FaxRateManagement",
17094         FT_UINT32, BASE_DEC, VALS(h245_T38FaxRateManagement_vals), 0,
17095         "h245.T38FaxRateManagement", HFILL }},
17096     { &hf_h245_t38FaxUdpOptions,
17097       { "t38FaxUdpOptions", "h245.t38FaxUdpOptions",
17098         FT_NONE, BASE_NONE, NULL, 0,
17099         "h245.T38FaxUdpOptions", HFILL }},
17100     { &hf_h245_t38FaxTcpOptions,
17101       { "t38FaxTcpOptions", "h245.t38FaxTcpOptions",
17102         FT_NONE, BASE_NONE, NULL, 0,
17103         "h245.T38FaxTcpOptions", HFILL }},
17104     { &hf_h245_localTCF,
17105       { "localTCF", "h245.localTCF",
17106         FT_NONE, BASE_NONE, NULL, 0,
17107         "h245.NULL", HFILL }},
17108     { &hf_h245_transferredTCF,
17109       { "transferredTCF", "h245.transferredTCF",
17110         FT_NONE, BASE_NONE, NULL, 0,
17111         "h245.NULL", HFILL }},
17112     { &hf_h245_t38FaxMaxBuffer,
17113       { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer",
17114         FT_INT32, BASE_DEC, NULL, 0,
17115         "h245.INTEGER", HFILL }},
17116     { &hf_h245_t38FaxMaxDatagram,
17117       { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram",
17118         FT_INT32, BASE_DEC, NULL, 0,
17119         "h245.INTEGER", HFILL }},
17120     { &hf_h245_t38FaxUdpEC,
17121       { "t38FaxUdpEC", "h245.t38FaxUdpEC",
17122         FT_UINT32, BASE_DEC, VALS(h245_T_t38FaxUdpEC_vals), 0,
17123         "h245.T_t38FaxUdpEC", HFILL }},
17124     { &hf_h245_t38UDPFEC,
17125       { "t38UDPFEC", "h245.t38UDPFEC",
17126         FT_NONE, BASE_NONE, NULL, 0,
17127         "h245.NULL", HFILL }},
17128     { &hf_h245_t38UDPRedundancy,
17129       { "t38UDPRedundancy", "h245.t38UDPRedundancy",
17130         FT_NONE, BASE_NONE, NULL, 0,
17131         "h245.NULL", HFILL }},
17132     { &hf_h245_t38TCPBidirectionalMode,
17133       { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode",
17134         FT_BOOLEAN, BASE_NONE, NULL, 0,
17135         "h245.BOOLEAN", HFILL }},
17136     { &hf_h245_encryptionCapability,
17137       { "encryptionCapability", "h245.encryptionCapability",
17138         FT_UINT32, BASE_DEC, NULL, 0,
17139         "h245.EncryptionCapability", HFILL }},
17140     { &hf_h245_authenticationCapability,
17141       { "authenticationCapability", "h245.authenticationCapability",
17142         FT_NONE, BASE_NONE, NULL, 0,
17143         "h245.AuthenticationCapability", HFILL }},
17144     { &hf_h245_integrityCapability,
17145       { "integrityCapability", "h245.integrityCapability",
17146         FT_NONE, BASE_NONE, NULL, 0,
17147         "h245.IntegrityCapability", HFILL }},
17148     { &hf_h245_genericH235SecurityCapability,
17149       { "genericH235SecurityCapability", "h245.genericH235SecurityCapability",
17150         FT_NONE, BASE_NONE, NULL, 0,
17151         "h245.GenericCapability", HFILL }},
17152     { &hf_h245_EncryptionCapability_item,
17153       { "MediaEncryptionAlgorithm", "h245.MediaEncryptionAlgorithm",
17154         FT_UINT32, BASE_DEC, VALS(h245_MediaEncryptionAlgorithm_vals), 0,
17155         "h245.MediaEncryptionAlgorithm", HFILL }},
17156     { &hf_h245_algorithm,
17157       { "algorithm", "h245.algorithm",
17158         FT_OID, BASE_NONE, NULL, 0,
17159         "h245.OBJECT_IDENTIFIER", HFILL }},
17160     { &hf_h245_antiSpamAlgorithm,
17161       { "antiSpamAlgorithm", "h245.antiSpamAlgorithm",
17162         FT_OID, BASE_NONE, NULL, 0,
17163         "h245.OBJECT_IDENTIFIER", HFILL }},
17164     { &hf_h245_ui_nonStandard,
17165       { "nonStandard", "h245.nonStandard",
17166         FT_UINT32, BASE_DEC, NULL, 0,
17167         "h245.SEQUENCE_SIZE_1_16_OF_NonStandardParameter", HFILL }},
17168     { &hf_h245_ui_nonStandard_item,
17169       { "NonStandardParameter", "h245.NonStandardParameter",
17170         FT_NONE, BASE_NONE, NULL, 0,
17171         "h245.NonStandardParameter", HFILL }},
17172     { &hf_h245_basicString,
17173       { "basicString", "h245.basicString",
17174         FT_NONE, BASE_NONE, NULL, 0,
17175         "h245.NULL", HFILL }},
17176     { &hf_h245_iA5String,
17177       { "iA5String", "h245.iA5String",
17178         FT_NONE, BASE_NONE, NULL, 0,
17179         "h245.NULL", HFILL }},
17180     { &hf_h245_generalString,
17181       { "generalString", "h245.generalString",
17182         FT_NONE, BASE_NONE, NULL, 0,
17183         "h245.NULL", HFILL }},
17184     { &hf_h245_dtmf,
17185       { "dtmf", "h245.dtmf",
17186         FT_NONE, BASE_NONE, NULL, 0,
17187         "h245.NULL", HFILL }},
17188     { &hf_h245_hookflash,
17189       { "hookflash", "h245.hookflash",
17190         FT_NONE, BASE_NONE, NULL, 0,
17191         "h245.NULL", HFILL }},
17192     { &hf_h245_extendedAlphanumericFlag,
17193       { "extendedAlphanumeric", "h245.extendedAlphanumeric",
17194         FT_NONE, BASE_NONE, NULL, 0,
17195         "h245.NULL", HFILL }},
17196     { &hf_h245_encryptedBasicString,
17197       { "encryptedBasicString", "h245.encryptedBasicString",
17198         FT_NONE, BASE_NONE, NULL, 0,
17199         "h245.NULL", HFILL }},
17200     { &hf_h245_encryptedIA5String,
17201       { "encryptedIA5String", "h245.encryptedIA5String",
17202         FT_NONE, BASE_NONE, NULL, 0,
17203         "h245.NULL", HFILL }},
17204     { &hf_h245_encryptedGeneralString,
17205       { "encryptedGeneralString", "h245.encryptedGeneralString",
17206         FT_NONE, BASE_NONE, NULL, 0,
17207         "h245.NULL", HFILL }},
17208     { &hf_h245_secureDTMF,
17209       { "secureDTMF", "h245.secureDTMF",
17210         FT_NONE, BASE_NONE, NULL, 0,
17211         "h245.NULL", HFILL }},
17212     { &hf_h245_genericUserInputCapability,
17213       { "genericUserInputCapability", "h245.genericUserInputCapability",
17214         FT_NONE, BASE_NONE, NULL, 0,
17215         "h245.GenericCapability", HFILL }},
17216     { &hf_h245_nonStandardParams,
17217       { "nonStandardData", "h245.nonStandardData",
17218         FT_UINT32, BASE_DEC, NULL, 0,
17219         "h245.SEQUENCE_OF_NonStandardParameter", HFILL }},
17220     { &hf_h245_nonStandardParams_item,
17221       { "NonStandardParameter", "h245.NonStandardParameter",
17222         FT_NONE, BASE_NONE, NULL, 0,
17223         "h245.NonStandardParameter", HFILL }},
17224     { &hf_h245_chairControlCapability,
17225       { "chairControlCapability", "h245.chairControlCapability",
17226         FT_BOOLEAN, BASE_NONE, NULL, 0,
17227         "h245.BOOLEAN", HFILL }},
17228     { &hf_h245_videoIndicateMixingCapability,
17229       { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability",
17230         FT_BOOLEAN, BASE_NONE, NULL, 0,
17231         "h245.BOOLEAN", HFILL }},
17232     { &hf_h245_multipointVisualizationCapability,
17233       { "multipointVisualizationCapability", "h245.multipointVisualizationCapability",
17234         FT_BOOLEAN, BASE_NONE, NULL, 0,
17235         "h245.BOOLEAN", HFILL }},
17236     { &hf_h245_capabilityIdentifier,
17237       { "capabilityIdentifier", "h245.capabilityIdentifier",
17238         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
17239         "h245.CapabilityIdentifier", HFILL }},
17240     { &hf_h245_collapsing,
17241       { "collapsing", "h245.collapsing",
17242         FT_UINT32, BASE_DEC, NULL, 0,
17243         "h245.T_collapsing", HFILL }},
17244     { &hf_h245_collapsing_item,
17245       { "collapsing item", "h245.collapsing_item",
17246         FT_NONE, BASE_NONE, NULL, 0,
17247         "h245.T_collapsing_item", HFILL }},
17248     { &hf_h245_nonCollapsing,
17249       { "nonCollapsing", "h245.nonCollapsing",
17250         FT_UINT32, BASE_DEC, NULL, 0,
17251         "h245.T_nonCollapsing", HFILL }},
17252     { &hf_h245_nonCollapsing_item,
17253       { "nonCollapsing item", "h245.nonCollapsing_item",
17254         FT_NONE, BASE_NONE, NULL, 0,
17255         "h245.T_nonCollapsing_item", HFILL }},
17256     { &hf_h245_nonCollapsingRaw,
17257       { "nonCollapsingRaw", "h245.nonCollapsingRaw",
17258         FT_BYTES, BASE_NONE, NULL, 0,
17259         "h245.T_nonCollapsingRaw", HFILL }},
17260     { &hf_h245_transport,
17261       { "transport", "h245.transport",
17262         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
17263         "h245.DataProtocolCapability", HFILL }},
17264     { &hf_h245_standardOid,
17265       { "standard", "h245.standard",
17266         FT_OID, BASE_NONE, NULL, 0,
17267         "h245.T_standardOid", HFILL }},
17268     { &hf_h245_h221NonStandard,
17269       { "h221NonStandard", "h245.h221NonStandard",
17270         FT_NONE, BASE_NONE, NULL, 0,
17271         "h245.NonStandardParameter", HFILL }},
17272     { &hf_h245_uuid,
17273       { "uuid", "h245.uuid",
17274         FT_BYTES, BASE_NONE, NULL, 0,
17275         "h245.OCTET_STRING_SIZE_16", HFILL }},
17276     { &hf_h245_domainBased,
17277       { "domainBased", "h245.domainBased",
17278         FT_STRING, BASE_NONE, NULL, 0,
17279         "h245.IA5String_SIZE_1_64", HFILL }},
17280     { &hf_h245_parameterIdentifier,
17281       { "parameterIdentifier", "h245.parameterIdentifier",
17282         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17283         "h245.ParameterIdentifier", HFILL }},
17284     { &hf_h245_parameterValue,
17285       { "parameterValue", "h245.parameterValue",
17286         FT_UINT32, BASE_DEC, VALS(h245_ParameterValue_vals), 0,
17287         "h245.ParameterValue", HFILL }},
17288     { &hf_h245_supersedes,
17289       { "supersedes", "h245.supersedes",
17290         FT_UINT32, BASE_DEC, NULL, 0,
17291         "h245.SEQUENCE_OF_ParameterIdentifier", HFILL }},
17292     { &hf_h245_supersedes_item,
17293       { "ParameterIdentifier", "h245.ParameterIdentifier",
17294         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17295         "h245.ParameterIdentifier", HFILL }},
17296     { &hf_h245_standard,
17297       { "standard", "h245.standard",
17298         FT_UINT32, BASE_DEC, NULL, 0,
17299         "h245.T_standard", HFILL }},
17300     { &hf_h245_logical,
17301       { "logical", "h245.logical",
17302         FT_NONE, BASE_NONE, NULL, 0,
17303         "h245.NULL", HFILL }},
17304     { &hf_h245_booleanArray,
17305       { "booleanArray", "h245.booleanArray",
17306         FT_UINT32, BASE_DEC, NULL, 0,
17307         "h245.T_booleanArray", HFILL }},
17308     { &hf_h245_unsignedMin,
17309       { "unsignedMin", "h245.unsignedMin",
17310         FT_UINT32, BASE_DEC, NULL, 0,
17311         "h245.T_unsignedMin", HFILL }},
17312     { &hf_h245_unsignedMax,
17313       { "unsignedMax", "h245.unsignedMax",
17314         FT_UINT32, BASE_DEC, NULL, 0,
17315         "h245.T_unsignedMax", HFILL }},
17316     { &hf_h245_unsigned32Min,
17317       { "unsigned32Min", "h245.unsigned32Min",
17318         FT_UINT32, BASE_DEC, NULL, 0,
17319         "h245.T_unsigned32Min", HFILL }},
17320     { &hf_h245_unsigned32Max,
17321       { "unsigned32Max", "h245.unsigned32Max",
17322         FT_UINT32, BASE_DEC, NULL, 0,
17323         "h245.T_unsigned32Max", HFILL }},
17324     { &hf_h245_octetString,
17325       { "octetString", "h245.octetString",
17326         FT_UINT32, BASE_DEC, NULL, 0,
17327         "h245.T_octetString", HFILL }},
17328     { &hf_h245_genericParameters,
17329       { "genericParameter", "h245.genericParameter",
17330         FT_UINT32, BASE_DEC, NULL, 0,
17331         "h245.SEQUENCE_OF_GenericParameter", HFILL }},
17332     { &hf_h245_genericParameters_item,
17333       { "GenericParameter", "h245.GenericParameter",
17334         FT_NONE, BASE_NONE, NULL, 0,
17335         "h245.GenericParameter", HFILL }},
17336     { &hf_h245_multiplexFormat,
17337       { "multiplexFormat", "h245.multiplexFormat",
17338         FT_UINT32, BASE_DEC, VALS(h245_MultiplexFormat_vals), 0,
17339         "h245.MultiplexFormat", HFILL }},
17340     { &hf_h245_controlOnMuxStream,
17341       { "controlOnMuxStream", "h245.controlOnMuxStream",
17342         FT_BOOLEAN, BASE_NONE, NULL, 0,
17343         "h245.BOOLEAN", HFILL }},
17344     { &hf_h245_capabilityOnMuxStream,
17345       { "capabilityOnMuxStream", "h245.capabilityOnMuxStream",
17346         FT_UINT32, BASE_DEC, NULL, 0,
17347         "h245.SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17348     { &hf_h245_capabilityOnMuxStream_item,
17349       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17350         FT_UINT32, BASE_DEC, NULL, 0,
17351         "h245.AlternativeCapabilitySet", HFILL }},
17352     { &hf_h245_dynamicRTPPayloadType,
17353       { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType",
17354         FT_UINT32, BASE_DEC, NULL, 0,
17355         "h245.INTEGER_96_127", HFILL }},
17356     { &hf_h245_audioTelephoneEvent,
17357       { "audioTelephoneEvent", "h245.audioTelephoneEvent",
17358         FT_STRING, BASE_NONE, NULL, 0,
17359         "h245.GeneralString", HFILL }},
17360     { &hf_h245_capabilities,
17361       { "capabilities", "h245.capabilities",
17362         FT_UINT32, BASE_DEC, NULL, 0,
17363         "h245.SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17364     { &hf_h245_capabilities_item,
17365       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17366         FT_UINT32, BASE_DEC, NULL, 0,
17367         "h245.AlternativeCapabilitySet", HFILL }},
17368     { &hf_h245_fecc_rfc2733,
17369       { "rfc2733", "h245.rfc2733",
17370         FT_NONE, BASE_NONE, NULL, 0,
17371         "h245.FECC_rfc2733", HFILL }},
17372     { &hf_h245_redundancyEncodingBool,
17373       { "redundancyEncoding", "h245.redundancyEncoding",
17374         FT_BOOLEAN, BASE_NONE, NULL, 0,
17375         "h245.BOOLEAN", HFILL }},
17376     { &hf_h245_separateStreamBool,
17377       { "separateStream", "h245.separateStream",
17378         FT_NONE, BASE_NONE, NULL, 0,
17379         "h245.T_separateStreamBool", HFILL }},
17380     { &hf_h245_separatePort,
17381       { "separatePort", "h245.separatePort",
17382         FT_BOOLEAN, BASE_NONE, NULL, 0,
17383         "h245.BOOLEAN", HFILL }},
17384     { &hf_h245_samePortBool,
17385       { "samePort", "h245.samePort",
17386         FT_BOOLEAN, BASE_NONE, NULL, 0,
17387         "h245.BOOLEAN", HFILL }},
17388     { &hf_h245_protectedCapability,
17389       { "protectedCapability", "h245.protectedCapability",
17390         FT_UINT32, BASE_DEC, NULL, 0,
17391         "h245.CapabilityTableEntryNumber", HFILL }},
17392     { &hf_h245_fecScheme,
17393       { "fecScheme", "h245.fecScheme",
17394         FT_OID, BASE_NONE, NULL, 0,
17395         "h245.OBJECT_IDENTIFIER", HFILL }},
17396     { &hf_h245_rfc2733rfc2198,
17397       { "rfc2733rfc2198", "h245.rfc2733rfc2198",
17398         FT_UINT32, BASE_DEC, NULL, 0,
17399         "h245.MaxRedundancy", HFILL }},
17400     { &hf_h245_rfc2733sameport,
17401       { "rfc2733sameport", "h245.rfc2733sameport",
17402         FT_UINT32, BASE_DEC, NULL, 0,
17403         "h245.MaxRedundancy", HFILL }},
17404     { &hf_h245_rfc2733diffport,
17405       { "rfc2733diffport", "h245.rfc2733diffport",
17406         FT_UINT32, BASE_DEC, NULL, 0,
17407         "h245.MaxRedundancy", HFILL }},
17408     { &hf_h245_rfc2733Format,
17409       { "rfc2733Format", "h245.rfc2733Format",
17410         FT_UINT32, BASE_DEC, VALS(h245_Rfc2733Format_vals), 0,
17411         "h245.Rfc2733Format", HFILL }},
17412     { &hf_h245_olc_fw_lcn,
17413       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
17414         FT_UINT32, BASE_DEC, NULL, 0,
17415         "h245.OLC_fw_lcn", HFILL }},
17416     { &hf_h245_forwardLogicalChannelParameters,
17417       { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters",
17418         FT_NONE, BASE_NONE, NULL, 0,
17419         "h245.T_forwardLogicalChannelParameters", HFILL }},
17420     { &hf_h245_portNumber,
17421       { "portNumber", "h245.portNumber",
17422         FT_UINT32, BASE_DEC, NULL, 0,
17423         "h245.INTEGER_0_65535", HFILL }},
17424     { &hf_h245_dataType,
17425       { "dataType", "h245.dataType",
17426         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17427         "h245.DataType", HFILL }},
17428     { &hf_h245_olc_forw_multiplexParameters,
17429       { "multiplexParameters", "h245.multiplexParameters",
17430         FT_UINT32, BASE_DEC, VALS(h245_OLC_forw_multiplexParameters_vals), 0,
17431         "h245.OLC_forw_multiplexParameters", HFILL }},
17432     { &hf_h245_h222LogicalChannelParameters,
17433       { "h222LogicalChannelParameters", "h245.h222LogicalChannelParameters",
17434         FT_NONE, BASE_NONE, NULL, 0,
17435         "h245.H222LogicalChannelParameters", HFILL }},
17436     { &hf_h245_olc_fw_h223_params,
17437       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters",
17438         FT_NONE, BASE_NONE, NULL, 0,
17439         "h245.OLC_fw_h223_params", HFILL }},
17440     { &hf_h245_v76LogicalChannelParameters,
17441       { "v76LogicalChannelParameters", "h245.v76LogicalChannelParameters",
17442         FT_NONE, BASE_NONE, NULL, 0,
17443         "h245.V76LogicalChannelParameters", HFILL }},
17444     { &hf_h245_h2250LogicalChannelParameters,
17445       { "h2250LogicalChannelParameters", "h245.h2250LogicalChannelParameters",
17446         FT_NONE, BASE_NONE, NULL, 0,
17447         "h245.H2250LogicalChannelParameters", HFILL }},
17448     { &hf_h245_forwardLogicalChannelDependency,
17449       { "forwardLogicalChannelDependency", "h245.forwardLogicalChannelDependency",
17450         FT_UINT32, BASE_DEC, NULL, 0,
17451         "h245.LogicalChannelNumber", HFILL }},
17452     { &hf_h245_replacementFor,
17453       { "replacementFor", "h245.replacementFor",
17454         FT_UINT32, BASE_DEC, NULL, 0,
17455         "h245.LogicalChannelNumber", HFILL }},
17456     { &hf_h245_reverseLogicalChannelParameters,
17457       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters",
17458         FT_NONE, BASE_NONE, NULL, 0,
17459         "h245.OLC_reverseLogicalChannelParameters", HFILL }},
17460     { &hf_h245_olc_rev_multiplexParameter,
17461       { "multiplexParameters", "h245.multiplexParameters",
17462         FT_UINT32, BASE_DEC, VALS(h245_OLC_rev_multiplexParameters_vals), 0,
17463         "h245.OLC_rev_multiplexParameters", HFILL }},
17464     { &hf_h245_olc_rev_h223_params,
17465       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters",
17466         FT_NONE, BASE_NONE, NULL, 0,
17467         "h245.OLC_rev_h223_params", HFILL }},
17468     { &hf_h245_reverseLogicalChannelDependency,
17469       { "reverseLogicalChannelDependency", "h245.reverseLogicalChannelDependency",
17470         FT_UINT32, BASE_DEC, NULL, 0,
17471         "h245.LogicalChannelNumber", HFILL }},
17472     { &hf_h245_separateStack,
17473       { "separateStack", "h245.separateStack",
17474         FT_NONE, BASE_NONE, NULL, 0,
17475         "h245.NetworkAccessParameters", HFILL }},
17476     { &hf_h245_encryptionSync,
17477       { "encryptionSync", "h245.encryptionSync",
17478         FT_NONE, BASE_NONE, NULL, 0,
17479         "h245.EncryptionSync", HFILL }},
17480     { &hf_h245_distribution,
17481       { "distribution", "h245.distribution",
17482         FT_UINT32, BASE_DEC, VALS(h245_T_distribution_vals), 0,
17483         "h245.T_distribution", HFILL }},
17484     { &hf_h245_unicast,
17485       { "unicast", "h245.unicast",
17486         FT_NONE, BASE_NONE, NULL, 0,
17487         "h245.NULL", HFILL }},
17488     { &hf_h245_multicast,
17489       { "multicast", "h245.multicast",
17490         FT_NONE, BASE_NONE, NULL, 0,
17491         "h245.NULL", HFILL }},
17492     { &hf_h245_networkAddress,
17493       { "networkAddress", "h245.networkAddress",
17494         FT_UINT32, BASE_DEC, VALS(h245_T_networkAddress_vals), 0,
17495         "h245.T_networkAddress", HFILL }},
17496     { &hf_h245_q2931Address,
17497       { "q2931Address", "h245.q2931Address",
17498         FT_NONE, BASE_NONE, NULL, 0,
17499         "h245.Q2931Address", HFILL }},
17500     { &hf_h245_e164Address,
17501       { "e164Address", "h245.e164Address",
17502         FT_STRING, BASE_NONE, NULL, 0,
17503         "h245.T_e164Address", HFILL }},
17504     { &hf_h245_localAreaAddress,
17505       { "localAreaAddress", "h245.localAreaAddress",
17506         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17507         "h245.TransportAddress", HFILL }},
17508     { &hf_h245_associateConference,
17509       { "associateConference", "h245.associateConference",
17510         FT_BOOLEAN, BASE_NONE, NULL, 0,
17511         "h245.BOOLEAN", HFILL }},
17512     { &hf_h245_externalReference,
17513       { "externalReference", "h245.externalReference",
17514         FT_BYTES, BASE_NONE, NULL, 0,
17515         "h245.OCTET_STRING_SIZE_1_255", HFILL }},
17516     { &hf_h245_t120SetupProcedure,
17517       { "t120SetupProcedure", "h245.t120SetupProcedure",
17518         FT_UINT32, BASE_DEC, VALS(h245_T_t120SetupProcedure_vals), 0,
17519         "h245.T_t120SetupProcedure", HFILL }},
17520     { &hf_h245_originateCall,
17521       { "originateCall", "h245.originateCall",
17522         FT_NONE, BASE_NONE, NULL, 0,
17523         "h245.NULL", HFILL }},
17524     { &hf_h245_waitForCall,
17525       { "waitForCall", "h245.waitForCall",
17526         FT_NONE, BASE_NONE, NULL, 0,
17527         "h245.NULL", HFILL }},
17528     { &hf_h245_issueQuery,
17529       { "issueQuery", "h245.issueQuery",
17530         FT_NONE, BASE_NONE, NULL, 0,
17531         "h245.NULL", HFILL }},
17532     { &hf_h245_address,
17533       { "address", "h245.address",
17534         FT_UINT32, BASE_DEC, VALS(h245_T_address_vals), 0,
17535         "h245.T_address", HFILL }},
17536     { &hf_h245_internationalNumber,
17537       { "internationalNumber", "h245.internationalNumber",
17538         FT_STRING, BASE_NONE, NULL, 0,
17539         "h245.NumericString_SIZE_1_16", HFILL }},
17540     { &hf_h245_nsapAddress,
17541       { "nsapAddress", "h245.nsapAddress",
17542         FT_BYTES, BASE_NONE, NULL, 0,
17543         "h245.OCTET_STRING_SIZE_1_20", HFILL }},
17544     { &hf_h245_subaddress,
17545       { "subaddress", "h245.subaddress",
17546         FT_BYTES, BASE_NONE, NULL, 0,
17547         "h245.OCTET_STRING_SIZE_1_20", HFILL }},
17548     { &hf_h245_audioHeaderPresent,
17549       { "audioHeaderPresent", "h245.audioHeaderPresent",
17550         FT_BOOLEAN, BASE_NONE, NULL, 0,
17551         "h245.BOOLEAN", HFILL }},
17552     { &hf_h245_nullData,
17553       { "nullData", "h245.nullData",
17554         FT_NONE, BASE_NONE, NULL, 0,
17555         "h245.NULL", HFILL }},
17556     { &hf_h245_videoData,
17557       { "videoData", "h245.videoData",
17558         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
17559         "h245.VideoCapability", HFILL }},
17560     { &hf_h245_audioData,
17561       { "audioData", "h245.audioData",
17562         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
17563         "h245.AudioCapability", HFILL }},
17564     { &hf_h245_data,
17565       { "data", "h245.data",
17566         FT_NONE, BASE_NONE, NULL, 0,
17567         "h245.DataApplicationCapability", HFILL }},
17568     { &hf_h245_encryptionData,
17569       { "encryptionData", "h245.encryptionData",
17570         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
17571         "h245.EncryptionMode", HFILL }},
17572     { &hf_h245_h235Control,
17573       { "h235Control", "h245.h235Control",
17574         FT_NONE, BASE_NONE, NULL, 0,
17575         "h245.NonStandardParameter", HFILL }},
17576     { &hf_h245_h235Media,
17577       { "h235Media", "h245.h235Media",
17578         FT_NONE, BASE_NONE, NULL, 0,
17579         "h245.H235Media", HFILL }},
17580     { &hf_h245_multiplexedStream,
17581       { "multiplexedStream", "h245.multiplexedStream",
17582         FT_NONE, BASE_NONE, NULL, 0,
17583         "h245.MultiplexedStreamParameter", HFILL }},
17584     { &hf_h245_redundancyEncoding,
17585       { "redundancyEncoding", "h245.redundancyEncoding",
17586         FT_NONE, BASE_NONE, NULL, 0,
17587         "h245.RedundancyEncoding", HFILL }},
17588     { &hf_h245_multiplePayloadStream,
17589       { "multiplePayloadStream", "h245.multiplePayloadStream",
17590         FT_NONE, BASE_NONE, NULL, 0,
17591         "h245.MultiplePayloadStream", HFILL }},
17592     { &hf_h245_depFec,
17593       { "depFec", "h245.depFec",
17594         FT_UINT32, BASE_DEC, VALS(h245_DepFECData_vals), 0,
17595         "h245.DepFECData", HFILL }},
17596     { &hf_h245_fec,
17597       { "fec", "h245.fec",
17598         FT_UINT32, BASE_DEC, VALS(h245_FECData_vals), 0,
17599         "h245.FECData", HFILL }},
17600     { &hf_h245_mediaType,
17601       { "mediaType", "h245.mediaType",
17602         FT_UINT32, BASE_DEC, VALS(h245_T_mediaType_vals), 0,
17603         "h245.T_mediaType", HFILL }},
17604     { &hf_h245_resourceID,
17605       { "resourceID", "h245.resourceID",
17606         FT_UINT32, BASE_DEC, NULL, 0,
17607         "h245.INTEGER_0_65535", HFILL }},
17608     { &hf_h245_subChannelID,
17609       { "subChannelID", "h245.subChannelID",
17610         FT_UINT32, BASE_DEC, NULL, 0,
17611         "h245.INTEGER_0_8191", HFILL }},
17612     { &hf_h245_pcr_pid,
17613       { "pcr-pid", "h245.pcr_pid",
17614         FT_UINT32, BASE_DEC, NULL, 0,
17615         "h245.INTEGER_0_8191", HFILL }},
17616     { &hf_h245_programDescriptors,
17617       { "programDescriptors", "h245.programDescriptors",
17618         FT_BYTES, BASE_NONE, NULL, 0,
17619         "h245.OCTET_STRING", HFILL }},
17620     { &hf_h245_streamDescriptors,
17621       { "streamDescriptors", "h245.streamDescriptors",
17622         FT_BYTES, BASE_NONE, NULL, 0,
17623         "h245.OCTET_STRING", HFILL }},
17624     { &hf_h245_adaptationLayerType,
17625       { "adaptationLayerType", "h245.adaptationLayerType",
17626         FT_UINT32, BASE_DEC, VALS(h245_T_adaptationLayerType_vals), 0,
17627         "h245.T_adaptationLayerType", HFILL }},
17628     { &hf_h245_h223_al_type_al1Framed,
17629       { "al1Framed", "h245.al1Framed",
17630         FT_NONE, BASE_NONE, NULL, 0,
17631         "h245.T_h223_al_type_al1Framed", HFILL }},
17632     { &hf_h245_h223_al_type_al1NotFramed,
17633       { "al1NotFramed", "h245.al1NotFramed",
17634         FT_NONE, BASE_NONE, NULL, 0,
17635         "h245.T_h223_al_type_al1NotFramed", HFILL }},
17636     { &hf_h245_h223_al_type_al2WithoutSequenceNumbers,
17637       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers",
17638         FT_NONE, BASE_NONE, NULL, 0,
17639         "h245.T_h223_al_type_al2WithoutSequenceNumbers", HFILL }},
17640     { &hf_h245_h223_al_type_al2WithSequenceNumbers,
17641       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers",
17642         FT_NONE, BASE_NONE, NULL, 0,
17643         "h245.T_h223_al_type_al2WithSequenceNumbers", HFILL }},
17644     { &hf_h245_controlFieldOctets,
17645       { "controlFieldOctets", "h245.controlFieldOctets",
17646         FT_UINT32, BASE_DEC, NULL, 0,
17647         "h245.T_controlFieldOctets", HFILL }},
17648     { &hf_h245_al3_sendBufferSize,
17649       { "sendBufferSize", "h245.sendBufferSize",
17650         FT_UINT32, BASE_DEC, NULL, 0,
17651         "h245.T_al3_sendBufferSize", HFILL }},
17652     { &hf_h245_h223_al_type_al3,
17653       { "al3", "h245.al3",
17654         FT_NONE, BASE_NONE, NULL, 0,
17655         "h245.T_h223_al_type_al3", HFILL }},
17656     { &hf_h245_h223_al_type_al1M,
17657       { "al1M", "h245.al1M",
17658         FT_NONE, BASE_NONE, NULL, 0,
17659         "h245.T_h223_al_type_al1M", HFILL }},
17660     { &hf_h245_h223_al_type_al2M,
17661       { "al2M", "h245.al2M",
17662         FT_NONE, BASE_NONE, NULL, 0,
17663         "h245.T_h223_al_type_al2M", HFILL }},
17664     { &hf_h245_h223_al_type_al3M,
17665       { "al3M", "h245.al3M",
17666         FT_NONE, BASE_NONE, NULL, 0,
17667         "h245.T_h223_al_type_al3M", HFILL }},
17668     { &hf_h245_h223_lc_segmentableFlag,
17669       { "segmentableFlag", "h245.segmentableFlag",
17670         FT_BOOLEAN, BASE_NONE, NULL, 0,
17671         "h245.T_h223_lc_segmentableFlag", HFILL }},
17672     { &hf_h245_transferMode,
17673       { "transferMode", "h245.transferMode",
17674         FT_UINT32, BASE_DEC, VALS(h245_T_transferMode_vals), 0,
17675         "h245.T_transferMode", HFILL }},
17676     { &hf_h245_framed,
17677       { "framed", "h245.framed",
17678         FT_NONE, BASE_NONE, NULL, 0,
17679         "h245.NULL", HFILL }},
17680     { &hf_h245_unframed,
17681       { "unframed", "h245.unframed",
17682         FT_NONE, BASE_NONE, NULL, 0,
17683         "h245.NULL", HFILL }},
17684     { &hf_h245_aL1HeaderFEC,
17685       { "headerFEC", "h245.headerFEC",
17686         FT_UINT32, BASE_DEC, VALS(h245_AL1HeaderFEC_vals), 0,
17687         "h245.AL1HeaderFEC", HFILL }},
17688     { &hf_h245_sebch16_7,
17689       { "sebch16-7", "h245.sebch16_7",
17690         FT_NONE, BASE_NONE, NULL, 0,
17691         "h245.NULL", HFILL }},
17692     { &hf_h245_golay24_12,
17693       { "golay24-12", "h245.golay24_12",
17694         FT_NONE, BASE_NONE, NULL, 0,
17695         "h245.NULL", HFILL }},
17696     { &hf_h245_crcLength2,
17697       { "crcLength", "h245.crcLength",
17698         FT_UINT32, BASE_DEC, VALS(h245_AL1CrcLength_vals), 0,
17699         "h245.AL1CrcLength", HFILL }},
17700     { &hf_h245_crc4bit,
17701       { "crc4bit", "h245.crc4bit",
17702         FT_NONE, BASE_NONE, NULL, 0,
17703         "h245.NULL", HFILL }},
17704     { &hf_h245_crc12bit,
17705       { "crc12bit", "h245.crc12bit",
17706         FT_NONE, BASE_NONE, NULL, 0,
17707         "h245.NULL", HFILL }},
17708     { &hf_h245_crc20bit,
17709       { "crc20bit", "h245.crc20bit",
17710         FT_NONE, BASE_NONE, NULL, 0,
17711         "h245.NULL", HFILL }},
17712     { &hf_h245_crc28bit,
17713       { "crc28bit", "h245.crc28bit",
17714         FT_NONE, BASE_NONE, NULL, 0,
17715         "h245.NULL", HFILL }},
17716     { &hf_h245_crc8bit,
17717       { "crc8bit", "h245.crc8bit",
17718         FT_NONE, BASE_NONE, NULL, 0,
17719         "h245.NULL", HFILL }},
17720     { &hf_h245_crc16bit,
17721       { "crc16bit", "h245.crc16bit",
17722         FT_NONE, BASE_NONE, NULL, 0,
17723         "h245.NULL", HFILL }},
17724     { &hf_h245_crc32bit,
17725       { "crc32bit", "h245.crc32bit",
17726         FT_NONE, BASE_NONE, NULL, 0,
17727         "h245.NULL", HFILL }},
17728     { &hf_h245_crcNotUsed,
17729       { "crcNotUsed", "h245.crcNotUsed",
17730         FT_NONE, BASE_NONE, NULL, 0,
17731         "h245.NULL", HFILL }},
17732     { &hf_h245_rcpcCodeRate,
17733       { "rcpcCodeRate", "h245.rcpcCodeRate",
17734         FT_UINT32, BASE_DEC, NULL, 0,
17735         "h245.INTEGER_8_32", HFILL }},
17736     { &hf_h245_noArq,
17737       { "noArq", "h245.noArq",
17738         FT_NONE, BASE_NONE, NULL, 0,
17739         "h245.NULL", HFILL }},
17740     { &hf_h245_typeIArq,
17741       { "typeIArq", "h245.typeIArq",
17742         FT_NONE, BASE_NONE, NULL, 0,
17743         "h245.H223AnnexCArqParameters", HFILL }},
17744     { &hf_h245_typeIIArq,
17745       { "typeIIArq", "h245.typeIIArq",
17746         FT_NONE, BASE_NONE, NULL, 0,
17747         "h245.H223AnnexCArqParameters", HFILL }},
17748     { &hf_h245_arqType,
17749       { "arqType", "h245.arqType",
17750         FT_UINT32, BASE_DEC, VALS(h245_ArqType_vals), 0,
17751         "h245.ArqType", HFILL }},
17752     { &hf_h245_alsduSplitting,
17753       { "alsduSplitting", "h245.alsduSplitting",
17754         FT_BOOLEAN, BASE_NONE, NULL, 0,
17755         "h245.BOOLEAN", HFILL }},
17756     { &hf_h245_rsCodeCorrection,
17757       { "rsCodeCorrection", "h245.rsCodeCorrection",
17758         FT_UINT32, BASE_DEC, NULL, 0,
17759         "h245.INTEGER_0_127", HFILL }},
17760     { &hf_h245_aL2HeaderFEC,
17761       { "headerFEC", "h245.headerFEC",
17762         FT_UINT32, BASE_DEC, VALS(h245_AL2HeaderFEC_vals), 0,
17763         "h245.AL2HeaderFEC", HFILL }},
17764     { &hf_h245_sebch16_5,
17765       { "sebch16-5", "h245.sebch16_5",
17766         FT_NONE, BASE_NONE, NULL, 0,
17767         "h245.NULL", HFILL }},
17768     { &hf_h245_headerFormat,
17769       { "headerFormat", "h245.headerFormat",
17770         FT_UINT32, BASE_DEC, VALS(h245_T_headerFormat_vals), 0,
17771         "h245.T_headerFormat", HFILL }},
17772     { &hf_h245_crlength2,
17773       { "crcLength", "h245.crcLength",
17774         FT_UINT32, BASE_DEC, VALS(h245_AL3CrcLength_vals), 0,
17775         "h245.AL3CrcLength", HFILL }},
17776     { &hf_h245_numberOfRetransmissions,
17777       { "numberOfRetransmissions", "h245.numberOfRetransmissions",
17778         FT_UINT32, BASE_DEC, VALS(h245_T_numberOfRetransmissions_vals), 0,
17779         "h245.T_numberOfRetransmissions", HFILL }},
17780     { &hf_h245_finite,
17781       { "finite", "h245.finite",
17782         FT_UINT32, BASE_DEC, NULL, 0,
17783         "h245.INTEGER_0_16", HFILL }},
17784     { &hf_h245_infinite,
17785       { "infinite", "h245.infinite",
17786         FT_NONE, BASE_NONE, NULL, 0,
17787         "h245.NULL", HFILL }},
17788     { &hf_h245_sendBufferSize,
17789       { "sendBufferSize", "h245.sendBufferSize",
17790         FT_UINT32, BASE_DEC, NULL, 0,
17791         "h245.INTEGER_0_16777215", HFILL }},
17792     { &hf_h245_hdlcParameters,
17793       { "hdlcParameters", "h245.hdlcParameters",
17794         FT_NONE, BASE_NONE, NULL, 0,
17795         "h245.V76HDLCParameters", HFILL }},
17796     { &hf_h245_suspendResume,
17797       { "suspendResume", "h245.suspendResume",
17798         FT_UINT32, BASE_DEC, VALS(h245_T_suspendResume_vals), 0,
17799         "h245.T_suspendResume", HFILL }},
17800     { &hf_h245_noSuspendResume,
17801       { "noSuspendResume", "h245.noSuspendResume",
17802         FT_NONE, BASE_NONE, NULL, 0,
17803         "h245.NULL", HFILL }},
17804     { &hf_h245_suspendResumewAddress,
17805       { "suspendResumewAddress", "h245.suspendResumewAddress",
17806         FT_NONE, BASE_NONE, NULL, 0,
17807         "h245.NULL", HFILL }},
17808     { &hf_h245_suspendResumewoAddress,
17809       { "suspendResumewoAddress", "h245.suspendResumewoAddress",
17810         FT_NONE, BASE_NONE, NULL, 0,
17811         "h245.NULL", HFILL }},
17812     { &hf_h245_uIH,
17813       { "uIH", "h245.uIH",
17814         FT_BOOLEAN, BASE_NONE, NULL, 0,
17815         "h245.BOOLEAN", HFILL }},
17816     { &hf_h245_v76_mode,
17817       { "mode", "h245.mode",
17818         FT_UINT32, BASE_DEC, VALS(h245_V76LCP_mode_vals), 0,
17819         "h245.V76LCP_mode", HFILL }},
17820     { &hf_h245_eRM,
17821       { "eRM", "h245.eRM",
17822         FT_NONE, BASE_NONE, NULL, 0,
17823         "h245.T_eRM", HFILL }},
17824     { &hf_h245_windowSize,
17825       { "windowSize", "h245.windowSize",
17826         FT_UINT32, BASE_DEC, NULL, 0,
17827         "h245.INTEGER_1_127", HFILL }},
17828     { &hf_h245_recovery,
17829       { "recovery", "h245.recovery",
17830         FT_UINT32, BASE_DEC, VALS(h245_T_recovery_vals), 0,
17831         "h245.T_recovery", HFILL }},
17832     { &hf_h245_rej,
17833       { "rej", "h245.rej",
17834         FT_NONE, BASE_NONE, NULL, 0,
17835         "h245.NULL", HFILL }},
17836     { &hf_h245_sREJ,
17837       { "sREJ", "h245.sREJ",
17838         FT_NONE, BASE_NONE, NULL, 0,
17839         "h245.NULL", HFILL }},
17840     { &hf_h245_mSREJ,
17841       { "mSREJ", "h245.mSREJ",
17842         FT_NONE, BASE_NONE, NULL, 0,
17843         "h245.NULL", HFILL }},
17844     { &hf_h245_uNERM,
17845       { "uNERM", "h245.uNERM",
17846         FT_NONE, BASE_NONE, NULL, 0,
17847         "h245.NULL", HFILL }},
17848     { &hf_h245_v75Parameters,
17849       { "v75Parameters", "h245.v75Parameters",
17850         FT_NONE, BASE_NONE, NULL, 0,
17851         "h245.V75Parameters", HFILL }},
17852     { &hf_h245_crcLength,
17853       { "crcLength", "h245.crcLength",
17854         FT_UINT32, BASE_DEC, VALS(h245_CRCLength_vals), 0,
17855         "h245.CRCLength", HFILL }},
17856     { &hf_h245_n401,
17857       { "n401", "h245.n401",
17858         FT_UINT32, BASE_DEC, NULL, 0,
17859         "h245.INTEGER_1_4095", HFILL }},
17860     { &hf_h245_loopbackTestProcedure,
17861       { "loopbackTestProcedure", "h245.loopbackTestProcedure",
17862         FT_BOOLEAN, BASE_NONE, NULL, 0,
17863         "h245.BOOLEAN", HFILL }},
17864     { &hf_h245_sessionID_0_255,
17865       { "sessionID", "h245.sessionID",
17866         FT_UINT32, BASE_DEC, NULL, 0,
17867         "h245.INTEGER_0_255", HFILL }},
17868     { &hf_h245_associatedSessionID,
17869       { "associatedSessionID", "h245.associatedSessionID",
17870         FT_UINT32, BASE_DEC, NULL, 0,
17871         "h245.INTEGER_1_255", HFILL }},
17872     { &hf_h245_mediaChannel,
17873       { "mediaChannel", "h245.mediaChannel",
17874         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17875         "h245.T_mediaChannel", HFILL }},
17876     { &hf_h245_mediaGuaranteedDelivery,
17877       { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery",
17878         FT_BOOLEAN, BASE_NONE, NULL, 0,
17879         "h245.BOOLEAN", HFILL }},
17880     { &hf_h245_mediaControlChannel,
17881       { "mediaControlChannel", "h245.mediaControlChannel",
17882         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17883         "h245.T_mediaControlChannel", HFILL }},
17884     { &hf_h245_mediaControlGuaranteedDelivery,
17885       { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery",
17886         FT_BOOLEAN, BASE_NONE, NULL, 0,
17887         "h245.BOOLEAN", HFILL }},
17888     { &hf_h245_destination,
17889       { "destination", "h245.destination",
17890         FT_NONE, BASE_NONE, NULL, 0,
17891         "h245.TerminalLabel", HFILL }},
17892     { &hf_h245_mediaPacketization,
17893       { "mediaPacketization", "h245.mediaPacketization",
17894         FT_UINT32, BASE_DEC, VALS(h245_T_mediaPacketization_vals), 0,
17895         "h245.T_mediaPacketization", HFILL }},
17896     { &hf_h245_h261aVideoPacketizationFlag,
17897       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
17898         FT_NONE, BASE_NONE, NULL, 0,
17899         "h245.NULL", HFILL }},
17900     { &hf_h245_rtpPayloadType,
17901       { "rtpPayloadType", "h245.rtpPayloadType",
17902         FT_NONE, BASE_NONE, NULL, 0,
17903         "h245.RTPPayloadType", HFILL }},
17904     { &hf_h245_source,
17905       { "source", "h245.source",
17906         FT_NONE, BASE_NONE, NULL, 0,
17907         "h245.TerminalLabel", HFILL }},
17908     { &hf_h245_payloadDescriptor,
17909       { "payloadDescriptor", "h245.payloadDescriptor",
17910         FT_UINT32, BASE_DEC, VALS(h245_T_payloadDescriptor_vals), 0,
17911         "h245.T_payloadDescriptor", HFILL }},
17912     { &hf_h245_rfc_number,
17913       { "rfc-number", "h245.rfc_number",
17914         FT_UINT32, BASE_DEC, VALS(h245_RFC_number_vals), 0,
17915         "h245.T_rfc_number", HFILL }},
17916     { &hf_h245_oid,
17917       { "oid", "h245.oid",
17918         FT_OID, BASE_NONE, NULL, 0,
17919         "h245.OBJECT_IDENTIFIER", HFILL }},
17920     { &hf_h245_rtpPayloadType_01,
17921       { "payloadType", "h245.payloadType",
17922         FT_UINT32, BASE_DEC, NULL, 0,
17923         "h245.T_rtpPayloadType", HFILL }},
17924     { &hf_h245_secondaryEncoding,
17925       { "secondaryEncoding", "h245.secondaryEncoding",
17926         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17927         "h245.DataType", HFILL }},
17928     { &hf_h245_rtpRedundancyEncoding,
17929       { "rtpRedundancyEncoding", "h245.rtpRedundancyEncoding",
17930         FT_NONE, BASE_NONE, NULL, 0,
17931         "h245.T_rtpRedundancyEncoding", HFILL }},
17932     { &hf_h245_primary,
17933       { "primary", "h245.primary",
17934         FT_NONE, BASE_NONE, NULL, 0,
17935         "h245.RedundancyEncodingElement", HFILL }},
17936     { &hf_h245_secondary,
17937       { "secondary", "h245.secondary",
17938         FT_UINT32, BASE_DEC, NULL, 0,
17939         "h245.SEQUENCE_OF_RedundancyEncodingElement", HFILL }},
17940     { &hf_h245_secondary_item,
17941       { "RedundancyEncodingElement", "h245.RedundancyEncodingElement",
17942         FT_NONE, BASE_NONE, NULL, 0,
17943         "h245.RedundancyEncodingElement", HFILL }},
17944     { &hf_h245_payloadType,
17945       { "payloadType", "h245.payloadType",
17946         FT_UINT32, BASE_DEC, NULL, 0,
17947         "h245.INTEGER_0_127", HFILL }},
17948     { &hf_h245_elements,
17949       { "elements", "h245.elements",
17950         FT_UINT32, BASE_DEC, NULL, 0,
17951         "h245.SEQUENCE_OF_MultiplePayloadStreamElement", HFILL }},
17952     { &hf_h245_elements_item,
17953       { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement",
17954         FT_NONE, BASE_NONE, NULL, 0,
17955         "h245.MultiplePayloadStreamElement", HFILL }},
17956     { &hf_h245_dep_rfc2733,
17957       { "rfc2733", "h245.rfc2733",
17958         FT_NONE, BASE_NONE, NULL, 0,
17959         "h245.RFC2733Data", HFILL }},
17960     { &hf_h245_fec_data_mode,
17961       { "mode", "h245.mode",
17962         FT_UINT32, BASE_DEC, VALS(h245_FECdata_mode_vals), 0,
17963         "h245.FECdata_mode", HFILL }},
17964     { &hf_h245_redundancyEncodingFlag,
17965       { "redundancyEncoding", "h245.redundancyEncoding",
17966         FT_NONE, BASE_NONE, NULL, 0,
17967         "h245.NULL", HFILL }},
17968     { &hf_h245_differentPort,
17969       { "differentPort", "h245.differentPort",
17970         FT_NONE, BASE_NONE, NULL, 0,
17971         "h245.T_differentPort", HFILL }},
17972     { &hf_h245_protectedSessionID,
17973       { "protectedSessionID", "h245.protectedSessionID",
17974         FT_UINT32, BASE_DEC, NULL, 0,
17975         "h245.INTEGER_1_255", HFILL }},
17976     { &hf_h245_protectedPayloadType,
17977       { "protectedPayloadType", "h245.protectedPayloadType",
17978         FT_UINT32, BASE_DEC, NULL, 0,
17979         "h245.INTEGER_0_127", HFILL }},
17980     { &hf_h245_samePort,
17981       { "samePort", "h245.samePort",
17982         FT_NONE, BASE_NONE, NULL, 0,
17983         "h245.T_samePort", HFILL }},
17984     { &hf_h245_separateStream,
17985       { "separateStream", "h245.separateStream",
17986         FT_UINT32, BASE_DEC, VALS(h245_DepSeparateStream_vals), 0,
17987         "h245.DepSeparateStream", HFILL }},
17988     { &hf_h245_rfc2733,
17989       { "rfc2733", "h245.rfc2733",
17990         FT_NONE, BASE_NONE, NULL, 0,
17991         "h245.T_rfc2733", HFILL }},
17992     { &hf_h245_pktMode,
17993       { "pktMode", "h245.pktMode",
17994         FT_UINT32, BASE_DEC, VALS(h245_T_pktMode_vals), 0,
17995         "h245.T_pktMode", HFILL }},
17996     { &hf_h245_rfc2198coding,
17997       { "rfc2198coding", "h245.rfc2198coding",
17998         FT_NONE, BASE_NONE, NULL, 0,
17999         "h245.NULL", HFILL }},
18000     { &hf_h245_mode_rfc2733sameport,
18001       { "rfc2733sameport", "h245.rfc2733sameport",
18002         FT_NONE, BASE_NONE, NULL, 0,
18003         "h245.T_mode_rfc2733sameport", HFILL }},
18004     { &hf_h245_mode_rfc2733diffport,
18005       { "rfc2733diffport", "h245.rfc2733diffport",
18006         FT_NONE, BASE_NONE, NULL, 0,
18007         "h245.T_mode_rfc2733diffport", HFILL }},
18008     { &hf_h245_protectedChannel,
18009       { "protectedChannel", "h245.protectedChannel",
18010         FT_UINT32, BASE_DEC, NULL, 0,
18011         "h245.LogicalChannelNumber", HFILL }},
18012     { &hf_h245_unicastAddress,
18013       { "unicastAddress", "h245.unicastAddress",
18014         FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0,
18015         "h245.UnicastAddress", HFILL }},
18016     { &hf_h245_multicastAddress,
18017       { "multicastAddress", "h245.multicastAddress",
18018         FT_UINT32, BASE_DEC, VALS(h245_MulticastAddress_vals), 0,
18019         "h245.MulticastAddress", HFILL }},
18020     { &hf_h245_iPAddress,
18021       { "iPAddress", "h245.iPAddress",
18022         FT_NONE, BASE_NONE, NULL, 0,
18023         "h245.T_iPAddress", HFILL }},
18024     { &hf_h245_ip4_network,
18025       { "network", "h245.network",
18026         FT_IPv4, BASE_NONE, NULL, 0,
18027         "h245.Ipv4_network", HFILL }},
18028     { &hf_h245_tsapIdentifier,
18029       { "tsapIdentifier", "h245.tsapIdentifier",
18030         FT_UINT32, BASE_DEC, NULL, 0,
18031         "h245.TsapIdentifier", HFILL }},
18032     { &hf_h245_iPXAddress,
18033       { "iPXAddress", "h245.iPXAddress",
18034         FT_NONE, BASE_NONE, NULL, 0,
18035         "h245.T_iPXAddress", HFILL }},
18036     { &hf_h245_node,
18037       { "node", "h245.node",
18038         FT_BYTES, BASE_NONE, NULL, 0,
18039         "h245.OCTET_STRING_SIZE_6", HFILL }},
18040     { &hf_h245_netnum,
18041       { "netnum", "h245.netnum",
18042         FT_BYTES, BASE_NONE, NULL, 0,
18043         "h245.OCTET_STRING_SIZE_4", HFILL }},
18044     { &hf_h245_ipx_tsapIdentifier,
18045       { "tsapIdentifier", "h245.tsapIdentifier",
18046         FT_BYTES, BASE_NONE, NULL, 0,
18047         "h245.OCTET_STRING_SIZE_2", HFILL }},
18048     { &hf_h245_iP6Address,
18049       { "iP6Address", "h245.iP6Address",
18050         FT_NONE, BASE_NONE, NULL, 0,
18051         "h245.T_iP6Address", HFILL }},
18052     { &hf_h245_ip6_network,
18053       { "network", "h245.network",
18054         FT_IPv6, BASE_NONE, NULL, 0,
18055         "h245.OCTET_STRING_SIZE_16", HFILL }},
18056     { &hf_h245_ipv6_tsapIdentifier,
18057       { "tsapIdentifier", "h245.tsapIdentifier",
18058         FT_UINT32, BASE_DEC, NULL, 0,
18059         "h245.INTEGER_0_65535", HFILL }},
18060     { &hf_h245_netBios,
18061       { "netBios", "h245.netBios",
18062         FT_BYTES, BASE_NONE, NULL, 0,
18063         "h245.OCTET_STRING_SIZE_16", HFILL }},
18064     { &hf_h245_iPSourceRouteAddress,
18065       { "iPSourceRouteAddress", "h245.iPSourceRouteAddress",
18066         FT_NONE, BASE_NONE, NULL, 0,
18067         "h245.T_iPSourceRouteAddress", HFILL }},
18068     { &hf_h245_routing,
18069       { "routing", "h245.routing",
18070         FT_UINT32, BASE_DEC, VALS(h245_T_routing_vals), 0,
18071         "h245.T_routing", HFILL }},
18072     { &hf_h245_strict,
18073       { "strict", "h245.strict",
18074         FT_NONE, BASE_NONE, NULL, 0,
18075         "h245.NULL", HFILL }},
18076     { &hf_h245_loose,
18077       { "loose", "h245.loose",
18078         FT_NONE, BASE_NONE, NULL, 0,
18079         "h245.NULL", HFILL }},
18080     { &hf_h245_network,
18081       { "network", "h245.network",
18082         FT_BYTES, BASE_NONE, NULL, 0,
18083         "h245.OCTET_STRING_SIZE_4", HFILL }},
18084     { &hf_h245_iPSrcRoute_tsapIdentifier,
18085       { "tsapIdentifier", "h245.tsapIdentifier",
18086         FT_UINT32, BASE_DEC, NULL, 0,
18087         "h245.INTEGER_0_65535", HFILL }},
18088     { &hf_h245_route,
18089       { "route", "h245.route",
18090         FT_UINT32, BASE_DEC, NULL, 0,
18091         "h245.T_route", HFILL }},
18092     { &hf_h245_route_item,
18093       { "route item", "h245.route_item",
18094         FT_BYTES, BASE_NONE, NULL, 0,
18095         "h245.OCTET_STRING_SIZE_4", HFILL }},
18096     { &hf_h245_nsap,
18097       { "nsap", "h245.nsap",
18098         FT_BYTES, BASE_NONE, NULL, 0,
18099         "h245.OCTET_STRING_SIZE_1_20", HFILL }},
18100     { &hf_h245_nonStandardAddress,
18101       { "nonStandardAddress", "h245.nonStandardAddress",
18102         FT_NONE, BASE_NONE, NULL, 0,
18103         "h245.NonStandardParameter", HFILL }},
18104     { &hf_h245_mIPAddress,
18105       { "iPAddress", "h245.iPAddress",
18106         FT_NONE, BASE_NONE, NULL, 0,
18107         "h245.MIPAddress", HFILL }},
18108     { &hf_h245_mip4_network,
18109       { "network", "h245.network",
18110         FT_IPv4, BASE_NONE, NULL, 0,
18111         "h245.OCTET_STRING_SIZE_4", HFILL }},
18112     { &hf_h245_multicast_tsapIdentifier,
18113       { "tsapIdentifier", "h245.tsapIdentifier",
18114         FT_UINT32, BASE_DEC, NULL, 0,
18115         "h245.INTEGER_0_65535", HFILL }},
18116     { &hf_h245_mIP6Address,
18117       { "iP6Address", "h245.iP6Address",
18118         FT_NONE, BASE_NONE, NULL, 0,
18119         "h245.MIP6Address", HFILL }},
18120     { &hf_h245_mip6_network,
18121       { "network", "h245.network",
18122         FT_IPv6, BASE_NONE, NULL, 0,
18123         "h245.OCTET_STRING_SIZE_16", HFILL }},
18124     { &hf_h245_multicast_IPv6_tsapIdentifier,
18125       { "tsapIdentifier", "h245.tsapIdentifier",
18126         FT_UINT32, BASE_DEC, NULL, 0,
18127         "h245.INTEGER_0_65535", HFILL }},
18128     { &hf_h245_synchFlag,
18129       { "synchFlag", "h245.synchFlag",
18130         FT_UINT32, BASE_DEC, NULL, 0,
18131         "h245.INTEGER_0_255", HFILL }},
18132     { &hf_h245_h235Key,
18133       { "h235Key", "h245.h235Key",
18134         FT_BYTES, BASE_NONE, NULL, 0,
18135         "h245.OCTET_STRING_SIZE_1_65535", HFILL }},
18136     { &hf_h245_escrowentry,
18137       { "escrowentry", "h245.escrowentry",
18138         FT_UINT32, BASE_DEC, NULL, 0,
18139         "h245.SEQUENCE_SIZE_1_256_OF_EscrowData", HFILL }},
18140     { &hf_h245_escrowentry_item,
18141       { "EscrowData", "h245.EscrowData",
18142         FT_NONE, BASE_NONE, NULL, 0,
18143         "h245.EscrowData", HFILL }},
18144     { &hf_h245_genericParameter,
18145       { "genericParameter", "h245.genericParameter",
18146         FT_NONE, BASE_NONE, NULL, 0,
18147         "h245.GenericParameter", HFILL }},
18148     { &hf_h245_escrowID,
18149       { "escrowID", "h245.escrowID",
18150         FT_OID, BASE_NONE, NULL, 0,
18151         "h245.OBJECT_IDENTIFIER", HFILL }},
18152     { &hf_h245_escrowValue,
18153       { "escrowValue", "h245.escrowValue",
18154         FT_BYTES, BASE_NONE, NULL, 0,
18155         "h245.BIT_STRING_SIZE_1_65535", HFILL }},
18156     { &hf_h245_olc_ack_fw_lcn,
18157       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18158         FT_UINT32, BASE_DEC, NULL, 0,
18159         "h245.OLC_ack_fw_lcn", HFILL }},
18160     { &hf_h245_olc_ack_reverseLogicalChannelParameters,
18161       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters",
18162         FT_NONE, BASE_NONE, NULL, 0,
18163         "h245.OLC_ack_reverseLogicalChannelParameters", HFILL }},
18164     { &hf_h245_reverseLogicalChannelNumber,
18165       { "reverseLogicalChannelNumber", "h245.reverseLogicalChannelNumber",
18166         FT_UINT32, BASE_DEC, NULL, 0,
18167         "h245.T_reverseLogicalChannelNumber", HFILL }},
18168     { &hf_h245_olc_ack_multiplexParameters,
18169       { "multiplexParameters", "h245.multiplexParameters",
18170         FT_UINT32, BASE_DEC, VALS(h245_T_olc_ack_multiplexParameters_vals), 0,
18171         "h245.T_olc_ack_multiplexParameters", HFILL }},
18172     { &hf_h245_forwardMultiplexAckParameters,
18173       { "forwardMultiplexAckParameters", "h245.forwardMultiplexAckParameters",
18174         FT_UINT32, BASE_DEC, VALS(h245_T_forwardMultiplexAckParameters_vals), 0,
18175         "h245.T_forwardMultiplexAckParameters", HFILL }},
18176     { &hf_h245_h2250LogicalChannelAckParameters,
18177       { "h2250LogicalChannelAckParameters", "h245.h2250LogicalChannelAckParameters",
18178         FT_NONE, BASE_NONE, NULL, 0,
18179         "h245.H2250LogicalChannelAckParameters", HFILL }},
18180     { &hf_h245_forwardLogicalChannelNumber,
18181       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18182         FT_UINT32, BASE_DEC, NULL, 0,
18183         "h245.LogicalChannelNumber", HFILL }},
18184     { &hf_h245_olc_rej_cause,
18185       { "cause", "h245.cause",
18186         FT_UINT32, BASE_DEC, VALS(h245_OpenLogicalChannelRejectCause_vals), 0,
18187         "h245.OpenLogicalChannelRejectCause", HFILL }},
18188     { &hf_h245_unsuitableReverseParameters,
18189       { "unsuitableReverseParameters", "h245.unsuitableReverseParameters",
18190         FT_NONE, BASE_NONE, NULL, 0,
18191         "h245.NULL", HFILL }},
18192     { &hf_h245_dataTypeNotSupported,
18193       { "dataTypeNotSupported", "h245.dataTypeNotSupported",
18194         FT_NONE, BASE_NONE, NULL, 0,
18195         "h245.NULL", HFILL }},
18196     { &hf_h245_dataTypeNotAvailable,
18197       { "dataTypeNotAvailable", "h245.dataTypeNotAvailable",
18198         FT_NONE, BASE_NONE, NULL, 0,
18199         "h245.NULL", HFILL }},
18200     { &hf_h245_unknownDataType,
18201       { "unknownDataType", "h245.unknownDataType",
18202         FT_NONE, BASE_NONE, NULL, 0,
18203         "h245.NULL", HFILL }},
18204     { &hf_h245_dataTypeALCombinationNotSupported,
18205       { "dataTypeALCombinationNotSupported", "h245.dataTypeALCombinationNotSupported",
18206         FT_NONE, BASE_NONE, NULL, 0,
18207         "h245.NULL", HFILL }},
18208     { &hf_h245_multicastChannelNotAllowed,
18209       { "multicastChannelNotAllowed", "h245.multicastChannelNotAllowed",
18210         FT_NONE, BASE_NONE, NULL, 0,
18211         "h245.NULL", HFILL }},
18212     { &hf_h245_insufficientBandwidth,
18213       { "insufficientBandwidth", "h245.insufficientBandwidth",
18214         FT_NONE, BASE_NONE, NULL, 0,
18215         "h245.NULL", HFILL }},
18216     { &hf_h245_separateStackEstablishmentFailed,
18217       { "separateStackEstablishmentFailed", "h245.separateStackEstablishmentFailed",
18218         FT_NONE, BASE_NONE, NULL, 0,
18219         "h245.NULL", HFILL }},
18220     { &hf_h245_invalidSessionID,
18221       { "invalidSessionID", "h245.invalidSessionID",
18222         FT_NONE, BASE_NONE, NULL, 0,
18223         "h245.NULL", HFILL }},
18224     { &hf_h245_masterSlaveConflict,
18225       { "masterSlaveConflict", "h245.masterSlaveConflict",
18226         FT_NONE, BASE_NONE, NULL, 0,
18227         "h245.NULL", HFILL }},
18228     { &hf_h245_waitForCommunicationMode,
18229       { "waitForCommunicationMode", "h245.waitForCommunicationMode",
18230         FT_NONE, BASE_NONE, NULL, 0,
18231         "h245.NULL", HFILL }},
18232     { &hf_h245_invalidDependentChannel,
18233       { "invalidDependentChannel", "h245.invalidDependentChannel",
18234         FT_NONE, BASE_NONE, NULL, 0,
18235         "h245.NULL", HFILL }},
18236     { &hf_h245_replacementForRejected,
18237       { "replacementForRejected", "h245.replacementForRejected",
18238         FT_NONE, BASE_NONE, NULL, 0,
18239         "h245.NULL", HFILL }},
18240     { &hf_h245_securityDenied,
18241       { "securityDenied", "h245.securityDenied",
18242         FT_NONE, BASE_NONE, NULL, 0,
18243         "h245.NULL", HFILL }},
18244     { &hf_h245_qoSControlNotSupported,
18245       { "qoSControlNotSupported", "h245.qoSControlNotSupported",
18246         FT_NONE, BASE_NONE, NULL, 0,
18247         "h245.NULL", HFILL }},
18248     { &hf_h245_sessionID,
18249       { "sessionID", "h245.sessionID",
18250         FT_UINT32, BASE_DEC, NULL, 0,
18251         "h245.INTEGER_1_255", HFILL }},
18252     { &hf_h245_ack_mediaChannel,
18253       { "mediaChannel", "h245.mediaChannel",
18254         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18255         "h245.Ack_mediaChannel", HFILL }},
18256     { &hf_h245_ack_mediaControlChannel,
18257       { "mediaControlChannel", "h245.mediaControlChannel",
18258         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18259         "h245.Ack_mediaControlChannel", HFILL }},
18260     { &hf_h245_flowControlToZero,
18261       { "flowControlToZero", "h245.flowControlToZero",
18262         FT_BOOLEAN, BASE_NONE, NULL, 0,
18263         "h245.BOOLEAN", HFILL }},
18264     { &hf_h245_cLC_source,
18265       { "source", "h245.source",
18266         FT_UINT32, BASE_DEC, VALS(h245_T_cLC_source_vals), 0,
18267         "h245.T_cLC_source", HFILL }},
18268     { &hf_h245_user,
18269       { "user", "h245.user",
18270         FT_NONE, BASE_NONE, NULL, 0,
18271         "h245.NULL", HFILL }},
18272     { &hf_h245_lcse,
18273       { "lcse", "h245.lcse",
18274         FT_NONE, BASE_NONE, NULL, 0,
18275         "h245.NULL", HFILL }},
18276     { &hf_h245_clc_reason,
18277       { "reason", "h245.reason",
18278         FT_UINT32, BASE_DEC, VALS(h245_Clc_reason_vals), 0,
18279         "h245.Clc_reason", HFILL }},
18280     { &hf_h245_unknown,
18281       { "unknown", "h245.unknown",
18282         FT_NONE, BASE_NONE, NULL, 0,
18283         "h245.NULL", HFILL }},
18284     { &hf_h245_reopen,
18285       { "reopen", "h245.reopen",
18286         FT_NONE, BASE_NONE, NULL, 0,
18287         "h245.NULL", HFILL }},
18288     { &hf_h245_reservationFailure,
18289       { "reservationFailure", "h245.reservationFailure",
18290         FT_NONE, BASE_NONE, NULL, 0,
18291         "h245.NULL", HFILL }},
18292     { &hf_h245_networkErrorCode,
18293       { "networkErrorCode", "h245.networkErrorCode",
18294         FT_UINT32, BASE_DEC, NULL, 0,
18295         "h245.INTEGER_0_255", HFILL }},
18296     { &hf_h245_qosCapability,
18297       { "qosCapability", "h245.qosCapability",
18298         FT_NONE, BASE_NONE, NULL, 0,
18299         "h245.QOSCapability", HFILL }},
18300     { &hf_h245_reason,
18301       { "reason", "h245.reason",
18302         FT_UINT32, BASE_DEC, VALS(h245_T_reason_vals), 0,
18303         "h245.T_reason", HFILL }},
18304     { &hf_h245_normal,
18305       { "normal", "h245.normal",
18306         FT_NONE, BASE_NONE, NULL, 0,
18307         "h245.NULL", HFILL }},
18308     { &hf_h245_req_chan_clos_rej_cause,
18309       { "cause", "h245.cause",
18310         FT_UINT32, BASE_DEC, VALS(h245_RequestChannelCloseRejectCause_vals), 0,
18311         "h245.RequestChannelCloseRejectCause", HFILL }},
18312     { &hf_h245_multiplexEntryDescriptors,
18313       { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors",
18314         FT_UINT32, BASE_DEC, NULL, 0,
18315         "h245.SET_SIZE_1_15_OF_MultiplexEntryDescriptor", HFILL }},
18316     { &hf_h245_multiplexEntryDescriptors_item,
18317       { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor",
18318         FT_NONE, BASE_NONE, NULL, 0,
18319         "h245.MultiplexEntryDescriptor", HFILL }},
18320     { &hf_h245_multiplexTableEntryNumber,
18321       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18322         FT_UINT32, BASE_DEC, NULL, 0,
18323         "h245.MultiplexTableEntryNumber", HFILL }},
18324     { &hf_h245_elementList,
18325       { "elementList", "h245.elementList",
18326         FT_UINT32, BASE_DEC, NULL, 0,
18327         "h245.T_elementList", HFILL }},
18328     { &hf_h245_elementList_item,
18329       { "MultiplexElement", "h245.MultiplexElement",
18330         FT_NONE, BASE_NONE, NULL, 0,
18331         "h245.MultiplexElement", HFILL }},
18332     { &hf_h245_me_type,
18333       { "type", "h245.type",
18334         FT_UINT32, BASE_DEC, VALS(h245_Me_type_vals), 0,
18335         "h245.Me_type", HFILL }},
18336     { &hf_h245_logicalChannelNum,
18337       { "logicalChannelNumber", "h245.logicalChannelNumber",
18338         FT_UINT32, BASE_DEC, NULL, 0,
18339         "h245.T_logicalChannelNum", HFILL }},
18340     { &hf_h245_subElementList,
18341       { "subElementList", "h245.subElementList",
18342         FT_UINT32, BASE_DEC, NULL, 0,
18343         "h245.T_subElementList", HFILL }},
18344     { &hf_h245_subElementList_item,
18345       { "MultiplexElement", "h245.MultiplexElement",
18346         FT_NONE, BASE_NONE, NULL, 0,
18347         "h245.MultiplexElement", HFILL }},
18348     { &hf_h245_me_repeatCount,
18349       { "repeatCount", "h245.repeatCount",
18350         FT_UINT32, BASE_DEC, VALS(h245_ME_repeatCount_vals), 0,
18351         "h245.ME_repeatCount", HFILL }},
18352     { &hf_h245_me_repeatCount_finite,
18353       { "finite", "h245.finite",
18354         FT_UINT32, BASE_DEC, NULL, 0,
18355         "h245.ME_finiteRepeatCount", HFILL }},
18356     { &hf_h245_untilClosingFlag,
18357       { "untilClosingFlag", "h245.untilClosingFlag",
18358         FT_NONE, BASE_NONE, NULL, 0,
18359         "h245.T_untilClosingFlag", HFILL }},
18360     { &hf_h245_multiplexTableEntryNumbers,
18361       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18362         FT_UINT32, BASE_DEC, NULL, 0,
18363         "h245.SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18364     { &hf_h245_multiplexTableEntryNumbers_item,
18365       { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18366         FT_UINT32, BASE_DEC, NULL, 0,
18367         "h245.MultiplexTableEntryNumber", HFILL }},
18368     { &hf_h245_sendRejectionDescriptions,
18369       { "rejectionDescriptions", "h245.rejectionDescriptions",
18370         FT_UINT32, BASE_DEC, NULL, 0,
18371         "h245.SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions", HFILL }},
18372     { &hf_h245_sendRejectionDescriptions_item,
18373       { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions",
18374         FT_NONE, BASE_NONE, NULL, 0,
18375         "h245.MultiplexEntryRejectionDescriptions", HFILL }},
18376     { &hf_h245_mux_rej_cause,
18377       { "cause", "h245.cause",
18378         FT_UINT32, BASE_DEC, VALS(h245_MultiplexEntryRejectionDescriptionsCause_vals), 0,
18379         "h245.MultiplexEntryRejectionDescriptionsCause", HFILL }},
18380     { &hf_h245_unspecifiedCause,
18381       { "unspecifiedCause", "h245.unspecifiedCause",
18382         FT_NONE, BASE_NONE, NULL, 0,
18383         "h245.NULL", HFILL }},
18384     { &hf_h245_descriptorTooComplex,
18385       { "descriptorTooComplex", "h245.descriptorTooComplex",
18386         FT_NONE, BASE_NONE, NULL, 0,
18387         "h245.NULL", HFILL }},
18388     { &hf_h245_entryNumbers,
18389       { "entryNumbers", "h245.entryNumbers",
18390         FT_UINT32, BASE_DEC, NULL, 0,
18391         "h245.SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18392     { &hf_h245_entryNumbers_item,
18393       { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18394         FT_UINT32, BASE_DEC, NULL, 0,
18395         "h245.MultiplexTableEntryNumber", HFILL }},
18396     { &hf_h245_rejectionDescriptions,
18397       { "rejectionDescriptions", "h245.rejectionDescriptions",
18398         FT_UINT32, BASE_DEC, NULL, 0,
18399         "h245.SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions", HFILL }},
18400     { &hf_h245_rejectionDescriptions_item,
18401       { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions",
18402         FT_NONE, BASE_NONE, NULL, 0,
18403         "h245.RequestMultiplexEntryRejectionDescriptions", HFILL }},
18404     { &hf_h245_req_mux_rej_cause,
18405       { "cause", "h245.cause",
18406         FT_UINT32, BASE_DEC, VALS(h245_RequestMultiplexEntryRejectionDescriptionsCause_vals), 0,
18407         "h245.RequestMultiplexEntryRejectionDescriptionsCause", HFILL }},
18408     { &hf_h245_requestedModes,
18409       { "requestedModes", "h245.requestedModes",
18410         FT_UINT32, BASE_DEC, NULL, 0,
18411         "h245.SEQUENCE_SIZE_1_256_OF_ModeDescription", HFILL }},
18412     { &hf_h245_requestedModes_item,
18413       { "ModeDescription", "h245.ModeDescription",
18414         FT_UINT32, BASE_DEC, NULL, 0,
18415         "h245.ModeDescription", HFILL }},
18416     { &hf_h245_req_mode_ack_response,
18417       { "response", "h245.response",
18418         FT_UINT32, BASE_DEC, VALS(h245_Req_mode_ack_response_vals), 0,
18419         "h245.Req_mode_ack_response", HFILL }},
18420     { &hf_h245_willTransmitMostPreferredMode,
18421       { "willTransmitMostPreferredMode", "h245.willTransmitMostPreferredMode",
18422         FT_NONE, BASE_NONE, NULL, 0,
18423         "h245.NULL", HFILL }},
18424     { &hf_h245_willTransmitLessPreferredMode,
18425       { "willTransmitLessPreferredMode", "h245.willTransmitLessPreferredMode",
18426         FT_NONE, BASE_NONE, NULL, 0,
18427         "h245.NULL", HFILL }},
18428     { &hf_h245_req_rej_cause,
18429       { "cause", "h245.cause",
18430         FT_UINT32, BASE_DEC, VALS(h245_RequestModeRejectCause_vals), 0,
18431         "h245.RequestModeRejectCause", HFILL }},
18432     { &hf_h245_modeUnavailable,
18433       { "modeUnavailable", "h245.modeUnavailable",
18434         FT_NONE, BASE_NONE, NULL, 0,
18435         "h245.NULL", HFILL }},
18436     { &hf_h245_multipointConstraint,
18437       { "multipointConstraint", "h245.multipointConstraint",
18438         FT_NONE, BASE_NONE, NULL, 0,
18439         "h245.NULL", HFILL }},
18440     { &hf_h245_requestDenied,
18441       { "requestDenied", "h245.requestDenied",
18442         FT_NONE, BASE_NONE, NULL, 0,
18443         "h245.NULL", HFILL }},
18444     { &hf_h245_ModeDescription_item,
18445       { "ModeElement", "h245.ModeElement",
18446         FT_NONE, BASE_NONE, NULL, 0,
18447         "h245.ModeElement", HFILL }},
18448     { &hf_h245_videoMode,
18449       { "videoMode", "h245.videoMode",
18450         FT_UINT32, BASE_DEC, VALS(h245_VideoMode_vals), 0,
18451         "h245.VideoMode", HFILL }},
18452     { &hf_h245_audioMode,
18453       { "audioMode", "h245.audioMode",
18454         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18455         "h245.AudioMode", HFILL }},
18456     { &hf_h245_dataMode,
18457       { "dataMode", "h245.dataMode",
18458         FT_NONE, BASE_NONE, NULL, 0,
18459         "h245.DataMode", HFILL }},
18460     { &hf_h245_encryptionMode,
18461       { "encryptionMode", "h245.encryptionMode",
18462         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
18463         "h245.EncryptionMode", HFILL }},
18464     { &hf_h245_h235Mode,
18465       { "h235Mode", "h245.h235Mode",
18466         FT_NONE, BASE_NONE, NULL, 0,
18467         "h245.H235Mode", HFILL }},
18468     { &hf_h245_multiplexedStreamMode,
18469       { "multiplexedStreamMode", "h245.multiplexedStreamMode",
18470         FT_NONE, BASE_NONE, NULL, 0,
18471         "h245.MultiplexedStreamParameter", HFILL }},
18472     { &hf_h245_redundancyEncodingDTMode,
18473       { "redundancyEncodingDTMode", "h245.redundancyEncodingDTMode",
18474         FT_NONE, BASE_NONE, NULL, 0,
18475         "h245.RedundancyEncodingDTMode", HFILL }},
18476     { &hf_h245_multiplePayloadStreamMode,
18477       { "multiplePayloadStreamMode", "h245.multiplePayloadStreamMode",
18478         FT_NONE, BASE_NONE, NULL, 0,
18479         "h245.MultiplePayloadStreamMode", HFILL }},
18480     { &hf_h245_depFecMode,
18481       { "depFecMode", "h245.depFecMode",
18482         FT_UINT32, BASE_DEC, VALS(h245_DepFECMode_vals), 0,
18483         "h245.DepFECMode", HFILL }},
18484     { &hf_h245_fecMode,
18485       { "fecMode", "h245.fecMode",
18486         FT_NONE, BASE_NONE, NULL, 0,
18487         "h245.FECMode", HFILL }},
18488     { &hf_h245_type,
18489       { "type", "h245.type",
18490         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18491         "h245.ModeElementType", HFILL }},
18492     { &hf_h245_h223ModeParameters,
18493       { "h223ModeParameters", "h245.h223ModeParameters",
18494         FT_NONE, BASE_NONE, NULL, 0,
18495         "h245.H223ModeParameters", HFILL }},
18496     { &hf_h245_v76ModeParameters,
18497       { "v76ModeParameters", "h245.v76ModeParameters",
18498         FT_UINT32, BASE_DEC, VALS(h245_V76ModeParameters_vals), 0,
18499         "h245.V76ModeParameters", HFILL }},
18500     { &hf_h245_h2250ModeParameters,
18501       { "h2250ModeParameters", "h245.h2250ModeParameters",
18502         FT_NONE, BASE_NONE, NULL, 0,
18503         "h245.H2250ModeParameters", HFILL }},
18504     { &hf_h245_genericModeParameters,
18505       { "genericModeParameters", "h245.genericModeParameters",
18506         FT_NONE, BASE_NONE, NULL, 0,
18507         "h245.GenericCapability", HFILL }},
18508     { &hf_h245_multiplexedStreamModeParameters,
18509       { "multiplexedStreamModeParameters", "h245.multiplexedStreamModeParameters",
18510         FT_NONE, BASE_NONE, NULL, 0,
18511         "h245.MultiplexedStreamModeParameters", HFILL }},
18512     { &hf_h245_logicalChannelNumber,
18513       { "logicalChannelNumber", "h245.logicalChannelNumber",
18514         FT_UINT32, BASE_DEC, NULL, 0,
18515         "h245.LogicalChannelNumber", HFILL }},
18516     { &hf_h245_mediaMode,
18517       { "mediaMode", "h245.mediaMode",
18518         FT_UINT32, BASE_DEC, VALS(h245_T_mediaMode_vals), 0,
18519         "h245.T_mediaMode", HFILL }},
18520     { &hf_h245_prmary_dtmode,
18521       { "primary", "h245.primary",
18522         FT_NONE, BASE_NONE, NULL, 0,
18523         "h245.RedundancyEncodingDTModeElement", HFILL }},
18524     { &hf_h245_secondaryDTM,
18525       { "secondary", "h245.secondary",
18526         FT_UINT32, BASE_DEC, NULL, 0,
18527         "h245.SEQUENCE_OF_RedundancyEncodingDTModeElement", HFILL }},
18528     { &hf_h245_secondaryDTM_item,
18529       { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement",
18530         FT_NONE, BASE_NONE, NULL, 0,
18531         "h245.RedundancyEncodingDTModeElement", HFILL }},
18532     { &hf_h245_re_type,
18533       { "type", "h245.type",
18534         FT_UINT32, BASE_DEC, VALS(h245_Re_type_vals), 0,
18535         "h245.Re_type", HFILL }},
18536     { &hf_h245_mpsmElements,
18537       { "elements", "h245.elements",
18538         FT_UINT32, BASE_DEC, NULL, 0,
18539         "h245.SEQUENCE_OF_MultiplePayloadStreamElementMode", HFILL }},
18540     { &hf_h245_mpsmElements_item,
18541       { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode",
18542         FT_NONE, BASE_NONE, NULL, 0,
18543         "h245.MultiplePayloadStreamElementMode", HFILL }},
18544     { &hf_h245_rfc2733Mode,
18545       { "rfc2733Mode", "h245.rfc2733Mode",
18546         FT_NONE, BASE_NONE, NULL, 0,
18547         "h245.T_rfc2733Mode", HFILL }},
18548     { &hf_h245_fec_mode,
18549       { "mode", "h245.mode",
18550         FT_UINT32, BASE_DEC, VALS(h245_FEC_mode_vals), 0,
18551         "h245.FEC_mode", HFILL }},
18552     { &hf_h245_protectedElement,
18553       { "protectedElement", "h245.protectedElement",
18554         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18555         "h245.ModeElementType", HFILL }},
18556     { &hf_h245_adaptationLayer,
18557       { "adaptationLayerType", "h245.adaptationLayerType",
18558         FT_UINT32, BASE_DEC, VALS(h245_AdaptationLayerType_vals), 0,
18559         "h245.AdaptationLayerType", HFILL }},
18560     { &hf_h245_al1Framed,
18561       { "al1Framed", "h245.al1Framed",
18562         FT_NONE, BASE_NONE, NULL, 0,
18563         "h245.NULL", HFILL }},
18564     { &hf_h245_al1NotFramed,
18565       { "al1NotFramed", "h245.al1NotFramed",
18566         FT_NONE, BASE_NONE, NULL, 0,
18567         "h245.NULL", HFILL }},
18568     { &hf_h245_al2WithoutSequenceNumbers,
18569       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers",
18570         FT_NONE, BASE_NONE, NULL, 0,
18571         "h245.NULL", HFILL }},
18572     { &hf_h245_al2WithSequenceNumbers,
18573       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers",
18574         FT_NONE, BASE_NONE, NULL, 0,
18575         "h245.NULL", HFILL }},
18576     { &hf_h245_al3,
18577       { "al3", "h245.al3",
18578         FT_NONE, BASE_NONE, NULL, 0,
18579         "h245.Al3", HFILL }},
18580     { &hf_h245_al1M,
18581       { "al1M", "h245.al1M",
18582         FT_NONE, BASE_NONE, NULL, 0,
18583         "h245.H223AL1MParameters", HFILL }},
18584     { &hf_h245_al2M,
18585       { "al2M", "h245.al2M",
18586         FT_NONE, BASE_NONE, NULL, 0,
18587         "h245.H223AL2MParameters", HFILL }},
18588     { &hf_h245_al3M,
18589       { "al3M", "h245.al3M",
18590         FT_NONE, BASE_NONE, NULL, 0,
18591         "h245.H223AL3MParameters", HFILL }},
18592     { &hf_h245_segmentableFlag,
18593       { "segmentableFlag", "h245.segmentableFlag",
18594         FT_BOOLEAN, BASE_NONE, NULL, 0,
18595         "h245.BOOLEAN", HFILL }},
18596     { &hf_h245_redundancyEncodingMode,
18597       { "redundancyEncodingMode", "h245.redundancyEncodingMode",
18598         FT_NONE, BASE_NONE, NULL, 0,
18599         "h245.RedundancyEncodingMode", HFILL }},
18600     { &hf_h245_secondaryEncodingMode,
18601       { "secondaryEncoding", "h245.secondaryEncoding",
18602         FT_UINT32, BASE_DEC, VALS(h245_T_secondaryEncodingMode_vals), 0,
18603         "h245.T_secondaryEncodingMode", HFILL }},
18604     { &hf_h245_h261VideoMode,
18605       { "h261VideoMode", "h245.h261VideoMode",
18606         FT_NONE, BASE_NONE, NULL, 0,
18607         "h245.H261VideoMode", HFILL }},
18608     { &hf_h245_h262VideoMode,
18609       { "h262VideoMode", "h245.h262VideoMode",
18610         FT_NONE, BASE_NONE, NULL, 0,
18611         "h245.H262VideoMode", HFILL }},
18612     { &hf_h245_h263VideoMode,
18613       { "h263VideoMode", "h245.h263VideoMode",
18614         FT_NONE, BASE_NONE, NULL, 0,
18615         "h245.H263VideoMode", HFILL }},
18616     { &hf_h245_is11172VideoMode,
18617       { "is11172VideoMode", "h245.is11172VideoMode",
18618         FT_NONE, BASE_NONE, NULL, 0,
18619         "h245.IS11172VideoMode", HFILL }},
18620     { &hf_h245_genericVideoMode,
18621       { "genericVideoMode", "h245.genericVideoMode",
18622         FT_NONE, BASE_NONE, NULL, 0,
18623         "h245.GenericCapability", HFILL }},
18624     { &hf_h245_h261_resolution,
18625       { "resolution", "h245.resolution",
18626         FT_UINT32, BASE_DEC, VALS(h245_H261Resolution_vals), 0,
18627         "h245.H261Resolution", HFILL }},
18628     { &hf_h245_qcif,
18629       { "qcif", "h245.qcif",
18630         FT_NONE, BASE_NONE, NULL, 0,
18631         "h245.NULL", HFILL }},
18632     { &hf_h245_cif,
18633       { "cif", "h245.cif",
18634         FT_NONE, BASE_NONE, NULL, 0,
18635         "h245.NULL", HFILL }},
18636     { &hf_h245_profileAndLevel,
18637       { "profileAndLevel", "h245.profileAndLevel",
18638         FT_UINT32, BASE_DEC, VALS(h245_T_profileAndLevel_vals), 0,
18639         "h245.T_profileAndLevel", HFILL }},
18640     { &hf_h245_profileAndLevel_SPatMLMode,
18641       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
18642         FT_NONE, BASE_NONE, NULL, 0,
18643         "h245.NULL", HFILL }},
18644     { &hf_h245_profileAndLevel_MPatLLMode,
18645       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
18646         FT_NONE, BASE_NONE, NULL, 0,
18647         "h245.NULL", HFILL }},
18648     { &hf_h245_profileAndLevel_MPatMLMode,
18649       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
18650         FT_NONE, BASE_NONE, NULL, 0,
18651         "h245.NULL", HFILL }},
18652     { &hf_h245_profileAndLevel_MPatH_14Mode,
18653       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
18654         FT_NONE, BASE_NONE, NULL, 0,
18655         "h245.NULL", HFILL }},
18656     { &hf_h245_profileAndLevel_MPatHLMode,
18657       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
18658         FT_NONE, BASE_NONE, NULL, 0,
18659         "h245.NULL", HFILL }},
18660     { &hf_h245_profileAndLevel_SNRatLLMode,
18661       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
18662         FT_NONE, BASE_NONE, NULL, 0,
18663         "h245.NULL", HFILL }},
18664     { &hf_h245_profileAndLevel_SNRatMLMode,
18665       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
18666         FT_NONE, BASE_NONE, NULL, 0,
18667         "h245.NULL", HFILL }},
18668     { &hf_h245_profileAndLevel_SpatialatH_14Mode,
18669       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
18670         FT_NONE, BASE_NONE, NULL, 0,
18671         "h245.NULL", HFILL }},
18672     { &hf_h245_profileAndLevel_HPatMLMode,
18673       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
18674         FT_NONE, BASE_NONE, NULL, 0,
18675         "h245.NULL", HFILL }},
18676     { &hf_h245_profileAndLevel_HPatH_14Mode,
18677       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
18678         FT_NONE, BASE_NONE, NULL, 0,
18679         "h245.NULL", HFILL }},
18680     { &hf_h245_profileAndLevel_HPatHLMode,
18681       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
18682         FT_NONE, BASE_NONE, NULL, 0,
18683         "h245.NULL", HFILL }},
18684     { &hf_h245_h263_resolution,
18685       { "resolution", "h245.resolution",
18686         FT_UINT32, BASE_DEC, VALS(h245_H263Resolution_vals), 0,
18687         "h245.H263Resolution", HFILL }},
18688     { &hf_h245_sqcif,
18689       { "sqcif", "h245.sqcif",
18690         FT_NONE, BASE_NONE, NULL, 0,
18691         "h245.NULL", HFILL }},
18692     { &hf_h245_cif4,
18693       { "cif4", "h245.cif4",
18694         FT_NONE, BASE_NONE, NULL, 0,
18695         "h245.NULL", HFILL }},
18696     { &hf_h245_cif16,
18697       { "cif16", "h245.cif16",
18698         FT_NONE, BASE_NONE, NULL, 0,
18699         "h245.NULL", HFILL }},
18700     { &hf_h245_custom_res,
18701       { "custom", "h245.custom",
18702         FT_NONE, BASE_NONE, NULL, 0,
18703         "h245.NULL", HFILL }},
18704     { &hf_h245_g711Alaw64k_mode,
18705       { "g711Alaw64k", "h245.g711Alaw64k",
18706         FT_NONE, BASE_NONE, NULL, 0,
18707         "h245.NULL", HFILL }},
18708     { &hf_h245_g711Alaw56k_mode,
18709       { "g711Alaw56k", "h245.g711Alaw56k",
18710         FT_NONE, BASE_NONE, NULL, 0,
18711         "h245.NULL", HFILL }},
18712     { &hf_h245_g711Ulaw64k_mode,
18713       { "g711Ulaw64k", "h245.g711Ulaw64k",
18714         FT_NONE, BASE_NONE, NULL, 0,
18715         "h245.NULL", HFILL }},
18716     { &hf_h245_g711Ulaw56k_mode,
18717       { "g711Ulaw56k", "h245.g711Ulaw56k",
18718         FT_NONE, BASE_NONE, NULL, 0,
18719         "h245.NULL", HFILL }},
18720     { &hf_h245_g722_64k_mode,
18721       { "g722-64k", "h245.g722_64k",
18722         FT_NONE, BASE_NONE, NULL, 0,
18723         "h245.NULL", HFILL }},
18724     { &hf_h245_g722_56k_mode,
18725       { "g722-56k", "h245.g722_56k",
18726         FT_NONE, BASE_NONE, NULL, 0,
18727         "h245.NULL", HFILL }},
18728     { &hf_h245_g722_48k_mode,
18729       { "g722-48k", "h245.g722_48k",
18730         FT_NONE, BASE_NONE, NULL, 0,
18731         "h245.NULL", HFILL }},
18732     { &hf_h245_g728_mode,
18733       { "g728", "h245.g728",
18734         FT_NONE, BASE_NONE, NULL, 0,
18735         "h245.NULL", HFILL }},
18736     { &hf_h245_g729_mode,
18737       { "g729", "h245.g729",
18738         FT_NONE, BASE_NONE, NULL, 0,
18739         "h245.NULL", HFILL }},
18740     { &hf_h245_g729AnnexA_mode,
18741       { "g729AnnexA", "h245.g729AnnexA",
18742         FT_NONE, BASE_NONE, NULL, 0,
18743         "h245.NULL", HFILL }},
18744     { &hf_h245_g7231_mode,
18745       { "g7231", "h245.g7231",
18746         FT_UINT32, BASE_DEC, VALS(h245_Mode_g7231_vals), 0,
18747         "h245.Mode_g7231", HFILL }},
18748     { &hf_h245_noSilenceSuppressionLowRate,
18749       { "noSilenceSuppressionLowRate", "h245.noSilenceSuppressionLowRate",
18750         FT_NONE, BASE_NONE, NULL, 0,
18751         "h245.NULL", HFILL }},
18752     { &hf_h245_noSilenceSuppressionHighRate,
18753       { "noSilenceSuppressionHighRate", "h245.noSilenceSuppressionHighRate",
18754         FT_NONE, BASE_NONE, NULL, 0,
18755         "h245.NULL", HFILL }},
18756     { &hf_h245_silenceSuppressionLowRate,
18757       { "silenceSuppressionLowRate", "h245.silenceSuppressionLowRate",
18758         FT_NONE, BASE_NONE, NULL, 0,
18759         "h245.NULL", HFILL }},
18760     { &hf_h245_silenceSuppressionHighRate,
18761       { "silenceSuppressionHighRate", "h245.silenceSuppressionHighRate",
18762         FT_NONE, BASE_NONE, NULL, 0,
18763         "h245.NULL", HFILL }},
18764     { &hf_h245_is11172AudioMode,
18765       { "is11172AudioMode", "h245.is11172AudioMode",
18766         FT_NONE, BASE_NONE, NULL, 0,
18767         "h245.IS11172AudioMode", HFILL }},
18768     { &hf_h245_is13818AudioMode,
18769       { "is13818AudioMode", "h245.is13818AudioMode",
18770         FT_NONE, BASE_NONE, NULL, 0,
18771         "h245.IS13818AudioMode", HFILL }},
18772     { &hf_h245_g7231AnnexCMode,
18773       { "g7231AnnexCMode", "h245.g7231AnnexCMode",
18774         FT_NONE, BASE_NONE, NULL, 0,
18775         "h245.G7231AnnexCMode", HFILL }},
18776     { &hf_h245_genericAudioMode,
18777       { "genericAudioMode", "h245.genericAudioMode",
18778         FT_NONE, BASE_NONE, NULL, 0,
18779         "h245.GenericCapability", HFILL }},
18780     { &hf_h245_vbd_mode,
18781       { "vbd", "h245.vbd",
18782         FT_NONE, BASE_NONE, NULL, 0,
18783         "h245.VBDMode", HFILL }},
18784     { &hf_h245_audioLayer,
18785       { "audioLayer", "h245.audioLayer",
18786         FT_UINT32, BASE_DEC, VALS(h245_T_audioLayer_vals), 0,
18787         "h245.T_audioLayer", HFILL }},
18788     { &hf_h245_audioLayer1Mode,
18789       { "audioLayer1", "h245.audioLayer1",
18790         FT_NONE, BASE_NONE, NULL, 0,
18791         "h245.NULL", HFILL }},
18792     { &hf_h245_audioLayer2Mode,
18793       { "audioLayer2", "h245.audioLayer2",
18794         FT_NONE, BASE_NONE, NULL, 0,
18795         "h245.NULL", HFILL }},
18796     { &hf_h245_audioLayer3Mode,
18797       { "audioLayer3", "h245.audioLayer3",
18798         FT_NONE, BASE_NONE, NULL, 0,
18799         "h245.NULL", HFILL }},
18800     { &hf_h245_audioSampling,
18801       { "audioSampling", "h245.audioSampling",
18802         FT_UINT32, BASE_DEC, VALS(h245_T_audioSampling_vals), 0,
18803         "h245.T_audioSampling", HFILL }},
18804     { &hf_h245_audioSampling32kMode,
18805       { "audioSampling32k", "h245.audioSampling32k",
18806         FT_NONE, BASE_NONE, NULL, 0,
18807         "h245.NULL", HFILL }},
18808     { &hf_h245_audioSampling44k1Mode,
18809       { "audioSampling44k1", "h245.audioSampling44k1",
18810         FT_NONE, BASE_NONE, NULL, 0,
18811         "h245.NULL", HFILL }},
18812     { &hf_h245_audioSampling48kMode,
18813       { "audioSampling48k", "h245.audioSampling48k",
18814         FT_NONE, BASE_NONE, NULL, 0,
18815         "h245.NULL", HFILL }},
18816     { &hf_h245_is11172multichannelType,
18817       { "multichannelType", "h245.multichannelType",
18818         FT_UINT32, BASE_DEC, VALS(h245_IS11172_multichannelType_vals), 0,
18819         "h245.IS11172_multichannelType", HFILL }},
18820     { &hf_h245_singleChannelMode,
18821       { "singleChannel", "h245.singleChannel",
18822         FT_NONE, BASE_NONE, NULL, 0,
18823         "h245.NULL", HFILL }},
18824     { &hf_h245_twoChannelStereo,
18825       { "twoChannelStereo", "h245.twoChannelStereo",
18826         FT_NONE, BASE_NONE, NULL, 0,
18827         "h245.NULL", HFILL }},
18828     { &hf_h245_twoChannelDual,
18829       { "twoChannelDual", "h245.twoChannelDual",
18830         FT_NONE, BASE_NONE, NULL, 0,
18831         "h245.NULL", HFILL }},
18832     { &hf_h245_audioLayerMode,
18833       { "audioLayer", "h245.audioLayer",
18834         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioLayer_vals), 0,
18835         "h245.IS13818AudioLayer", HFILL }},
18836     { &hf_h245_audioSamplingMode,
18837       { "audioSampling", "h245.audioSampling",
18838         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioSampling_vals), 0,
18839         "h245.IS13818AudioSampling", HFILL }},
18840     { &hf_h245_audioSampling16kMode,
18841       { "audioSampling16k", "h245.audioSampling16k",
18842         FT_NONE, BASE_NONE, NULL, 0,
18843         "h245.NULL", HFILL }},
18844     { &hf_h245_audioSampling22k05Mode,
18845       { "audioSampling22k05", "h245.audioSampling22k05",
18846         FT_NONE, BASE_NONE, NULL, 0,
18847         "h245.NULL", HFILL }},
18848     { &hf_h245_audioSampling24kMode,
18849       { "audioSampling24k", "h245.audioSampling24k",
18850         FT_NONE, BASE_NONE, NULL, 0,
18851         "h245.NULL", HFILL }},
18852     { &hf_h245_is13818MultichannelType,
18853       { "multichannelType", "h245.multichannelType",
18854         FT_UINT32, BASE_DEC, VALS(h245_IS13818MultichannelType_vals), 0,
18855         "h245.IS13818MultichannelType", HFILL }},
18856     { &hf_h245_threeChannels2_1Mode,
18857       { "threeChannels2-1", "h245.threeChannels2_1",
18858         FT_NONE, BASE_NONE, NULL, 0,
18859         "h245.NULL", HFILL }},
18860     { &hf_h245_threeChannels3_0Mode,
18861       { "threeChannels3-0", "h245.threeChannels3_0",
18862         FT_NONE, BASE_NONE, NULL, 0,
18863         "h245.NULL", HFILL }},
18864     { &hf_h245_fourChannels2_0_2_0Mode,
18865       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
18866         FT_NONE, BASE_NONE, NULL, 0,
18867         "h245.NULL", HFILL }},
18868     { &hf_h245_fourChannels2_2Mode,
18869       { "fourChannels2-2", "h245.fourChannels2_2",
18870         FT_NONE, BASE_NONE, NULL, 0,
18871         "h245.NULL", HFILL }},
18872     { &hf_h245_fourChannels3_1Mode,
18873       { "fourChannels3-1", "h245.fourChannels3_1",
18874         FT_NONE, BASE_NONE, NULL, 0,
18875         "h245.NULL", HFILL }},
18876     { &hf_h245_fiveChannels3_0_2_0Mode,
18877       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
18878         FT_NONE, BASE_NONE, NULL, 0,
18879         "h245.NULL", HFILL }},
18880     { &hf_h245_fiveChannels3_2Mode,
18881       { "fiveChannels3-2", "h245.fiveChannels3_2",
18882         FT_NONE, BASE_NONE, NULL, 0,
18883         "h245.NULL", HFILL }},
18884     { &hf_h245_vbd_type,
18885       { "type", "h245.type",
18886         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18887         "h245.AudioMode", HFILL }},
18888     { &hf_h245_datamodeapplication,
18889       { "application", "h245.application",
18890         FT_UINT32, BASE_DEC, VALS(h245_DataModeApplication_vals), 0,
18891         "h245.DataModeApplication", HFILL }},
18892     { &hf_h245_t84DataProtocolCapability,
18893       { "t84", "h245.t84",
18894         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
18895         "h245.DataProtocolCapability", HFILL }},
18896     { &hf_h245_t38faxDataProtocolCapability,
18897       { "t38fax", "h245.t38fax",
18898         FT_NONE, BASE_NONE, NULL, 0,
18899         "h245.T38faxApp", HFILL }},
18900     { &hf_h245_genericDataMode,
18901       { "genericDataMode", "h245.genericDataMode",
18902         FT_NONE, BASE_NONE, NULL, 0,
18903         "h245.GenericCapability", HFILL }},
18904     { &hf_h245_bitRate_0_4294967295,
18905       { "bitRate", "h245.bitRate",
18906         FT_UINT32, BASE_DEC, NULL, 0,
18907         "h245.INTEGER_0_4294967295", HFILL }},
18908     { &hf_h245_h233Encryption,
18909       { "h233Encryption", "h245.h233Encryption",
18910         FT_NONE, BASE_NONE, NULL, 0,
18911         "h245.NULL", HFILL }},
18912     { &hf_h245_mlr_type,
18913       { "type", "h245.type",
18914         FT_UINT32, BASE_DEC, VALS(h245_Mlr_type_vals), 0,
18915         "h245.Mlr_type", HFILL }},
18916     { &hf_h245_systemLoop,
18917       { "systemLoop", "h245.systemLoop",
18918         FT_NONE, BASE_NONE, NULL, 0,
18919         "h245.NULL", HFILL }},
18920     { &hf_h245_mediaLoop,
18921       { "mediaLoop", "h245.mediaLoop",
18922         FT_UINT32, BASE_DEC, NULL, 0,
18923         "h245.LogicalChannelNumber", HFILL }},
18924     { &hf_h245_logicalChannelLoop,
18925       { "logicalChannelLoop", "h245.logicalChannelLoop",
18926         FT_UINT32, BASE_DEC, NULL, 0,
18927         "h245.LogicalChannelNumber", HFILL }},
18928     { &hf_h245_mla_type,
18929       { "type", "h245.type",
18930         FT_UINT32, BASE_DEC, VALS(h245_Mla_type_vals), 0,
18931         "h245.Mla_type", HFILL }},
18932     { &hf_h245_mlrej_type,
18933       { "type", "h245.type",
18934         FT_UINT32, BASE_DEC, VALS(h245_Mlrej_type_vals), 0,
18935         "h245.Mlrej_type", HFILL }},
18936     { &hf_h245_maintloop_rej_cause,
18937       { "cause", "h245.cause",
18938         FT_UINT32, BASE_DEC, VALS(h245_MaintenanceLoopRejectCause_vals), 0,
18939         "h245.MaintenanceLoopRejectCause", HFILL }},
18940     { &hf_h245_canNotPerformLoop,
18941       { "canNotPerformLoop", "h245.canNotPerformLoop",
18942         FT_NONE, BASE_NONE, NULL, 0,
18943         "h245.NULL", HFILL }},
18944     { &hf_h245_communicationModeTable,
18945       { "communicationModeTable", "h245.communicationModeTable",
18946         FT_UINT32, BASE_DEC, NULL, 0,
18947         "h245.SET_SIZE_1_256_OF_CommunicationModeTableEntry", HFILL }},
18948     { &hf_h245_communicationModeTable_item,
18949       { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry",
18950         FT_NONE, BASE_NONE, NULL, 0,
18951         "h245.CommunicationModeTableEntry", HFILL }},
18952     { &hf_h245_terminalLabel,
18953       { "terminalLabel", "h245.terminalLabel",
18954         FT_NONE, BASE_NONE, NULL, 0,
18955         "h245.TerminalLabel", HFILL }},
18956     { &hf_h245_sessionDescription,
18957       { "sessionDescription", "h245.sessionDescription",
18958         FT_STRING, BASE_NONE, NULL, 0,
18959         "h245.BMPString_SIZE_1_128", HFILL }},
18960     { &hf_h245_entryDataType,
18961       { "dataType", "h245.dataType",
18962         FT_UINT32, BASE_DEC, VALS(h245_T_entryDataType_vals), 0,
18963         "h245.T_entryDataType", HFILL }},
18964     { &hf_h245_cm_mediaChannel,
18965       { "mediaChannel", "h245.mediaChannel",
18966         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18967         "h245.Cm_mediaChannel", HFILL }},
18968     { &hf_h245_cm_mediaControlChannel,
18969       { "mediaControlChannel", "h245.mediaControlChannel",
18970         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18971         "h245.TransportAddress", HFILL }},
18972     { &hf_h245_sessionDependency,
18973       { "sessionDependency", "h245.sessionDependency",
18974         FT_UINT32, BASE_DEC, NULL, 0,
18975         "h245.INTEGER_1_255", HFILL }},
18976     { &hf_h245_terminalListRequest,
18977       { "terminalListRequest", "h245.terminalListRequest",
18978         FT_NONE, BASE_NONE, NULL, 0,
18979         "h245.NULL", HFILL }},
18980     { &hf_h245_makeMeChair,
18981       { "makeMeChair", "h245.makeMeChair",
18982         FT_NONE, BASE_NONE, NULL, 0,
18983         "h245.NULL", HFILL }},
18984     { &hf_h245_cancelMakeMeChair,
18985       { "cancelMakeMeChair", "h245.cancelMakeMeChair",
18986         FT_NONE, BASE_NONE, NULL, 0,
18987         "h245.NULL", HFILL }},
18988     { &hf_h245_dropTerminal,
18989       { "dropTerminal", "h245.dropTerminal",
18990         FT_NONE, BASE_NONE, NULL, 0,
18991         "h245.TerminalLabel", HFILL }},
18992     { &hf_h245_requestTerminalID,
18993       { "requestTerminalID", "h245.requestTerminalID",
18994         FT_NONE, BASE_NONE, NULL, 0,
18995         "h245.TerminalLabel", HFILL }},
18996     { &hf_h245_enterH243Password,
18997       { "enterH243Password", "h245.enterH243Password",
18998         FT_NONE, BASE_NONE, NULL, 0,
18999         "h245.NULL", HFILL }},
19000     { &hf_h245_enterH243TerminalID,
19001       { "enterH243TerminalID", "h245.enterH243TerminalID",
19002         FT_NONE, BASE_NONE, NULL, 0,
19003         "h245.NULL", HFILL }},
19004     { &hf_h245_enterH243ConferenceID,
19005       { "enterH243ConferenceID", "h245.enterH243ConferenceID",
19006         FT_NONE, BASE_NONE, NULL, 0,
19007         "h245.NULL", HFILL }},
19008     { &hf_h245_enterExtensionAddress,
19009       { "enterExtensionAddress", "h245.enterExtensionAddress",
19010         FT_NONE, BASE_NONE, NULL, 0,
19011         "h245.NULL", HFILL }},
19012     { &hf_h245_requestChairTokenOwner,
19013       { "requestChairTokenOwner", "h245.requestChairTokenOwner",
19014         FT_NONE, BASE_NONE, NULL, 0,
19015         "h245.NULL", HFILL }},
19016     { &hf_h245_requestTerminalCertificate,
19017       { "requestTerminalCertificate", "h245.requestTerminalCertificate",
19018         FT_NONE, BASE_NONE, NULL, 0,
19019         "h245.T_requestTerminalCertificate", HFILL }},
19020     { &hf_h245_certSelectionCriteria,
19021       { "certSelectionCriteria", "h245.certSelectionCriteria",
19022         FT_UINT32, BASE_DEC, NULL, 0,
19023         "h245.CertSelectionCriteria", HFILL }},
19024     { &hf_h245_sRandom,
19025       { "sRandom", "h245.sRandom",
19026         FT_UINT32, BASE_DEC, NULL, 0,
19027         "h245.INTEGER_1_4294967295", HFILL }},
19028     { &hf_h245_broadcastMyLogicalChannel,
19029       { "broadcastMyLogicalChannel", "h245.broadcastMyLogicalChannel",
19030         FT_UINT32, BASE_DEC, NULL, 0,
19031         "h245.LogicalChannelNumber", HFILL }},
19032     { &hf_h245_makeTerminalBroadcaster,
19033       { "makeTerminalBroadcaster", "h245.makeTerminalBroadcaster",
19034         FT_NONE, BASE_NONE, NULL, 0,
19035         "h245.TerminalLabel", HFILL }},
19036     { &hf_h245_sendThisSource,
19037       { "sendThisSource", "h245.sendThisSource",
19038         FT_NONE, BASE_NONE, NULL, 0,
19039         "h245.TerminalLabel", HFILL }},
19040     { &hf_h245_requestAllTerminalIDs,
19041       { "requestAllTerminalIDs", "h245.requestAllTerminalIDs",
19042         FT_NONE, BASE_NONE, NULL, 0,
19043         "h245.NULL", HFILL }},
19044     { &hf_h245_remoteMCRequest,
19045       { "remoteMCRequest", "h245.remoteMCRequest",
19046         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCRequest_vals), 0,
19047         "h245.RemoteMCRequest", HFILL }},
19048     { &hf_h245_CertSelectionCriteria_item,
19049       { "Criteria", "h245.Criteria",
19050         FT_NONE, BASE_NONE, NULL, 0,
19051         "h245.Criteria", HFILL }},
19052     { &hf_h245_field,
19053       { "field", "h245.field",
19054         FT_OID, BASE_NONE, NULL, 0,
19055         "h245.OBJECT_IDENTIFIER", HFILL }},
19056     { &hf_h245_criteriaValue,
19057       { "value", "h245.value",
19058         FT_BYTES, BASE_NONE, NULL, 0,
19059         "h245.OCTET_STRING_SIZE_1_65535", HFILL }},
19060     { &hf_h245_mcuNumber,
19061       { "mcuNumber", "h245.mcuNumber",
19062         FT_UINT32, BASE_DEC, NULL, 0,
19063         "h245.McuNumber", HFILL }},
19064     { &hf_h245_terminalNumber,
19065       { "terminalNumber", "h245.terminalNumber",
19066         FT_UINT32, BASE_DEC, NULL, 0,
19067         "h245.TerminalNumber", HFILL }},
19068     { &hf_h245_mCTerminalIDResponse,
19069       { "mCTerminalIDResponse", "h245.mCTerminalIDResponse",
19070         FT_NONE, BASE_NONE, NULL, 0,
19071         "h245.T_mCTerminalIDResponse", HFILL }},
19072     { &hf_h245_terminalID,
19073       { "terminalID", "h245.terminalID",
19074         FT_BYTES, BASE_NONE, NULL, 0,
19075         "h245.TerminalID", HFILL }},
19076     { &hf_h245_terminalIDResponse,
19077       { "terminalIDResponse", "h245.terminalIDResponse",
19078         FT_NONE, BASE_NONE, NULL, 0,
19079         "h245.T_terminalIDResponse", HFILL }},
19080     { &hf_h245_conferenceIDResponse,
19081       { "conferenceIDResponse", "h245.conferenceIDResponse",
19082         FT_NONE, BASE_NONE, NULL, 0,
19083         "h245.T_conferenceIDResponse", HFILL }},
19084     { &hf_h245_conferenceID,
19085       { "conferenceID", "h245.conferenceID",
19086         FT_BYTES, BASE_NONE, NULL, 0,
19087         "h245.ConferenceID", HFILL }},
19088     { &hf_h245_passwordResponse,
19089       { "passwordResponse", "h245.passwordResponse",
19090         FT_NONE, BASE_NONE, NULL, 0,
19091         "h245.T_passwordResponse", HFILL }},
19092     { &hf_h245_password,
19093       { "password", "h245.password",
19094         FT_BYTES, BASE_NONE, NULL, 0,
19095         "h245.Password", HFILL }},
19096     { &hf_h245_terminalListResponse,
19097       { "terminalListResponse", "h245.terminalListResponse",
19098         FT_UINT32, BASE_DEC, NULL, 0,
19099         "h245.SET_SIZE_1_256_OF_TerminalLabel", HFILL }},
19100     { &hf_h245_terminalListResponse_item,
19101       { "TerminalLabel", "h245.TerminalLabel",
19102         FT_NONE, BASE_NONE, NULL, 0,
19103         "h245.TerminalLabel", HFILL }},
19104     { &hf_h245_videoCommandReject,
19105       { "videoCommandReject", "h245.videoCommandReject",
19106         FT_NONE, BASE_NONE, NULL, 0,
19107         "h245.NULL", HFILL }},
19108     { &hf_h245_terminalDropReject,
19109       { "terminalDropReject", "h245.terminalDropReject",
19110         FT_NONE, BASE_NONE, NULL, 0,
19111         "h245.NULL", HFILL }},
19112     { &hf_h245_makeMeChairResponse,
19113       { "makeMeChairResponse", "h245.makeMeChairResponse",
19114         FT_UINT32, BASE_DEC, VALS(h245_T_makeMeChairResponse_vals), 0,
19115         "h245.T_makeMeChairResponse", HFILL }},
19116     { &hf_h245_grantedChairToken,
19117       { "grantedChairToken", "h245.grantedChairToken",
19118         FT_NONE, BASE_NONE, NULL, 0,
19119         "h245.NULL", HFILL }},
19120     { &hf_h245_deniedChairToken,
19121       { "deniedChairToken", "h245.deniedChairToken",
19122         FT_NONE, BASE_NONE, NULL, 0,
19123         "h245.NULL", HFILL }},
19124     { &hf_h245_extensionAddressResponse,
19125       { "extensionAddressResponse", "h245.extensionAddressResponse",
19126         FT_NONE, BASE_NONE, NULL, 0,
19127         "h245.T_extensionAddressResponse", HFILL }},
19128     { &hf_h245_extensionAddress,
19129       { "extensionAddress", "h245.extensionAddress",
19130         FT_BYTES, BASE_NONE, NULL, 0,
19131         "h245.TerminalID", HFILL }},
19132     { &hf_h245_chairTokenOwnerResponse,
19133       { "chairTokenOwnerResponse", "h245.chairTokenOwnerResponse",
19134         FT_NONE, BASE_NONE, NULL, 0,
19135         "h245.T_chairTokenOwnerResponse", HFILL }},
19136     { &hf_h245_terminalCertificateResponse,
19137       { "terminalCertificateResponse", "h245.terminalCertificateResponse",
19138         FT_NONE, BASE_NONE, NULL, 0,
19139         "h245.T_terminalCertificateResponse", HFILL }},
19140     { &hf_h245_certificateResponse,
19141       { "certificateResponse", "h245.certificateResponse",
19142         FT_BYTES, BASE_NONE, NULL, 0,
19143         "h245.OCTET_STRING_SIZE_1_65535", HFILL }},
19144     { &hf_h245_broadcastMyLogicalChannelResponse,
19145       { "broadcastMyLogicalChannelResponse", "h245.broadcastMyLogicalChannelResponse",
19146         FT_UINT32, BASE_DEC, VALS(h245_T_broadcastMyLogicalChannelResponse_vals), 0,
19147         "h245.T_broadcastMyLogicalChannelResponse", HFILL }},
19148     { &hf_h245_grantedBroadcastMyLogicalChannel,
19149       { "grantedBroadcastMyLogicalChannel", "h245.grantedBroadcastMyLogicalChannel",
19150         FT_NONE, BASE_NONE, NULL, 0,
19151         "h245.NULL", HFILL }},
19152     { &hf_h245_deniedBroadcastMyLogicalChannel,
19153       { "deniedBroadcastMyLogicalChannel", "h245.deniedBroadcastMyLogicalChannel",
19154         FT_NONE, BASE_NONE, NULL, 0,
19155         "h245.NULL", HFILL }},
19156     { &hf_h245_makeTerminalBroadcasterResponse,
19157       { "makeTerminalBroadcasterResponse", "h245.makeTerminalBroadcasterResponse",
19158         FT_UINT32, BASE_DEC, VALS(h245_T_makeTerminalBroadcasterResponse_vals), 0,
19159         "h245.T_makeTerminalBroadcasterResponse", HFILL }},
19160     { &hf_h245_grantedMakeTerminalBroadcaster,
19161       { "grantedMakeTerminalBroadcaster", "h245.grantedMakeTerminalBroadcaster",
19162         FT_NONE, BASE_NONE, NULL, 0,
19163         "h245.NULL", HFILL }},
19164     { &hf_h245_deniedMakeTerminalBroadcaster,
19165       { "deniedMakeTerminalBroadcaster", "h245.deniedMakeTerminalBroadcaster",
19166         FT_NONE, BASE_NONE, NULL, 0,
19167         "h245.NULL", HFILL }},
19168     { &hf_h245_sendThisSourceResponse,
19169       { "sendThisSourceResponse", "h245.sendThisSourceResponse",
19170         FT_UINT32, BASE_DEC, VALS(h245_T_sendThisSourceResponse_vals), 0,
19171         "h245.T_sendThisSourceResponse", HFILL }},
19172     { &hf_h245_grantedSendThisSource,
19173       { "grantedSendThisSource", "h245.grantedSendThisSource",
19174         FT_NONE, BASE_NONE, NULL, 0,
19175         "h245.NULL", HFILL }},
19176     { &hf_h245_deniedSendThisSource,
19177       { "deniedSendThisSource", "h245.deniedSendThisSource",
19178         FT_NONE, BASE_NONE, NULL, 0,
19179         "h245.NULL", HFILL }},
19180     { &hf_h245_requestAllTerminalIDsResponse,
19181       { "requestAllTerminalIDsResponse", "h245.requestAllTerminalIDsResponse",
19182         FT_NONE, BASE_NONE, NULL, 0,
19183         "h245.RequestAllTerminalIDsResponse", HFILL }},
19184     { &hf_h245_remoteMCResponse,
19185       { "remoteMCResponse", "h245.remoteMCResponse",
19186         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCResponse_vals), 0,
19187         "h245.RemoteMCResponse", HFILL }},
19188     { &hf_h245_terminalInformation,
19189       { "terminalInformation", "h245.terminalInformation",
19190         FT_UINT32, BASE_DEC, NULL, 0,
19191         "h245.SEQUENCE_OF_TerminalInformation", HFILL }},
19192     { &hf_h245_terminalInformation_item,
19193       { "TerminalInformation", "h245.TerminalInformation",
19194         FT_NONE, BASE_NONE, NULL, 0,
19195         "h245.TerminalInformation", HFILL }},
19196     { &hf_h245_masterActivate,
19197       { "masterActivate", "h245.masterActivate",
19198         FT_NONE, BASE_NONE, NULL, 0,
19199         "h245.NULL", HFILL }},
19200     { &hf_h245_slaveActivate,
19201       { "slaveActivate", "h245.slaveActivate",
19202         FT_NONE, BASE_NONE, NULL, 0,
19203         "h245.NULL", HFILL }},
19204     { &hf_h245_deActivate,
19205       { "deActivate", "h245.deActivate",
19206         FT_NONE, BASE_NONE, NULL, 0,
19207         "h245.NULL", HFILL }},
19208     { &hf_h245_accept,
19209       { "accept", "h245.accept",
19210         FT_NONE, BASE_NONE, NULL, 0,
19211         "h245.NULL", HFILL }},
19212     { &hf_h245_reject,
19213       { "reject", "h245.reject",
19214         FT_UINT32, BASE_DEC, VALS(h245_T_reject_vals), 0,
19215         "h245.T_reject", HFILL }},
19216     { &hf_h245_functionNotSupportedFlag,
19217       { "functionNotSupported", "h245.functionNotSupported",
19218         FT_NONE, BASE_NONE, NULL, 0,
19219         "h245.NULL", HFILL }},
19220     { &hf_h245_callInformationReq,
19221       { "callInformation", "h245.callInformation",
19222         FT_NONE, BASE_NONE, NULL, 0,
19223         "h245.CallInformationReq", HFILL }},
19224     { &hf_h245_maxNumberOfAdditionalConnections,
19225       { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections",
19226         FT_UINT32, BASE_DEC, NULL, 0,
19227         "h245.INTEGER_1_65535", HFILL }},
19228     { &hf_h245_addConnectionReq,
19229       { "addConnection", "h245.addConnection",
19230         FT_NONE, BASE_NONE, NULL, 0,
19231         "h245.AddConnectionReq", HFILL }},
19232     { &hf_h245_dialingInformation,
19233       { "dialingInformation", "h245.dialingInformation",
19234         FT_UINT32, BASE_DEC, VALS(h245_DialingInformation_vals), 0,
19235         "h245.DialingInformation", HFILL }},
19236     { &hf_h245_removeConnectionReq,
19237       { "removeConnection", "h245.removeConnection",
19238         FT_NONE, BASE_NONE, NULL, 0,
19239         "h245.RemoveConnectionReq", HFILL }},
19240     { &hf_h245_connectionIdentifier,
19241       { "connectionIdentifier", "h245.connectionIdentifier",
19242         FT_NONE, BASE_NONE, NULL, 0,
19243         "h245.ConnectionIdentifier", HFILL }},
19244     { &hf_h245_maximumHeaderIntervalReq,
19245       { "maximumHeaderInterval", "h245.maximumHeaderInterval",
19246         FT_NONE, BASE_NONE, NULL, 0,
19247         "h245.MaximumHeaderIntervalReq", HFILL }},
19248     { &hf_h245_requestType,
19249       { "requestType", "h245.requestType",
19250         FT_UINT32, BASE_DEC, VALS(h245_T_requestType_vals), 0,
19251         "h245.T_requestType", HFILL }},
19252     { &hf_h245_currentIntervalInformation,
19253       { "currentIntervalInformation", "h245.currentIntervalInformation",
19254         FT_NONE, BASE_NONE, NULL, 0,
19255         "h245.NULL", HFILL }},
19256     { &hf_h245_requestedInterval,
19257       { "requestedInterval", "h245.requestedInterval",
19258         FT_UINT32, BASE_DEC, NULL, 0,
19259         "h245.INTEGER_0_65535", HFILL }},
19260     { &hf_h245_callInformationResp,
19261       { "callInformation", "h245.callInformation",
19262         FT_NONE, BASE_NONE, NULL, 0,
19263         "h245.CallInformationResp", HFILL }},
19264     { &hf_h245_callAssociationNumber,
19265       { "callAssociationNumber", "h245.callAssociationNumber",
19266         FT_UINT32, BASE_DEC, NULL, 0,
19267         "h245.INTEGER_0_4294967295", HFILL }},
19268     { &hf_h245_addConnectionResp,
19269       { "addConnection", "h245.addConnection",
19270         FT_NONE, BASE_NONE, NULL, 0,
19271         "h245.AddConnectionResp", HFILL }},
19272     { &hf_h245_responseCode,
19273       { "responseCode", "h245.responseCode",
19274         FT_UINT32, BASE_DEC, VALS(h245_T_responseCode_vals), 0,
19275         "h245.T_responseCode", HFILL }},
19276     { &hf_h245_accepted,
19277       { "accepted", "h245.accepted",
19278         FT_NONE, BASE_NONE, NULL, 0,
19279         "h245.NULL", HFILL }},
19280     { &hf_h245_rejected,
19281       { "rejected", "h245.rejected",
19282         FT_UINT32, BASE_DEC, VALS(h245_T_rejected_vals), 0,
19283         "h245.T_rejected", HFILL }},
19284     { &hf_h245_connectionsNotAvailable,
19285       { "connectionsNotAvailable", "h245.connectionsNotAvailable",
19286         FT_NONE, BASE_NONE, NULL, 0,
19287         "h245.NULL", HFILL }},
19288     { &hf_h245_userRejected,
19289       { "userRejected", "h245.userRejected",
19290         FT_NONE, BASE_NONE, NULL, 0,
19291         "h245.NULL", HFILL }},
19292     { &hf_h245_removeConnectionResp,
19293       { "removeConnection", "h245.removeConnection",
19294         FT_NONE, BASE_NONE, NULL, 0,
19295         "h245.RemoveConnectionResp", HFILL }},
19296     { &hf_h245_maximumHeaderIntervalResp,
19297       { "maximumHeaderInterval", "h245.maximumHeaderInterval",
19298         FT_NONE, BASE_NONE, NULL, 0,
19299         "h245.MaximumHeaderIntervalResp", HFILL }},
19300     { &hf_h245_currentInterval,
19301       { "currentInterval", "h245.currentInterval",
19302         FT_UINT32, BASE_DEC, NULL, 0,
19303         "h245.INTEGER_0_65535", HFILL }},
19304     { &hf_h245_crcDesired,
19305       { "crcDesired", "h245.crcDesired",
19306         FT_NONE, BASE_NONE, NULL, 0,
19307         "h245.T_crcDesired", HFILL }},
19308     { &hf_h245_excessiveError,
19309       { "excessiveError", "h245.excessiveError",
19310         FT_NONE, BASE_NONE, NULL, 0,
19311         "h245.T_excessiveError", HFILL }},
19312     { &hf_h245_differential,
19313       { "differential", "h245.differential",
19314         FT_UINT32, BASE_DEC, NULL, 0,
19315         "h245.SET_SIZE_1_65535_OF_DialingInformationNumber", HFILL }},
19316     { &hf_h245_differential_item,
19317       { "DialingInformationNumber", "h245.DialingInformationNumber",
19318         FT_NONE, BASE_NONE, NULL, 0,
19319         "h245.DialingInformationNumber", HFILL }},
19320     { &hf_h245_infoNotAvailable,
19321       { "infoNotAvailable", "h245.infoNotAvailable",
19322         FT_UINT32, BASE_DEC, NULL, 0,
19323         "h245.INTEGER_1_65535", HFILL }},
19324     { &hf_h245_networkAddressNum,
19325       { "networkAddress", "h245.networkAddress",
19326         FT_STRING, BASE_NONE, NULL, 0,
19327         "h245.NumericString_SIZE_0_40", HFILL }},
19328     { &hf_h245_subAddress,
19329       { "subAddress", "h245.subAddress",
19330         FT_STRING, BASE_NONE, NULL, 0,
19331         "h245.IA5String_SIZE_1_40", HFILL }},
19332     { &hf_h245_networkType,
19333       { "networkType", "h245.networkType",
19334         FT_UINT32, BASE_DEC, NULL, 0,
19335         "h245.SET_SIZE_1_255_OF_DialingInformationNetworkType", HFILL }},
19336     { &hf_h245_networkType_item,
19337       { "DialingInformationNetworkType", "h245.DialingInformationNetworkType",
19338         FT_UINT32, BASE_DEC, VALS(h245_DialingInformationNetworkType_vals), 0,
19339         "h245.DialingInformationNetworkType", HFILL }},
19340     { &hf_h245_n_isdn,
19341       { "n-isdn", "h245.n_isdn",
19342         FT_NONE, BASE_NONE, NULL, 0,
19343         "h245.NULL", HFILL }},
19344     { &hf_h245_gstn,
19345       { "gstn", "h245.gstn",
19346         FT_NONE, BASE_NONE, NULL, 0,
19347         "h245.NULL", HFILL }},
19348     { &hf_h245_mobile,
19349       { "mobile", "h245.mobile",
19350         FT_NONE, BASE_NONE, NULL, 0,
19351         "h245.NULL", HFILL }},
19352     { &hf_h245_channelTag,
19353       { "channelTag", "h245.channelTag",
19354         FT_UINT32, BASE_DEC, NULL, 0,
19355         "h245.INTEGER_0_4294967295", HFILL }},
19356     { &hf_h245_sequenceNum,
19357       { "sequenceNumber", "h245.sequenceNumber",
19358         FT_UINT32, BASE_DEC, NULL, 0,
19359         "h245.INTEGER_0_4294967295", HFILL }},
19360     { &hf_h245_maximumBitRate,
19361       { "maximumBitRate", "h245.maximumBitRate",
19362         FT_UINT32, BASE_DEC, NULL, 0,
19363         "h245.MaximumBitRate", HFILL }},
19364     { &hf_h245_rejectReason,
19365       { "rejectReason", "h245.rejectReason",
19366         FT_UINT32, BASE_DEC, VALS(h245_LogicalChannelRateRejectReason_vals), 0,
19367         "h245.LogicalChannelRateRejectReason", HFILL }},
19368     { &hf_h245_currentMaximumBitRate,
19369       { "currentMaximumBitRate", "h245.currentMaximumBitRate",
19370         FT_UINT32, BASE_DEC, NULL, 0,
19371         "h245.MaximumBitRate", HFILL }},
19372     { &hf_h245_undefinedReason,
19373       { "undefinedReason", "h245.undefinedReason",
19374         FT_NONE, BASE_NONE, NULL, 0,
19375         "h245.NULL", HFILL }},
19376     { &hf_h245_insufficientResources,
19377       { "insufficientResources", "h245.insufficientResources",
19378         FT_NONE, BASE_NONE, NULL, 0,
19379         "h245.NULL", HFILL }},
19380     { &hf_h245_specificRequest,
19381       { "specificRequest", "h245.specificRequest",
19382         FT_NONE, BASE_NONE, NULL, 0,
19383         "h245.T_specificRequest", HFILL }},
19384     { &hf_h245_multiplexCapabilityBool,
19385       { "multiplexCapability", "h245.multiplexCapability",
19386         FT_BOOLEAN, BASE_NONE, NULL, 0,
19387         "h245.BOOLEAN", HFILL }},
19388     { &hf_h245_capabilityTableEntryNumbers,
19389       { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers",
19390         FT_UINT32, BASE_DEC, NULL, 0,
19391         "h245.SET_SIZE_1_65535_OF_CapabilityTableEntryNumber", HFILL }},
19392     { &hf_h245_capabilityTableEntryNumbers_item,
19393       { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
19394         FT_UINT32, BASE_DEC, NULL, 0,
19395         "h245.CapabilityTableEntryNumber", HFILL }},
19396     { &hf_h245_capabilityDescriptorNumbers,
19397       { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers",
19398         FT_UINT32, BASE_DEC, NULL, 0,
19399         "h245.SET_SIZE_1_256_OF_CapabilityDescriptorNumber", HFILL }},
19400     { &hf_h245_capabilityDescriptorNumbers_item,
19401       { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber",
19402         FT_UINT32, BASE_DEC, NULL, 0,
19403         "h245.CapabilityDescriptorNumber", HFILL }},
19404     { &hf_h245_genericRequestFlag,
19405       { "genericRequest", "h245.genericRequest",
19406         FT_NONE, BASE_NONE, NULL, 0,
19407         "h245.NULL", HFILL }},
19408     { &hf_h245_encryptionSE,
19409       { "encryptionSE", "h245.encryptionSE",
19410         FT_BYTES, BASE_NONE, NULL, 0,
19411         "h245.OCTET_STRING", HFILL }},
19412     { &hf_h245_encryptionIVRequest,
19413       { "encryptionIVRequest", "h245.encryptionIVRequest",
19414         FT_NONE, BASE_NONE, NULL, 0,
19415         "h245.NULL", HFILL }},
19416     { &hf_h245_encryptionAlgorithmID,
19417       { "encryptionAlgorithmID", "h245.encryptionAlgorithmID",
19418         FT_NONE, BASE_NONE, NULL, 0,
19419         "h245.T_encryptionAlgorithmID", HFILL }},
19420     { &hf_h245_h233AlgorithmIdentifier,
19421       { "h233AlgorithmIdentifier", "h245.h233AlgorithmIdentifier",
19422         FT_UINT32, BASE_DEC, NULL, 0,
19423         "h245.SequenceNumber", HFILL }},
19424     { &hf_h245_associatedAlgorithm,
19425       { "associatedAlgorithm", "h245.associatedAlgorithm",
19426         FT_NONE, BASE_NONE, NULL, 0,
19427         "h245.NonStandardParameter", HFILL }},
19428     { &hf_h245_wholeMultiplex,
19429       { "wholeMultiplex", "h245.wholeMultiplex",
19430         FT_NONE, BASE_NONE, NULL, 0,
19431         "h245.NULL", HFILL }},
19432     { &hf_h245_scope,
19433       { "scope", "h245.scope",
19434         FT_UINT32, BASE_DEC, VALS(h245_Scope_vals), 0,
19435         "h245.Scope", HFILL }},
19436     { &hf_h245_res_maximumBitRate,
19437       { "maximumBitRate", "h245.maximumBitRate",
19438         FT_UINT32, BASE_DEC, NULL, 0,
19439         "h245.INTEGER_0_16777215", HFILL }},
19440     { &hf_h245_noRestriction,
19441       { "noRestriction", "h245.noRestriction",
19442         FT_NONE, BASE_NONE, NULL, 0,
19443         "h245.NULL", HFILL }},
19444     { &hf_h245_restriction,
19445       { "restriction", "h245.restriction",
19446         FT_UINT32, BASE_DEC, VALS(h245_Restriction_vals), 0,
19447         "h245.Restriction", HFILL }},
19448     { &hf_h245_disconnect,
19449       { "disconnect", "h245.disconnect",
19450         FT_NONE, BASE_NONE, NULL, 0,
19451         "h245.NULL", HFILL }},
19452     { &hf_h245_gstnOptions,
19453       { "gstnOptions", "h245.gstnOptions",
19454         FT_UINT32, BASE_DEC, VALS(h245_T_gstnOptions_vals), 0,
19455         "h245.T_gstnOptions", HFILL }},
19456     { &hf_h245_telephonyMode,
19457       { "telephonyMode", "h245.telephonyMode",
19458         FT_NONE, BASE_NONE, NULL, 0,
19459         "h245.NULL", HFILL }},
19460     { &hf_h245_v8bis,
19461       { "v8bis", "h245.v8bis",
19462         FT_NONE, BASE_NONE, NULL, 0,
19463         "h245.NULL", HFILL }},
19464     { &hf_h245_v34DSVD,
19465       { "v34DSVD", "h245.v34DSVD",
19466         FT_NONE, BASE_NONE, NULL, 0,
19467         "h245.NULL", HFILL }},
19468     { &hf_h245_v34DuplexFAX,
19469       { "v34DuplexFAX", "h245.v34DuplexFAX",
19470         FT_NONE, BASE_NONE, NULL, 0,
19471         "h245.NULL", HFILL }},
19472     { &hf_h245_v34H324,
19473       { "v34H324", "h245.v34H324",
19474         FT_NONE, BASE_NONE, NULL, 0,
19475         "h245.NULL", HFILL }},
19476     { &hf_h245_isdnOptions,
19477       { "isdnOptions", "h245.isdnOptions",
19478         FT_UINT32, BASE_DEC, VALS(h245_T_isdnOptions_vals), 0,
19479         "h245.T_isdnOptions", HFILL }},
19480     { &hf_h245_v140,
19481       { "v140", "h245.v140",
19482         FT_NONE, BASE_NONE, NULL, 0,
19483         "h245.NULL", HFILL }},
19484     { &hf_h245_terminalOnHold,
19485       { "terminalOnHold", "h245.terminalOnHold",
19486         FT_NONE, BASE_NONE, NULL, 0,
19487         "h245.NULL", HFILL }},
19488     { &hf_h245_cancelBroadcastMyLogicalChannel,
19489       { "cancelBroadcastMyLogicalChannel", "h245.cancelBroadcastMyLogicalChannel",
19490         FT_UINT32, BASE_DEC, NULL, 0,
19491         "h245.LogicalChannelNumber", HFILL }},
19492     { &hf_h245_cancelMakeTerminalBroadcaster,
19493       { "cancelMakeTerminalBroadcaster", "h245.cancelMakeTerminalBroadcaster",
19494         FT_NONE, BASE_NONE, NULL, 0,
19495         "h245.NULL", HFILL }},
19496     { &hf_h245_cancelSendThisSource,
19497       { "cancelSendThisSource", "h245.cancelSendThisSource",
19498         FT_NONE, BASE_NONE, NULL, 0,
19499         "h245.NULL", HFILL }},
19500     { &hf_h245_dropConference,
19501       { "dropConference", "h245.dropConference",
19502         FT_NONE, BASE_NONE, NULL, 0,
19503         "h245.NULL", HFILL }},
19504     { &hf_h245_substituteConferenceIDCommand,
19505       { "substituteConferenceIDCommand", "h245.substituteConferenceIDCommand",
19506         FT_NONE, BASE_NONE, NULL, 0,
19507         "h245.SubstituteConferenceIDCommand", HFILL }},
19508     { &hf_h245_conferenceIdentifier,
19509       { "conferenceIdentifier", "h245.conferenceIdentifier",
19510         FT_BYTES, BASE_NONE, NULL, 0,
19511         "h245.OCTET_STRING_SIZE_16", HFILL }},
19512     { &hf_h245_masterToSlave,
19513       { "masterToSlave", "h245.masterToSlave",
19514         FT_NONE, BASE_NONE, NULL, 0,
19515         "h245.NULL", HFILL }},
19516     { &hf_h245_slaveToMaster,
19517       { "slaveToMaster", "h245.slaveToMaster",
19518         FT_NONE, BASE_NONE, NULL, 0,
19519         "h245.NULL", HFILL }},
19520     { &hf_h245_mc_type,
19521       { "type", "h245.type",
19522         FT_UINT32, BASE_DEC, VALS(h245_Mc_type_vals), 0,
19523         "h245.Mc_type", HFILL }},
19524     { &hf_h245_equaliseDelay,
19525       { "equaliseDelay", "h245.equaliseDelay",
19526         FT_NONE, BASE_NONE, NULL, 0,
19527         "h245.NULL", HFILL }},
19528     { &hf_h245_zeroDelay,
19529       { "zeroDelay", "h245.zeroDelay",
19530         FT_NONE, BASE_NONE, NULL, 0,
19531         "h245.NULL", HFILL }},
19532     { &hf_h245_multipointModeCommand,
19533       { "multipointModeCommand", "h245.multipointModeCommand",
19534         FT_NONE, BASE_NONE, NULL, 0,
19535         "h245.NULL", HFILL }},
19536     { &hf_h245_cancelMultipointModeCommand,
19537       { "cancelMultipointModeCommand", "h245.cancelMultipointModeCommand",
19538         FT_NONE, BASE_NONE, NULL, 0,
19539         "h245.NULL", HFILL }},
19540     { &hf_h245_videoFreezePicture,
19541       { "videoFreezePicture", "h245.videoFreezePicture",
19542         FT_NONE, BASE_NONE, NULL, 0,
19543         "h245.NULL", HFILL }},
19544     { &hf_h245_videoFastUpdatePicture,
19545       { "videoFastUpdatePicture", "h245.videoFastUpdatePicture",
19546         FT_NONE, BASE_NONE, NULL, 0,
19547         "h245.NULL", HFILL }},
19548     { &hf_h245_videoFastUpdateGOB,
19549       { "videoFastUpdateGOB", "h245.videoFastUpdateGOB",
19550         FT_NONE, BASE_NONE, NULL, 0,
19551         "h245.T_videoFastUpdateGOB", HFILL }},
19552     { &hf_h245_firstGOB,
19553       { "firstGOB", "h245.firstGOB",
19554         FT_UINT32, BASE_DEC, NULL, 0,
19555         "h245.INTEGER_0_17", HFILL }},
19556     { &hf_h245_numberOfGOBs,
19557       { "numberOfGOBs", "h245.numberOfGOBs",
19558         FT_UINT32, BASE_DEC, NULL, 0,
19559         "h245.INTEGER_1_18", HFILL }},
19560     { &hf_h245_videoTemporalSpatialTradeOff,
19561       { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff",
19562         FT_UINT32, BASE_DEC, NULL, 0,
19563         "h245.INTEGER_0_31", HFILL }},
19564     { &hf_h245_videoSendSyncEveryGOB,
19565       { "videoSendSyncEveryGOB", "h245.videoSendSyncEveryGOB",
19566         FT_NONE, BASE_NONE, NULL, 0,
19567         "h245.NULL", HFILL }},
19568     { &hf_h245_videoSendSyncEveryGOBCancel,
19569       { "videoSendSyncEveryGOBCancel", "h245.videoSendSyncEveryGOBCancel",
19570         FT_NONE, BASE_NONE, NULL, 0,
19571         "h245.NULL", HFILL }},
19572     { &hf_h245_videoFastUpdateMB,
19573       { "videoFastUpdateMB", "h245.videoFastUpdateMB",
19574         FT_NONE, BASE_NONE, NULL, 0,
19575         "h245.T_videoFastUpdateMB", HFILL }},
19576     { &hf_h245_firstGOB_0_255,
19577       { "firstGOB", "h245.firstGOB",
19578         FT_UINT32, BASE_DEC, NULL, 0,
19579         "h245.INTEGER_0_255", HFILL }},
19580     { &hf_h245_firstMB_1_8192,
19581       { "firstMB", "h245.firstMB",
19582         FT_UINT32, BASE_DEC, NULL, 0,
19583         "h245.INTEGER_1_8192", HFILL }},
19584     { &hf_h245_numberOfMBs,
19585       { "numberOfMBs", "h245.numberOfMBs",
19586         FT_UINT32, BASE_DEC, NULL, 0,
19587         "h245.INTEGER_1_8192", HFILL }},
19588     { &hf_h245_maxH223MUXPDUsize,
19589       { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize",
19590         FT_UINT32, BASE_DEC, NULL, 0,
19591         "h245.INTEGER_1_65535", HFILL }},
19592     { &hf_h245_encryptionUpdate,
19593       { "encryptionUpdate", "h245.encryptionUpdate",
19594         FT_NONE, BASE_NONE, NULL, 0,
19595         "h245.EncryptionSync", HFILL }},
19596     { &hf_h245_encryptionUpdateRequest,
19597       { "encryptionUpdateRequest", "h245.encryptionUpdateRequest",
19598         FT_NONE, BASE_NONE, NULL, 0,
19599         "h245.EncryptionUpdateRequest", HFILL }},
19600     { &hf_h245_switchReceiveMediaOff,
19601       { "switchReceiveMediaOff", "h245.switchReceiveMediaOff",
19602         FT_NONE, BASE_NONE, NULL, 0,
19603         "h245.NULL", HFILL }},
19604     { &hf_h245_switchReceiveMediaOn,
19605       { "switchReceiveMediaOn", "h245.switchReceiveMediaOn",
19606         FT_NONE, BASE_NONE, NULL, 0,
19607         "h245.NULL", HFILL }},
19608     { &hf_h245_progressiveRefinementStart,
19609       { "progressiveRefinementStart", "h245.progressiveRefinementStart",
19610         FT_NONE, BASE_NONE, NULL, 0,
19611         "h245.T_progressiveRefinementStart", HFILL }},
19612     { &hf_h245_repeatCount,
19613       { "repeatCount", "h245.repeatCount",
19614         FT_UINT32, BASE_DEC, VALS(h245_T_repeatCount_vals), 0,
19615         "h245.T_repeatCount", HFILL }},
19616     { &hf_h245_doOneProgression,
19617       { "doOneProgression", "h245.doOneProgression",
19618         FT_NONE, BASE_NONE, NULL, 0,
19619         "h245.NULL", HFILL }},
19620     { &hf_h245_doContinuousProgressions,
19621       { "doContinuousProgressions", "h245.doContinuousProgressions",
19622         FT_NONE, BASE_NONE, NULL, 0,
19623         "h245.NULL", HFILL }},
19624     { &hf_h245_doOneIndependentProgression,
19625       { "doOneIndependentProgression", "h245.doOneIndependentProgression",
19626         FT_NONE, BASE_NONE, NULL, 0,
19627         "h245.NULL", HFILL }},
19628     { &hf_h245_doContinuousIndependentProgressions,
19629       { "doContinuousIndependentProgressions", "h245.doContinuousIndependentProgressions",
19630         FT_NONE, BASE_NONE, NULL, 0,
19631         "h245.NULL", HFILL }},
19632     { &hf_h245_progressiveRefinementAbortOne,
19633       { "progressiveRefinementAbortOne", "h245.progressiveRefinementAbortOne",
19634         FT_NONE, BASE_NONE, NULL, 0,
19635         "h245.NULL", HFILL }},
19636     { &hf_h245_progressiveRefinementAbortContinuous,
19637       { "progressiveRefinementAbortContinuous", "h245.progressiveRefinementAbortContinuous",
19638         FT_NONE, BASE_NONE, NULL, 0,
19639         "h245.NULL", HFILL }},
19640     { &hf_h245_videoBadMBs,
19641       { "videoBadMBs", "h245.videoBadMBs",
19642         FT_NONE, BASE_NONE, NULL, 0,
19643         "h245.T_videoBadMBs", HFILL }},
19644     { &hf_h245_firstMB,
19645       { "firstMB", "h245.firstMB",
19646         FT_UINT32, BASE_DEC, NULL, 0,
19647         "h245.INTEGER_1_9216", HFILL }},
19648     { &hf_h245_numberOfMBs1_1_9216,
19649       { "numberOfMBs", "h245.numberOfMBs",
19650         FT_UINT32, BASE_DEC, NULL, 0,
19651         "h245.INTEGER_1_9216", HFILL }},
19652     { &hf_h245_temporalReference,
19653       { "temporalReference", "h245.temporalReference",
19654         FT_UINT32, BASE_DEC, NULL, 0,
19655         "h245.INTEGER_0_1023", HFILL }},
19656     { &hf_h245_lostPicture,
19657       { "lostPicture", "h245.lostPicture",
19658         FT_UINT32, BASE_DEC, NULL, 0,
19659         "h245.SEQUENCE_OF_PictureReference", HFILL }},
19660     { &hf_h245_lostPicture_item,
19661       { "PictureReference", "h245.PictureReference",
19662         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19663         "h245.PictureReference", HFILL }},
19664     { &hf_h245_lostPartialPicture,
19665       { "lostPartialPicture", "h245.lostPartialPicture",
19666         FT_NONE, BASE_NONE, NULL, 0,
19667         "h245.T_lostPartialPicture", HFILL }},
19668     { &hf_h245_pictureReference,
19669       { "pictureReference", "h245.pictureReference",
19670         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19671         "h245.PictureReference", HFILL }},
19672     { &hf_h245_recoveryReferencePicture,
19673       { "recoveryReferencePicture", "h245.recoveryReferencePicture",
19674         FT_UINT32, BASE_DEC, NULL, 0,
19675         "h245.SEQUENCE_OF_PictureReference", HFILL }},
19676     { &hf_h245_recoveryReferencePicture_item,
19677       { "PictureReference", "h245.PictureReference",
19678         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19679         "h245.PictureReference", HFILL }},
19680     { &hf_h245_encryptionUpdateCommand,
19681       { "encryptionUpdateCommand", "h245.encryptionUpdateCommand",
19682         FT_NONE, BASE_NONE, NULL, 0,
19683         "h245.T_encryptionUpdateCommand", HFILL }},
19684     { &hf_h245_encryptionUpdateAck,
19685       { "encryptionUpdateAck", "h245.encryptionUpdateAck",
19686         FT_NONE, BASE_NONE, NULL, 0,
19687         "h245.T_encryptionUpdateAck", HFILL }},
19688     { &hf_h245_direction,
19689       { "direction", "h245.direction",
19690         FT_UINT32, BASE_DEC, VALS(h245_EncryptionUpdateDirection_vals), 0,
19691         "h245.EncryptionUpdateDirection", HFILL }},
19692     { &hf_h245_secureChannel,
19693       { "secureChannel", "h245.secureChannel",
19694         FT_BOOLEAN, BASE_NONE, NULL, 0,
19695         "h245.BOOLEAN", HFILL }},
19696     { &hf_h245_sharedSecret,
19697       { "sharedSecret", "h245.sharedSecret",
19698         FT_BOOLEAN, BASE_NONE, NULL, 0,
19699         "h245.BOOLEAN", HFILL }},
19700     { &hf_h245_certProtectedKey,
19701       { "certProtectedKey", "h245.certProtectedKey",
19702         FT_BOOLEAN, BASE_NONE, NULL, 0,
19703         "h245.BOOLEAN", HFILL }},
19704     { &hf_h245_keyProtectionMethod,
19705       { "keyProtectionMethod", "h245.keyProtectionMethod",
19706         FT_NONE, BASE_NONE, NULL, 0,
19707         "h245.KeyProtectionMethod", HFILL }},
19708     { &hf_h245_pictureNumber,
19709       { "pictureNumber", "h245.pictureNumber",
19710         FT_UINT32, BASE_DEC, NULL, 0,
19711         "h245.INTEGER_0_1023", HFILL }},
19712     { &hf_h245_longTermPictureIndex,
19713       { "longTermPictureIndex", "h245.longTermPictureIndex",
19714         FT_UINT32, BASE_DEC, NULL, 0,
19715         "h245.INTEGER_0_255", HFILL }},
19716     { &hf_h245_h223ModeChange,
19717       { "h223ModeChange", "h245.h223ModeChange",
19718         FT_UINT32, BASE_DEC, VALS(h245_T_h223ModeChange_vals), 0,
19719         "h245.T_h223ModeChange", HFILL }},
19720     { &hf_h245_toLevel0,
19721       { "toLevel0", "h245.toLevel0",
19722         FT_NONE, BASE_NONE, NULL, 0,
19723         "h245.NULL", HFILL }},
19724     { &hf_h245_toLevel1,
19725       { "toLevel1", "h245.toLevel1",
19726         FT_NONE, BASE_NONE, NULL, 0,
19727         "h245.NULL", HFILL }},
19728     { &hf_h245_toLevel2,
19729       { "toLevel2", "h245.toLevel2",
19730         FT_NONE, BASE_NONE, NULL, 0,
19731         "h245.NULL", HFILL }},
19732     { &hf_h245_toLevel2withOptionalHeader,
19733       { "toLevel2withOptionalHeader", "h245.toLevel2withOptionalHeader",
19734         FT_NONE, BASE_NONE, NULL, 0,
19735         "h245.NULL", HFILL }},
19736     { &hf_h245_h223AnnexADoubleFlag,
19737       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
19738         FT_UINT32, BASE_DEC, VALS(h245_T_h223AnnexADoubleFlag_vals), 0,
19739         "h245.T_h223AnnexADoubleFlag", HFILL }},
19740     { &hf_h245_start,
19741       { "start", "h245.start",
19742         FT_NONE, BASE_NONE, NULL, 0,
19743         "h245.NULL", HFILL }},
19744     { &hf_h245_stop,
19745       { "stop", "h245.stop",
19746         FT_NONE, BASE_NONE, NULL, 0,
19747         "h245.NULL", HFILL }},
19748     { &hf_h245_bitRate,
19749       { "bitRate", "h245.bitRate",
19750         FT_UINT32, BASE_DEC, NULL, 0,
19751         "h245.INTEGER_1_65535", HFILL }},
19752     { &hf_h245_bitRateLockedToPCRClock,
19753       { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock",
19754         FT_BOOLEAN, BASE_NONE, NULL, 0,
19755         "h245.BOOLEAN", HFILL }},
19756     { &hf_h245_bitRateLockedToNetworkClock,
19757       { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock",
19758         FT_BOOLEAN, BASE_NONE, NULL, 0,
19759         "h245.BOOLEAN", HFILL }},
19760     { &hf_h245_cmd_aal,
19761       { "aal", "h245.aal",
19762         FT_UINT32, BASE_DEC, VALS(h245_Cmd_aal_vals), 0,
19763         "h245.Cmd_aal", HFILL }},
19764     { &hf_h245_cmd_aal1,
19765       { "aal1", "h245.aal1",
19766         FT_NONE, BASE_NONE, NULL, 0,
19767         "h245.Cmd_aal1", HFILL }},
19768     { &hf_h245_cmd_clockRecovery,
19769       { "clockRecovery", "h245.clockRecovery",
19770         FT_UINT32, BASE_DEC, VALS(h245_Cmd_clockRecovery_vals), 0,
19771         "h245.Cmd_clockRecovery", HFILL }},
19772     { &hf_h245_nullClockRecoveryflag,
19773       { "nullClockRecovery", "h245.nullClockRecovery",
19774         FT_NONE, BASE_NONE, NULL, 0,
19775         "h245.NULL", HFILL }},
19776     { &hf_h245_srtsClockRecovery,
19777       { "srtsClockRecovery", "h245.srtsClockRecovery",
19778         FT_NONE, BASE_NONE, NULL, 0,
19779         "h245.NULL", HFILL }},
19780     { &hf_h245_adaptiveClockRecoveryFlag,
19781       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
19782         FT_NONE, BASE_NONE, NULL, 0,
19783         "h245.NULL", HFILL }},
19784     { &hf_h245_cmd_errorCorrection,
19785       { "errorCorrection", "h245.errorCorrection",
19786         FT_UINT32, BASE_DEC, VALS(h245_Cmd_errorCorrection_vals), 0,
19787         "h245.Cmd_errorCorrection", HFILL }},
19788     { &hf_h245_nullErrorCorrectionFlag,
19789       { "nullErrorCorrection", "h245.nullErrorCorrection",
19790         FT_NONE, BASE_NONE, NULL, 0,
19791         "h245.NULL", HFILL }},
19792     { &hf_h245_longInterleaverFlag,
19793       { "longInterleaver", "h245.longInterleaver",
19794         FT_NONE, BASE_NONE, NULL, 0,
19795         "h245.NULL", HFILL }},
19796     { &hf_h245_shortInterleaverFlag,
19797       { "shortInterleaver", "h245.shortInterleaver",
19798         FT_NONE, BASE_NONE, NULL, 0,
19799         "h245.NULL", HFILL }},
19800     { &hf_h245_errorCorrectionOnlyFlag,
19801       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
19802         FT_NONE, BASE_NONE, NULL, 0,
19803         "h245.NULL", HFILL }},
19804     { &hf_h245_cmd_aal5,
19805       { "aal5", "h245.aal5",
19806         FT_NONE, BASE_NONE, NULL, 0,
19807         "h245.Cmd_aal5", HFILL }},
19808     { &hf_h245_cmd_multiplex,
19809       { "multiplex", "h245.multiplex",
19810         FT_UINT32, BASE_DEC, VALS(h245_Cmd_multiplex_vals), 0,
19811         "h245.Cmd_multiplex", HFILL }},
19812     { &hf_h245_noMultiplex,
19813       { "noMultiplex", "h245.noMultiplex",
19814         FT_NONE, BASE_NONE, NULL, 0,
19815         "h245.NULL", HFILL }},
19816     { &hf_h245_transportStream,
19817       { "transportStream", "h245.transportStream",
19818         FT_NONE, BASE_NONE, NULL, 0,
19819         "h245.NULL", HFILL }},
19820     { &hf_h245_programStreamFlag,
19821       { "programStream", "h245.programStream",
19822         FT_NONE, BASE_NONE, NULL, 0,
19823         "h245.NULL", HFILL }},
19824     { &hf_h245_cmd_reverseParameters,
19825       { "reverseParameters", "h245.reverseParameters",
19826         FT_NONE, BASE_NONE, NULL, 0,
19827         "h245.Cmd_reverseParameters", HFILL }},
19828     { &hf_h245_cmdr_multiplex,
19829       { "multiplex", "h245.multiplex",
19830         FT_UINT32, BASE_DEC, VALS(h245_CmdR_multiplex_vals), 0,
19831         "h245.CmdR_multiplex", HFILL }},
19832     { &hf_h245_sampleSize,
19833       { "sampleSize", "h245.sampleSize",
19834         FT_UINT32, BASE_DEC, NULL, 0,
19835         "h245.INTEGER_1_255", HFILL }},
19836     { &hf_h245_samplesPerFrame,
19837       { "samplesPerFrame", "h245.samplesPerFrame",
19838         FT_UINT32, BASE_DEC, NULL, 0,
19839         "h245.INTEGER_1_255", HFILL }},
19840     { &hf_h245_status,
19841       { "status", "h245.status",
19842         FT_UINT32, BASE_DEC, VALS(h245_T_status_vals), 0,
19843         "h245.T_status", HFILL }},
19844     { &hf_h245_synchronized,
19845       { "synchronized", "h245.synchronized",
19846         FT_NONE, BASE_NONE, NULL, 0,
19847         "h245.NULL", HFILL }},
19848     { &hf_h245_reconfiguration,
19849       { "reconfiguration", "h245.reconfiguration",
19850         FT_NONE, BASE_NONE, NULL, 0,
19851         "h245.NULL", HFILL }},
19852     { &hf_h245_fns_cause,
19853       { "cause", "h245.cause",
19854         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotSupportedCause_vals), 0,
19855         "h245.FunctionNotSupportedCause", HFILL }},
19856     { &hf_h245_syntaxError,
19857       { "syntaxError", "h245.syntaxError",
19858         FT_NONE, BASE_NONE, NULL, 0,
19859         "h245.NULL", HFILL }},
19860     { &hf_h245_semanticError,
19861       { "semanticError", "h245.semanticError",
19862         FT_NONE, BASE_NONE, NULL, 0,
19863         "h245.NULL", HFILL }},
19864     { &hf_h245_unknownFunction,
19865       { "unknownFunction", "h245.unknownFunction",
19866         FT_NONE, BASE_NONE, NULL, 0,
19867         "h245.NULL", HFILL }},
19868     { &hf_h245_returnedFunction,
19869       { "returnedFunction", "h245.returnedFunction",
19870         FT_BYTES, BASE_NONE, NULL, 0,
19871         "h245.T_returnedFunction", HFILL }},
19872     { &hf_h245_sbeNumber,
19873       { "sbeNumber", "h245.sbeNumber",
19874         FT_UINT32, BASE_DEC, NULL, 0,
19875         "h245.INTEGER_0_9", HFILL }},
19876     { &hf_h245_terminalNumberAssign,
19877       { "terminalNumberAssign", "h245.terminalNumberAssign",
19878         FT_NONE, BASE_NONE, NULL, 0,
19879         "h245.TerminalLabel", HFILL }},
19880     { &hf_h245_terminalJoinedConference,
19881       { "terminalJoinedConference", "h245.terminalJoinedConference",
19882         FT_NONE, BASE_NONE, NULL, 0,
19883         "h245.TerminalLabel", HFILL }},
19884     { &hf_h245_terminalLeftConference,
19885       { "terminalLeftConference", "h245.terminalLeftConference",
19886         FT_NONE, BASE_NONE, NULL, 0,
19887         "h245.TerminalLabel", HFILL }},
19888     { &hf_h245_seenByAtLeastOneOther,
19889       { "seenByAtLeastOneOther", "h245.seenByAtLeastOneOther",
19890         FT_NONE, BASE_NONE, NULL, 0,
19891         "h245.NULL", HFILL }},
19892     { &hf_h245_cancelSeenByAtLeastOneOther,
19893       { "cancelSeenByAtLeastOneOther", "h245.cancelSeenByAtLeastOneOther",
19894         FT_NONE, BASE_NONE, NULL, 0,
19895         "h245.NULL", HFILL }},
19896     { &hf_h245_seenByAll,
19897       { "seenByAll", "h245.seenByAll",
19898         FT_NONE, BASE_NONE, NULL, 0,
19899         "h245.NULL", HFILL }},
19900     { &hf_h245_cancelSeenByAll,
19901       { "cancelSeenByAll", "h245.cancelSeenByAll",
19902         FT_NONE, BASE_NONE, NULL, 0,
19903         "h245.NULL", HFILL }},
19904     { &hf_h245_terminalYouAreSeeing,
19905       { "terminalYouAreSeeing", "h245.terminalYouAreSeeing",
19906         FT_NONE, BASE_NONE, NULL, 0,
19907         "h245.TerminalLabel", HFILL }},
19908     { &hf_h245_requestForFloor,
19909       { "requestForFloor", "h245.requestForFloor",
19910         FT_NONE, BASE_NONE, NULL, 0,
19911         "h245.NULL", HFILL }},
19912     { &hf_h245_withdrawChairToken,
19913       { "withdrawChairToken", "h245.withdrawChairToken",
19914         FT_NONE, BASE_NONE, NULL, 0,
19915         "h245.NULL", HFILL }},
19916     { &hf_h245_floorRequested,
19917       { "floorRequested", "h245.floorRequested",
19918         FT_NONE, BASE_NONE, NULL, 0,
19919         "h245.TerminalLabel", HFILL }},
19920     { &hf_h245_terminalYouAreSeeingInSubPictureNumber,
19921       { "terminalYouAreSeeingInSubPictureNumber", "h245.terminalYouAreSeeingInSubPictureNumber",
19922         FT_NONE, BASE_NONE, NULL, 0,
19923         "h245.TerminalYouAreSeeingInSubPictureNumber", HFILL }},
19924     { &hf_h245_videoIndicateCompose,
19925       { "videoIndicateCompose", "h245.videoIndicateCompose",
19926         FT_NONE, BASE_NONE, NULL, 0,
19927         "h245.VideoIndicateCompose", HFILL }},
19928     { &hf_h245_subPictureNumber,
19929       { "subPictureNumber", "h245.subPictureNumber",
19930         FT_UINT32, BASE_DEC, NULL, 0,
19931         "h245.INTEGER_0_255", HFILL }},
19932     { &hf_h245_compositionNumber,
19933       { "compositionNumber", "h245.compositionNumber",
19934         FT_UINT32, BASE_DEC, NULL, 0,
19935         "h245.INTEGER_0_255", HFILL }},
19936     { &hf_h245_mi_type,
19937       { "type", "h245.type",
19938         FT_UINT32, BASE_DEC, VALS(h245_Mi_type_vals), 0,
19939         "h245.Mi_type", HFILL }},
19940     { &hf_h245_logicalChannelActive,
19941       { "logicalChannelActive", "h245.logicalChannelActive",
19942         FT_NONE, BASE_NONE, NULL, 0,
19943         "h245.NULL", HFILL }},
19944     { &hf_h245_logicalChannelInactive,
19945       { "logicalChannelInactive", "h245.logicalChannelInactive",
19946         FT_NONE, BASE_NONE, NULL, 0,
19947         "h245.NULL", HFILL }},
19948     { &hf_h245_multipointConference,
19949       { "multipointConference", "h245.multipointConference",
19950         FT_NONE, BASE_NONE, NULL, 0,
19951         "h245.NULL", HFILL }},
19952     { &hf_h245_cancelMultipointConference,
19953       { "cancelMultipointConference", "h245.cancelMultipointConference",
19954         FT_NONE, BASE_NONE, NULL, 0,
19955         "h245.NULL", HFILL }},
19956     { &hf_h245_multipointZeroComm,
19957       { "multipointZeroComm", "h245.multipointZeroComm",
19958         FT_NONE, BASE_NONE, NULL, 0,
19959         "h245.NULL", HFILL }},
19960     { &hf_h245_cancelMultipointZeroComm,
19961       { "cancelMultipointZeroComm", "h245.cancelMultipointZeroComm",
19962         FT_NONE, BASE_NONE, NULL, 0,
19963         "h245.NULL", HFILL }},
19964     { &hf_h245_multipointSecondaryStatus,
19965       { "multipointSecondaryStatus", "h245.multipointSecondaryStatus",
19966         FT_NONE, BASE_NONE, NULL, 0,
19967         "h245.NULL", HFILL }},
19968     { &hf_h245_cancelMultipointSecondaryStatus,
19969       { "cancelMultipointSecondaryStatus", "h245.cancelMultipointSecondaryStatus",
19970         FT_NONE, BASE_NONE, NULL, 0,
19971         "h245.NULL", HFILL }},
19972     { &hf_h245_videoIndicateReadyToActivate,
19973       { "videoIndicateReadyToActivate", "h245.videoIndicateReadyToActivate",
19974         FT_NONE, BASE_NONE, NULL, 0,
19975         "h245.NULL", HFILL }},
19976     { &hf_h245_videoNotDecodedMBs,
19977       { "videoNotDecodedMBs", "h245.videoNotDecodedMBs",
19978         FT_NONE, BASE_NONE, NULL, 0,
19979         "h245.T_videoNotDecodedMBs", HFILL }},
19980     { &hf_h245_temporalReference_0_255,
19981       { "temporalReference", "h245.temporalReference",
19982         FT_UINT32, BASE_DEC, NULL, 0,
19983         "h245.INTEGER_0_255", HFILL }},
19984     { &hf_h245_estimatedReceivedJitterMantissa,
19985       { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa",
19986         FT_UINT32, BASE_DEC, NULL, 0,
19987         "h245.INTEGER_0_3", HFILL }},
19988     { &hf_h245_estimatedReceivedJitterExponent,
19989       { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent",
19990         FT_UINT32, BASE_DEC, NULL, 0,
19991         "h245.INTEGER_0_7", HFILL }},
19992     { &hf_h245_skippedFrameCount,
19993       { "skippedFrameCount", "h245.skippedFrameCount",
19994         FT_UINT32, BASE_DEC, NULL, 0,
19995         "h245.INTEGER_0_15", HFILL }},
19996     { &hf_h245_additionalDecoderBuffer,
19997       { "additionalDecoderBuffer", "h245.additionalDecoderBuffer",
19998         FT_UINT32, BASE_DEC, NULL, 0,
19999         "h245.INTEGER_0_262143", HFILL }},
20000     { &hf_h245_logicalChannelNumber1,
20001       { "logicalChannelNumber1", "h245.logicalChannelNumber1",
20002         FT_UINT32, BASE_DEC, NULL, 0,
20003         "h245.LogicalChannelNumber", HFILL }},
20004     { &hf_h245_logicalChannelNumber2,
20005       { "logicalChannelNumber2", "h245.logicalChannelNumber2",
20006         FT_UINT32, BASE_DEC, NULL, 0,
20007         "h245.LogicalChannelNumber", HFILL }},
20008     { &hf_h245_skew,
20009       { "skew", "h245.skew",
20010         FT_UINT32, BASE_DEC, NULL, 0,
20011         "h245.INTEGER_0_4095", HFILL }},
20012     { &hf_h245_maximumSkew,
20013       { "maximumSkew", "h245.maximumSkew",
20014         FT_UINT32, BASE_DEC, NULL, 0,
20015         "h245.INTEGER_0_4095", HFILL }},
20016     { &hf_h245_signalAddress,
20017       { "signalAddress", "h245.signalAddress",
20018         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
20019         "h245.TransportAddress", HFILL }},
20020     { &hf_h245_vendor,
20021       { "vendor", "h245.vendor",
20022         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
20023         "h245.NonStandardIdentifier", HFILL }},
20024     { &hf_h245_productNumber,
20025       { "productNumber", "h245.productNumber",
20026         FT_STRING, BASE_NONE, NULL, 0,
20027         "h245.OCTET_STRING_SIZE_1_256", HFILL }},
20028     { &hf_h245_versionNumber,
20029       { "versionNumber", "h245.versionNumber",
20030         FT_STRING, BASE_NONE, NULL, 0,
20031         "h245.OCTET_STRING_SIZE_1_256", HFILL }},
20032     { &hf_h245_ind_aal,
20033       { "aal", "h245.aal",
20034         FT_UINT32, BASE_DEC, VALS(h245_Ind_aal_vals), 0,
20035         "h245.Ind_aal", HFILL }},
20036     { &hf_h245_ind_aal1,
20037       { "aal1", "h245.aal1",
20038         FT_NONE, BASE_NONE, NULL, 0,
20039         "h245.Ind_aal1", HFILL }},
20040     { &hf_h245_ind_clockRecovery,
20041       { "clockRecovery", "h245.clockRecovery",
20042         FT_UINT32, BASE_DEC, VALS(h245_Ind_clockRecovery_vals), 0,
20043         "h245.Ind_clockRecovery", HFILL }},
20044     { &hf_h245_ind_errorCorrection,
20045       { "errorCorrection", "h245.errorCorrection",
20046         FT_UINT32, BASE_DEC, VALS(h245_Ind_errorCorrection_vals), 0,
20047         "h245.Ind_errorCorrection", HFILL }},
20048     { &hf_h245_ind_aal5,
20049       { "aal5", "h245.aal5",
20050         FT_NONE, BASE_NONE, NULL, 0,
20051         "h245.Ind_aal5", HFILL }},
20052     { &hf_h245_ind_multiplex,
20053       { "multiplex", "h245.multiplex",
20054         FT_UINT32, BASE_DEC, VALS(h245_Ind_multiplex_vals), 0,
20055         "h245.Ind_multiplex", HFILL }},
20056     { &hf_h245_ind_reverseParameters,
20057       { "reverseParameters", "h245.reverseParameters",
20058         FT_NONE, BASE_NONE, NULL, 0,
20059         "h245.Ind_reverseParameters", HFILL }},
20060     { &hf_h245_indr_multiplex,
20061       { "multiplex", "h245.multiplex",
20062         FT_UINT32, BASE_DEC, VALS(h245_IndR_multiplex_vals), 0,
20063         "h245.IndR_multiplex", HFILL }},
20064     { &hf_h245_iv8,
20065       { "iv8", "h245.iv8",
20066         FT_BYTES, BASE_NONE, NULL, 0,
20067         "h245.IV8", HFILL }},
20068     { &hf_h245_iv16,
20069       { "iv16", "h245.iv16",
20070         FT_BYTES, BASE_NONE, NULL, 0,
20071         "h245.IV16", HFILL }},
20072     { &hf_h245_iv,
20073       { "iv", "h245.iv",
20074         FT_BYTES, BASE_NONE, NULL, 0,
20075         "h245.OCTET_STRING", HFILL }},
20076     { &hf_h245_alphanumeric,
20077       { "alphanumeric", "h245.alphanumeric",
20078         FT_STRING, BASE_NONE, NULL, 0,
20079         "h245.GeneralString", HFILL }},
20080     { &hf_h245_userInputSupportIndication,
20081       { "userInputSupportIndication", "h245.userInputSupportIndication",
20082         FT_UINT32, BASE_DEC, VALS(h245_T_userInputSupportIndication_vals), 0,
20083         "h245.T_userInputSupportIndication", HFILL }},
20084     { &hf_h245_signal,
20085       { "signal", "h245.signal",
20086         FT_NONE, BASE_NONE, NULL, 0,
20087         "h245.T_signal", HFILL }},
20088     { &hf_h245_signalType,
20089       { "signalType", "h245.signalType",
20090         FT_STRING, BASE_NONE, NULL, 0,
20091         "h245.T_signalType", HFILL }},
20092     { &hf_h245_duration,
20093       { "duration", "h245.duration",
20094         FT_UINT32, BASE_DEC, NULL, 0,
20095         "h245.INTEGER_1_65535", HFILL }},
20096     { &hf_h245_rtp,
20097       { "rtp", "h245.rtp",
20098         FT_NONE, BASE_NONE, NULL, 0,
20099         "h245.T_rtp", HFILL }},
20100     { &hf_h245_timestamp,
20101       { "timestamp", "h245.timestamp",
20102         FT_UINT32, BASE_DEC, NULL, 0,
20103         "h245.INTEGER_0_4294967295", HFILL }},
20104     { &hf_h245_expirationTime,
20105       { "expirationTime", "h245.expirationTime",
20106         FT_UINT32, BASE_DEC, NULL, 0,
20107         "h245.INTEGER_0_4294967295", HFILL }},
20108     { &hf_h245_rtpPayloadIndication,
20109       { "rtpPayloadIndication", "h245.rtpPayloadIndication",
20110         FT_NONE, BASE_NONE, NULL, 0,
20111         "h245.NULL", HFILL }},
20112     { &hf_h245_paramS,
20113       { "paramS", "h245.paramS",
20114         FT_NONE, BASE_NONE, NULL, 0,
20115         "h245.Params", HFILL }},
20116     { &hf_h245_encryptedSignalType,
20117       { "encryptedSignalType", "h245.encryptedSignalType",
20118         FT_BYTES, BASE_NONE, NULL, 0,
20119         "h245.OCTET_STRING_SIZE_1", HFILL }},
20120     { &hf_h245_algorithmOID,
20121       { "algorithmOID", "h245.algorithmOID",
20122         FT_OID, BASE_NONE, NULL, 0,
20123         "h245.OBJECT_IDENTIFIER", HFILL }},
20124     { &hf_h245_signalUpdate,
20125       { "signalUpdate", "h245.signalUpdate",
20126         FT_NONE, BASE_NONE, NULL, 0,
20127         "h245.T_signalUpdate", HFILL }},
20128     { &hf_h245_si_rtp,
20129       { "rtp", "h245.rtp",
20130         FT_NONE, BASE_NONE, NULL, 0,
20131         "h245.Si_rtp", HFILL }},
20132     { &hf_h245_extendedAlphanumeric,
20133       { "extendedAlphanumeric", "h245.extendedAlphanumeric",
20134         FT_NONE, BASE_NONE, NULL, 0,
20135         "h245.T_extendedAlphanumeric", HFILL }},
20136     { &hf_h245_encrypted,
20137       { "encrypted", "h245.encrypted",
20138         FT_BYTES, BASE_NONE, NULL, 0,
20139         "h245.OCTET_STRING", HFILL }},
20140     { &hf_h245_encryptedAlphanumeric,
20141       { "encryptedAlphanumeric", "h245.encryptedAlphanumeric",
20142         FT_NONE, BASE_NONE, NULL, 0,
20143         "h245.EncryptedAlphanumeric", HFILL }},
20144
20145 /*--- End of included file: packet-h245-hfarr.c ---*/
20146 #line 466 "packet-h245-template.c"
20147   };
20148
20149   /* List of subtrees */
20150   static gint *ett[] = {
20151           &ett_h245,
20152           &ett_h245_returnedFunction,
20153
20154 /*--- Included file: packet-h245-ettarr.c ---*/
20155 #line 1 "packet-h245-ettarr.c"
20156     &ett_h245_MultimediaSystemControlMessage,
20157     &ett_h245_RequestMessage,
20158     &ett_h245_ResponseMessage,
20159     &ett_h245_CommandMessage,
20160     &ett_h245_IndicationMessage,
20161     &ett_h245_GenericMessage,
20162     &ett_h245_T_messageContent,
20163     &ett_h245_NonStandardMessage,
20164     &ett_h245_NonStandardParameter,
20165     &ett_h245_NonStandardIdentifier,
20166     &ett_h245_H221NonStandardID,
20167     &ett_h245_MasterSlaveDetermination,
20168     &ett_h245_MasterSlaveDeterminationAck,
20169     &ett_h245_T_decision,
20170     &ett_h245_MasterSlaveDeterminationReject,
20171     &ett_h245_MasterSlaveDeterminationRejectCause,
20172     &ett_h245_MasterSlaveDeterminationRelease,
20173     &ett_h245_TerminalCapabilitySet,
20174     &ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry,
20175     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor,
20176     &ett_h245_SEQUENCE_OF_GenericInformation,
20177     &ett_h245_CapabilityTableEntry,
20178     &ett_h245_CapabilityDescriptor,
20179     &ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet,
20180     &ett_h245_AlternativeCapabilitySet,
20181     &ett_h245_TerminalCapabilitySetAck,
20182     &ett_h245_TerminalCapabilitySetReject,
20183     &ett_h245_TerminalCapabilitySetRejectCause,
20184     &ett_h245_T_tableEntryCapacityExceeded,
20185     &ett_h245_TerminalCapabilitySetRelease,
20186     &ett_h245_Capability,
20187     &ett_h245_T_h233EncryptionReceiveCapability,
20188     &ett_h245_H235SecurityCapability,
20189     &ett_h245_MultiplexCapability,
20190     &ett_h245_H222Capability,
20191     &ett_h245_SET_OF_VCCapability,
20192     &ett_h245_VCCapability,
20193     &ett_h245_T_aal1,
20194     &ett_h245_T_aal5,
20195     &ett_h245_T_availableBitRates,
20196     &ett_h245_Avb_type,
20197     &ett_h245_T_rangeOfBitRates,
20198     &ett_h245_T_aal1ViaGateway,
20199     &ett_h245_SET_SIZE_1_256_OF_Q2931Address,
20200     &ett_h245_H223Capability,
20201     &ett_h245_T_h223MultiplexTableCapability,
20202     &ett_h245_T_enhanced,
20203     &ett_h245_T_mobileOperationTransmitCapability,
20204     &ett_h245_T_mobileMultilinkFrameCapability,
20205     &ett_h245_H223AnnexCCapability,
20206     &ett_h245_V76Capability,
20207     &ett_h245_V75Capability,
20208     &ett_h245_H2250Capability,
20209     &ett_h245_T_mcCapability,
20210     &ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability,
20211     &ett_h245_MediaPacketizationCapability,
20212     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType,
20213     &ett_h245_RSVPParameters,
20214     &ett_h245_QOSMode,
20215     &ett_h245_ATMParameters,
20216     &ett_h245_ServicePriorityValue,
20217     &ett_h245_ServicePriority,
20218     &ett_h245_AuthorizationParameters,
20219     &ett_h245_QOSType,
20220     &ett_h245_QOSClass,
20221     &ett_h245_QOSDescriptor,
20222     &ett_h245_GenericTransportParameters,
20223     &ett_h245_QOSCapability,
20224     &ett_h245_MediaTransportType,
20225     &ett_h245_T_atm_AAL5_compressed,
20226     &ett_h245_MediaChannelCapability,
20227     &ett_h245_TransportCapability,
20228     &ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability,
20229     &ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability,
20230     &ett_h245_RedundancyEncodingCapability,
20231     &ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber,
20232     &ett_h245_RedundancyEncodingMethod,
20233     &ett_h245_RTPH263VideoRedundancyEncoding,
20234     &ett_h245_T_frameToThreadMapping,
20235     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping,
20236     &ett_h245_T_containedThreads,
20237     &ett_h245_RTPH263VideoRedundancyFrameMapping,
20238     &ett_h245_T_frameSequence,
20239     &ett_h245_MultipointCapability,
20240     &ett_h245_SEQUENCE_OF_MediaDistributionCapability,
20241     &ett_h245_MediaDistributionCapability,
20242     &ett_h245_SEQUENCE_OF_DataApplicationCapability,
20243     &ett_h245_VideoCapability,
20244     &ett_h245_ExtendedVideoCapability,
20245     &ett_h245_SEQUENCE_OF_VideoCapability,
20246     &ett_h245_SEQUENCE_OF_GenericCapability,
20247     &ett_h245_H261VideoCapability,
20248     &ett_h245_H262VideoCapability,
20249     &ett_h245_H263VideoCapability,
20250     &ett_h245_EnhancementLayerInfo,
20251     &ett_h245_SET_SIZE_1_14_OF_EnhancementOptions,
20252     &ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters,
20253     &ett_h245_BEnhancementParameters,
20254     &ett_h245_EnhancementOptions,
20255     &ett_h245_H263Options,
20256     &ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency,
20257     &ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat,
20258     &ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos,
20259     &ett_h245_TransparencyParameters,
20260     &ett_h245_RefPictureSelection,
20261     &ett_h245_T_additionalPictureMemory,
20262     &ett_h245_T_videoBackChannelSend,
20263     &ett_h245_T_enhancedReferencePicSelect,
20264     &ett_h245_T_subPictureRemovalParameters,
20265     &ett_h245_CustomPictureClockFrequency,
20266     &ett_h245_CustomPictureFormat,
20267     &ett_h245_T_mPI,
20268     &ett_h245_T_customPCF,
20269     &ett_h245_T_customPCF_item,
20270     &ett_h245_T_pixelAspectInformation,
20271     &ett_h245_T_pixelAspectCode,
20272     &ett_h245_T_extendedPAR,
20273     &ett_h245_T_extendedPAR_item,
20274     &ett_h245_H263VideoModeCombos,
20275     &ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags,
20276     &ett_h245_H263ModeComboFlags,
20277     &ett_h245_H263Version3Options,
20278     &ett_h245_IS11172VideoCapability,
20279     &ett_h245_AudioCapability,
20280     &ett_h245_T_g7231,
20281     &ett_h245_G729Extensions,
20282     &ett_h245_G7231AnnexCCapability,
20283     &ett_h245_G723AnnexCAudioMode,
20284     &ett_h245_IS11172AudioCapability,
20285     &ett_h245_IS13818AudioCapability,
20286     &ett_h245_GSMAudioCapability,
20287     &ett_h245_VBDCapability,
20288     &ett_h245_DataApplicationCapability,
20289     &ett_h245_Application,
20290     &ett_h245_T_t84,
20291     &ett_h245_Nlpid,
20292     &ett_h245_T_t38fax,
20293     &ett_h245_DataProtocolCapability,
20294     &ett_h245_T_v76wCompression,
20295     &ett_h245_CompressionType,
20296     &ett_h245_V42bis,
20297     &ett_h245_T84Profile,
20298     &ett_h245_T_t84Restricted,
20299     &ett_h245_T38FaxProfile,
20300     &ett_h245_T38FaxRateManagement,
20301     &ett_h245_T38FaxUdpOptions,
20302     &ett_h245_T_t38FaxUdpEC,
20303     &ett_h245_T38FaxTcpOptions,
20304     &ett_h245_EncryptionAuthenticationAndIntegrity,
20305     &ett_h245_EncryptionCapability,
20306     &ett_h245_MediaEncryptionAlgorithm,
20307     &ett_h245_AuthenticationCapability,
20308     &ett_h245_IntegrityCapability,
20309     &ett_h245_UserInputCapability,
20310     &ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter,
20311     &ett_h245_ConferenceCapability,
20312     &ett_h245_SEQUENCE_OF_NonStandardParameter,
20313     &ett_h245_GenericCapability,
20314     &ett_h245_T_collapsing,
20315     &ett_h245_T_nonCollapsing,
20316     &ett_h245_CapabilityIdentifier,
20317     &ett_h245_GenericParameter,
20318     &ett_h245_SEQUENCE_OF_ParameterIdentifier,
20319     &ett_h245_ParameterIdentifier,
20320     &ett_h245_ParameterValue,
20321     &ett_h245_SEQUENCE_OF_GenericParameter,
20322     &ett_h245_MultiplexedStreamCapability,
20323     &ett_h245_MultiplexFormat,
20324     &ett_h245_AudioTelephonyEventCapability,
20325     &ett_h245_AudioToneCapability,
20326     &ett_h245_NoPTAudioTelephonyEventCapability,
20327     &ett_h245_NoPTAudioToneCapability,
20328     &ett_h245_MultiplePayloadStreamCapability,
20329     &ett_h245_DepFECCapability,
20330     &ett_h245_FECC_rfc2733,
20331     &ett_h245_T_separateStreamBool,
20332     &ett_h245_FECCapability,
20333     &ett_h245_Rfc2733Format,
20334     &ett_h245_OpenLogicalChannel,
20335     &ett_h245_T_forwardLogicalChannelParameters,
20336     &ett_h245_OLC_forw_multiplexParameters,
20337     &ett_h245_OLC_reverseLogicalChannelParameters,
20338     &ett_h245_OLC_rev_multiplexParameters,
20339     &ett_h245_NetworkAccessParameters,
20340     &ett_h245_T_distribution,
20341     &ett_h245_T_networkAddress,
20342     &ett_h245_T_t120SetupProcedure,
20343     &ett_h245_Q2931Address,
20344     &ett_h245_T_address,
20345     &ett_h245_V75Parameters,
20346     &ett_h245_DataType,
20347     &ett_h245_H235Media,
20348     &ett_h245_T_mediaType,
20349     &ett_h245_MultiplexedStreamParameter,
20350     &ett_h245_H222LogicalChannelParameters,
20351     &ett_h245_H223LogicalChannelParameters,
20352     &ett_h245_T_adaptationLayerType,
20353     &ett_h245_Al3,
20354     &ett_h245_H223AL1MParameters,
20355     &ett_h245_T_transferMode,
20356     &ett_h245_AL1HeaderFEC,
20357     &ett_h245_AL1CrcLength,
20358     &ett_h245_ArqType,
20359     &ett_h245_H223AL2MParameters,
20360     &ett_h245_AL2HeaderFEC,
20361     &ett_h245_H223AL3MParameters,
20362     &ett_h245_T_headerFormat,
20363     &ett_h245_AL3CrcLength,
20364     &ett_h245_H223AnnexCArqParameters,
20365     &ett_h245_T_numberOfRetransmissions,
20366     &ett_h245_V76LogicalChannelParameters,
20367     &ett_h245_T_suspendResume,
20368     &ett_h245_V76LCP_mode,
20369     &ett_h245_T_eRM,
20370     &ett_h245_T_recovery,
20371     &ett_h245_V76HDLCParameters,
20372     &ett_h245_CRCLength,
20373     &ett_h245_H2250LogicalChannelParameters,
20374     &ett_h245_T_mediaPacketization,
20375     &ett_h245_RTPPayloadType,
20376     &ett_h245_T_payloadDescriptor,
20377     &ett_h245_RedundancyEncoding,
20378     &ett_h245_T_rtpRedundancyEncoding,
20379     &ett_h245_SEQUENCE_OF_RedundancyEncodingElement,
20380     &ett_h245_RedundancyEncodingElement,
20381     &ett_h245_MultiplePayloadStream,
20382     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement,
20383     &ett_h245_MultiplePayloadStreamElement,
20384     &ett_h245_DepFECData,
20385     &ett_h245_RFC2733Data,
20386     &ett_h245_FECdata_mode,
20387     &ett_h245_DepSeparateStream,
20388     &ett_h245_T_differentPort,
20389     &ett_h245_T_samePort,
20390     &ett_h245_FECData,
20391     &ett_h245_T_rfc2733,
20392     &ett_h245_T_pktMode,
20393     &ett_h245_T_mode_rfc2733sameport,
20394     &ett_h245_T_mode_rfc2733diffport,
20395     &ett_h245_TransportAddress,
20396     &ett_h245_UnicastAddress,
20397     &ett_h245_T_iPAddress,
20398     &ett_h245_T_iPXAddress,
20399     &ett_h245_T_iP6Address,
20400     &ett_h245_T_iPSourceRouteAddress,
20401     &ett_h245_T_routing,
20402     &ett_h245_T_route,
20403     &ett_h245_MulticastAddress,
20404     &ett_h245_MIPAddress,
20405     &ett_h245_MIP6Address,
20406     &ett_h245_EncryptionSync,
20407     &ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData,
20408     &ett_h245_EscrowData,
20409     &ett_h245_OpenLogicalChannelAck,
20410     &ett_h245_OLC_ack_reverseLogicalChannelParameters,
20411     &ett_h245_T_olc_ack_multiplexParameters,
20412     &ett_h245_T_forwardMultiplexAckParameters,
20413     &ett_h245_OpenLogicalChannelReject,
20414     &ett_h245_OpenLogicalChannelRejectCause,
20415     &ett_h245_OpenLogicalChannelConfirm,
20416     &ett_h245_H2250LogicalChannelAckParameters,
20417     &ett_h245_CloseLogicalChannel,
20418     &ett_h245_T_cLC_source,
20419     &ett_h245_Clc_reason,
20420     &ett_h245_CloseLogicalChannelAck,
20421     &ett_h245_RequestChannelClose,
20422     &ett_h245_T_reason,
20423     &ett_h245_RequestChannelCloseAck,
20424     &ett_h245_RequestChannelCloseReject,
20425     &ett_h245_RequestChannelCloseRejectCause,
20426     &ett_h245_RequestChannelCloseRelease,
20427     &ett_h245_MultiplexEntrySend,
20428     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor,
20429     &ett_h245_MultiplexEntryDescriptor,
20430     &ett_h245_T_elementList,
20431     &ett_h245_MultiplexElement,
20432     &ett_h245_Me_type,
20433     &ett_h245_T_subElementList,
20434     &ett_h245_ME_repeatCount,
20435     &ett_h245_MultiplexEntrySendAck,
20436     &ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber,
20437     &ett_h245_MultiplexEntrySendReject,
20438     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions,
20439     &ett_h245_MultiplexEntryRejectionDescriptions,
20440     &ett_h245_MultiplexEntryRejectionDescriptionsCause,
20441     &ett_h245_MultiplexEntrySendRelease,
20442     &ett_h245_RequestMultiplexEntry,
20443     &ett_h245_RequestMultiplexEntryAck,
20444     &ett_h245_RequestMultiplexEntryReject,
20445     &ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions,
20446     &ett_h245_RequestMultiplexEntryRejectionDescriptions,
20447     &ett_h245_RequestMultiplexEntryRejectionDescriptionsCause,
20448     &ett_h245_RequestMultiplexEntryRelease,
20449     &ett_h245_RequestMode,
20450     &ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription,
20451     &ett_h245_RequestModeAck,
20452     &ett_h245_Req_mode_ack_response,
20453     &ett_h245_RequestModeReject,
20454     &ett_h245_RequestModeRejectCause,
20455     &ett_h245_RequestModeRelease,
20456     &ett_h245_ModeDescription,
20457     &ett_h245_ModeElementType,
20458     &ett_h245_ModeElement,
20459     &ett_h245_H235Mode,
20460     &ett_h245_T_mediaMode,
20461     &ett_h245_MultiplexedStreamModeParameters,
20462     &ett_h245_RedundancyEncodingDTMode,
20463     &ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement,
20464     &ett_h245_RedundancyEncodingDTModeElement,
20465     &ett_h245_Re_type,
20466     &ett_h245_MultiplePayloadStreamMode,
20467     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode,
20468     &ett_h245_MultiplePayloadStreamElementMode,
20469     &ett_h245_DepFECMode,
20470     &ett_h245_T_rfc2733Mode,
20471     &ett_h245_FEC_mode,
20472     &ett_h245_FECMode,
20473     &ett_h245_H223ModeParameters,
20474     &ett_h245_AdaptationLayerType,
20475     &ett_h245_V76ModeParameters,
20476     &ett_h245_H2250ModeParameters,
20477     &ett_h245_RedundancyEncodingMode,
20478     &ett_h245_T_secondaryEncodingMode,
20479     &ett_h245_VideoMode,
20480     &ett_h245_H261VideoMode,
20481     &ett_h245_H261Resolution,
20482     &ett_h245_H262VideoMode,
20483     &ett_h245_T_profileAndLevel,
20484     &ett_h245_H263VideoMode,
20485     &ett_h245_H263Resolution,
20486     &ett_h245_IS11172VideoMode,
20487     &ett_h245_AudioMode,
20488     &ett_h245_Mode_g7231,
20489     &ett_h245_IS11172AudioMode,
20490     &ett_h245_T_audioLayer,
20491     &ett_h245_T_audioSampling,
20492     &ett_h245_IS11172_multichannelType,
20493     &ett_h245_IS13818AudioMode,
20494     &ett_h245_IS13818AudioLayer,
20495     &ett_h245_IS13818AudioSampling,
20496     &ett_h245_IS13818MultichannelType,
20497     &ett_h245_G7231AnnexCMode,
20498     &ett_h245_VBDMode,
20499     &ett_h245_DataMode,
20500     &ett_h245_DataModeApplication,
20501     &ett_h245_T38faxApp,
20502     &ett_h245_EncryptionMode,
20503     &ett_h245_RoundTripDelayRequest,
20504     &ett_h245_RoundTripDelayResponse,
20505     &ett_h245_MaintenanceLoopRequest,
20506     &ett_h245_Mlr_type,
20507     &ett_h245_MaintenanceLoopAck,
20508     &ett_h245_Mla_type,
20509     &ett_h245_MaintenanceLoopReject,
20510     &ett_h245_Mlrej_type,
20511     &ett_h245_MaintenanceLoopRejectCause,
20512     &ett_h245_MaintenanceLoopOffCommand,
20513     &ett_h245_CommunicationModeCommand,
20514     &ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry,
20515     &ett_h245_CommunicationModeRequest,
20516     &ett_h245_CommunicationModeResponse,
20517     &ett_h245_CommunicationModeTableEntry,
20518     &ett_h245_T_entryDataType,
20519     &ett_h245_ConferenceRequest,
20520     &ett_h245_T_requestTerminalCertificate,
20521     &ett_h245_CertSelectionCriteria,
20522     &ett_h245_Criteria,
20523     &ett_h245_TerminalLabel,
20524     &ett_h245_ConferenceResponse,
20525     &ett_h245_T_mCTerminalIDResponse,
20526     &ett_h245_T_terminalIDResponse,
20527     &ett_h245_T_conferenceIDResponse,
20528     &ett_h245_T_passwordResponse,
20529     &ett_h245_SET_SIZE_1_256_OF_TerminalLabel,
20530     &ett_h245_T_makeMeChairResponse,
20531     &ett_h245_T_extensionAddressResponse,
20532     &ett_h245_T_chairTokenOwnerResponse,
20533     &ett_h245_T_terminalCertificateResponse,
20534     &ett_h245_T_broadcastMyLogicalChannelResponse,
20535     &ett_h245_T_makeTerminalBroadcasterResponse,
20536     &ett_h245_T_sendThisSourceResponse,
20537     &ett_h245_RequestAllTerminalIDsResponse,
20538     &ett_h245_SEQUENCE_OF_TerminalInformation,
20539     &ett_h245_TerminalInformation,
20540     &ett_h245_RemoteMCRequest,
20541     &ett_h245_RemoteMCResponse,
20542     &ett_h245_T_reject,
20543     &ett_h245_MultilinkRequest,
20544     &ett_h245_CallInformationReq,
20545     &ett_h245_AddConnectionReq,
20546     &ett_h245_RemoveConnectionReq,
20547     &ett_h245_MaximumHeaderIntervalReq,
20548     &ett_h245_T_requestType,
20549     &ett_h245_MultilinkResponse,
20550     &ett_h245_CallInformationResp,
20551     &ett_h245_AddConnectionResp,
20552     &ett_h245_T_responseCode,
20553     &ett_h245_T_rejected,
20554     &ett_h245_RemoveConnectionResp,
20555     &ett_h245_MaximumHeaderIntervalResp,
20556     &ett_h245_MultilinkIndication,
20557     &ett_h245_T_crcDesired,
20558     &ett_h245_T_excessiveError,
20559     &ett_h245_DialingInformation,
20560     &ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber,
20561     &ett_h245_DialingInformationNumber,
20562     &ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType,
20563     &ett_h245_DialingInformationNetworkType,
20564     &ett_h245_ConnectionIdentifier,
20565     &ett_h245_LogicalChannelRateRequest,
20566     &ett_h245_LogicalChannelRateAcknowledge,
20567     &ett_h245_LogicalChannelRateReject,
20568     &ett_h245_LogicalChannelRateRejectReason,
20569     &ett_h245_LogicalChannelRateRelease,
20570     &ett_h245_SendTerminalCapabilitySet,
20571     &ett_h245_T_specificRequest,
20572     &ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber,
20573     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber,
20574     &ett_h245_EncryptionCommand,
20575     &ett_h245_T_encryptionAlgorithmID,
20576     &ett_h245_FlowControlCommand,
20577     &ett_h245_Scope,
20578     &ett_h245_Restriction,
20579     &ett_h245_EndSessionCommand,
20580     &ett_h245_T_gstnOptions,
20581     &ett_h245_T_isdnOptions,
20582     &ett_h245_ConferenceCommand,
20583     &ett_h245_SubstituteConferenceIDCommand,
20584     &ett_h245_EncryptionUpdateDirection,
20585     &ett_h245_MiscellaneousCommand,
20586     &ett_h245_Mc_type,
20587     &ett_h245_T_videoFastUpdateGOB,
20588     &ett_h245_T_videoFastUpdateMB,
20589     &ett_h245_T_progressiveRefinementStart,
20590     &ett_h245_T_repeatCount,
20591     &ett_h245_T_videoBadMBs,
20592     &ett_h245_SEQUENCE_OF_PictureReference,
20593     &ett_h245_T_lostPartialPicture,
20594     &ett_h245_T_encryptionUpdateCommand,
20595     &ett_h245_T_encryptionUpdateAck,
20596     &ett_h245_KeyProtectionMethod,
20597     &ett_h245_EncryptionUpdateRequest,
20598     &ett_h245_PictureReference,
20599     &ett_h245_H223MultiplexReconfiguration,
20600     &ett_h245_T_h223ModeChange,
20601     &ett_h245_T_h223AnnexADoubleFlag,
20602     &ett_h245_NewATMVCCommand,
20603     &ett_h245_Cmd_aal,
20604     &ett_h245_Cmd_aal1,
20605     &ett_h245_Cmd_clockRecovery,
20606     &ett_h245_Cmd_errorCorrection,
20607     &ett_h245_Cmd_aal5,
20608     &ett_h245_Cmd_multiplex,
20609     &ett_h245_Cmd_reverseParameters,
20610     &ett_h245_CmdR_multiplex,
20611     &ett_h245_MobileMultilinkReconfigurationCommand,
20612     &ett_h245_T_status,
20613     &ett_h245_FunctionNotUnderstood,
20614     &ett_h245_FunctionNotSupported,
20615     &ett_h245_FunctionNotSupportedCause,
20616     &ett_h245_ConferenceIndication,
20617     &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
20618     &ett_h245_VideoIndicateCompose,
20619     &ett_h245_MiscellaneousIndication,
20620     &ett_h245_Mi_type,
20621     &ett_h245_T_videoNotDecodedMBs,
20622     &ett_h245_JitterIndication,
20623     &ett_h245_H223SkewIndication,
20624     &ett_h245_H2250MaximumSkewIndication,
20625     &ett_h245_MCLocationIndication,
20626     &ett_h245_VendorIdentification,
20627     &ett_h245_NewATMVCIndication,
20628     &ett_h245_Ind_aal,
20629     &ett_h245_Ind_aal1,
20630     &ett_h245_Ind_clockRecovery,
20631     &ett_h245_Ind_errorCorrection,
20632     &ett_h245_Ind_aal5,
20633     &ett_h245_Ind_multiplex,
20634     &ett_h245_Ind_reverseParameters,
20635     &ett_h245_IndR_multiplex,
20636     &ett_h245_Params,
20637     &ett_h245_UserInputIndication,
20638     &ett_h245_T_userInputSupportIndication,
20639     &ett_h245_T_signal,
20640     &ett_h245_T_rtp,
20641     &ett_h245_T_signalUpdate,
20642     &ett_h245_Si_rtp,
20643     &ett_h245_T_extendedAlphanumeric,
20644     &ett_h245_EncryptedAlphanumeric,
20645     &ett_h245_FlowControlIndication,
20646     &ett_h245_MobileMultilinkReconfigurationIndication,
20647
20648 /*--- End of included file: packet-h245-ettarr.c ---*/
20649 #line 473 "packet-h245-template.c"
20650   };
20651   module_t *h245_module;
20652
20653   /* Register protocol */
20654   proto_h245 = proto_register_protocol(PNAME, PSNAME, PFNAME);
20655   register_init_routine(h245_init);
20656   /* Register fields and subtrees */
20657   proto_register_field_array(proto_h245, hf, array_length(hf));
20658   proto_register_subtree_array(ett, array_length(ett));
20659
20660   /* From Ronnie Sahlbergs original H245 dissector */
20661
20662   h245_module = prefs_register_protocol(proto_h245, NULL);
20663   prefs_register_bool_preference(h245_module, "reassembly",
20664                 "Reassemble H.245 messages spanning multiple TCP segments",
20665                 "Whether the H.245 dissector should reassemble messages spanning multiple TCP segments."
20666                 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
20667                 &h245_reassembly);
20668   prefs_register_bool_preference(h245_module, "shorttypes",
20669                 "Show short message types",
20670                 "Whether the dissector should show short names or the long names from the standard",
20671                 &h245_shorttypes);
20672   register_dissector("h245dg", dissect_h245_h245, proto_h245);
20673   register_dissector("h245", dissect_h245, proto_h245);
20674
20675   nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", FT_STRING, BASE_NONE);
20676   nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
20677   gef_name_dissector_table = register_dissector_table("h245.gef.name", "H.245 Generic Extensible Framework (names)", FT_STRING, BASE_NONE);
20678   gef_content_dissector_table = register_dissector_table("h245.gef.content", "H.245 Generic Extensible Framework", FT_STRING, BASE_NONE);
20679
20680   h245_tap = register_tap("h245");
20681   h245dg_tap = register_tap("h245dg");
20682
20683   oid_add_from_string("h239ControlCapability","0.0.8.239.1.1");
20684   oid_add_from_string("h239ExtendedVideoCapability","0.0.8.239.1.2");
20685   oid_add_from_string("generic-message","0.0.8.239.2");
20686   oid_add_from_string("h245 version 3","0.0.8.245.0.3");
20687   oid_add_from_string("h245 version 4","0.0.8.245.0.4");
20688   oid_add_from_string("h245 version 5","0.0.8.245.0.5");
20689   oid_add_from_string("h245 version 6","0.0.8.245.0.6");
20690   oid_add_from_string("h245 version 7","0.0.8.245.0.7");
20691   oid_add_from_string("h245 version 8","0.0.8.245.0.8");
20692   oid_add_from_string("h245 version 9","0.0.8.245.0.9");
20693   oid_add_from_string("h245 version 10","0.0.8.245.0.10");
20694   oid_add_from_string("h245 version 11","0.0.8.245.0.11");
20695   oid_add_from_string("h245 version 12","0.0.8.245.0.12");
20696   oid_add_from_string("h245 version 13","0.0.8.245.0.13");
20697   /* This capability is defined in Annex E. */
20698   oid_add_from_string("ISO/IEC 14496-2 MPEG-4 video","0.0.8.245.1.0.0");
20699   /* This capability is defined in Annex H. */
20700   oid_add_from_string("ISO/IEC 14496-3 MPEG-4 audio","0.0.8.245.1.1.0");
20701   /* This capability is defined in Annex I. */
20702   oid_add_from_string("AMR","0.0.8.245.1.1.1");
20703   /* This capability is defined in Annex J. */
20704   oid_add_from_string("acelp","0.0.8.245.1.1.2");
20705   /* This capability is defined in Annex K. */
20706   oid_add_from_string("us1","0.0.8.245.1.1.3");
20707   /* This capability is defined in Annex L. */
20708   oid_add_from_string("is127evrc","0.0.8.245.1.1.4");
20709   /* This capability is defined in Annex M. */
20710   oid_add_from_string("ISO/IEC 13818-7","0.0.8.245.1.1.5");
20711   /* This capability is defined in Annex N. */
20712   oid_add_from_string("rfc3389","0.0.8.245.1.1.6");
20713   /* This capability is defined in Annex O. */
20714   oid_add_from_string("L-16","0.0.8.245.1.1.7");
20715   /* This capability is defined in Annex P. */
20716   oid_add_from_string("bounded-audio-stream","0.0.8.245.1.1.8");
20717   /* This capability is defined in Annex R. */
20718   oid_add_from_string("AMR-NB","0.0.8.245.1.1.9");
20719   /* This capability is defined in Annex R. */
20720   oid_add_from_string("AMR-WB","0.0.8.245.1.1.10");
20721   /* This capability is defined in Annex S. */
20722   oid_add_from_string("ilbc","0.0.8.245.1.1.11");
20723
20724   oid_add_from_string("ISO/IEC 14496-1","0.0.8.245.1.2.0");
20725   oid_add_from_string("Nx64","0.0.8.245.1.2.1");
20726   oid_add_from_string("logical-channel-bit-ratemanagement","0.0.8.245.1.3.0");
20727
20728   oid_add_from_string("h264 generic-capabilities","0.0.8.241.0.0.1");
20729   oid_add_from_string("iPpacketization_h241AnnexA(single NAL unit mode)","0.0.8.241.0.0.0.0");
20730   oid_add_from_string("iPpacketization_RFC3984NonInterleaved","0.0.8.241.0.0.0.1");
20731   oid_add_from_string("iPpacketization_RFC3984Interleaved","0.0.8.241.0.0.0.2");
20732 }
20733
20734
20735 /*--- proto_reg_handoff_h245 ---------------------------------------*/
20736 void proto_reg_handoff_h245(void) {
20737         dissector_handle_t h245_handle;
20738
20739         rtp_handle = find_dissector("rtp");
20740         rtcp_handle = find_dissector("rtcp");
20741         t38_handle = find_dissector("t38");
20742         data_handle = find_dissector("data");
20743         h263_handle = find_dissector("h263data");
20744         amr_handle = find_dissector("amr_if2_nb");
20745
20746
20747         h245_handle = find_dissector("h245");
20748         dissector_add_handle("tcp.port", h245_handle);
20749         MultimediaSystemControlMessage_handle = find_dissector("h245dg");
20750         dissector_add_handle("udp.port", MultimediaSystemControlMessage_handle);
20751 }
20752
20753 static void init_h245_packet_info(h245_packet_info *pi)
20754 {
20755         if(pi == NULL) {
20756                 return;
20757         }
20758
20759         pi->msg_type = H245_OTHER;
20760                 pi->frame_label[0] = '\0';
20761                 g_snprintf(pi->comment, sizeof(pi->comment), "H245 ");
20762 }
20763