ea090a6c830fd158eee32a44dd67248ea57dc132
[metze/wireshark/wip.git] / epan / dissectors / packet-h245.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-h245.c                                                              */
4 /* ../../tools/asn2wrs.py -p h245 -c ./h245.cnf -s ./packet-h245-template -D . -O ../../epan/dissectors MULTIMEDIA-SYSTEM-CONTROL.asn */
5
6 /* Input file: packet-h245-template.c */
7
8 #line 1 "../../asn1/h245/packet-h245-template.c"
9 /* packet-h245_asn1.c
10  * Routines for h245 packet dissection
11  * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
19  * This program is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU General Public License
21  * as published by the Free Software Foundation; either version 2
22  * of the License, or (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program; if not, write to the Free Software
31  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 #include "config.h"
44
45 #include <glib.h>
46 #include <epan/packet.h>
47 #include <epan/strutil.h>
48
49 #include <string.h>
50
51 #include <epan/prefs.h>
52 #include <epan/t35.h>
53 #include <epan/emem.h>
54 #include <epan/oids.h>
55 #include <epan/asn1.h>
56 #include <epan/tap.h>
57 #include "packet-tpkt.h"
58 #include "packet-per.h"
59 #include "packet-h323.h"
60 #include "packet-h245.h"
61 #include "packet-rtp.h"
62 #include "packet-rtcp.h"
63 #include "packet-t38.h"
64
65 #define PNAME  "MULTIMEDIA-SYSTEM-CONTROL"
66 #define PSNAME "H.245"
67 #define PFNAME "h245"
68
69 static dissector_handle_t rtp_handle=NULL;
70 static dissector_handle_t rtcp_handle=NULL;
71 static dissector_handle_t t38_handle=NULL;
72 static dissector_table_t nsp_object_dissector_table;
73 static dissector_table_t nsp_h221_dissector_table;
74 static dissector_table_t gef_name_dissector_table;
75 static dissector_table_t gef_content_dissector_table;
76 static dissector_handle_t nsp_handle;
77 static dissector_handle_t data_handle;
78 static dissector_handle_t MultimediaSystemControlMessage_handle;
79 static dissector_handle_t h263_handle = NULL;
80 static dissector_handle_t amr_handle = NULL;
81
82 static void init_h245_packet_info(h245_packet_info *pi);
83 static int hf_h245_pdu_type = -1;
84 static int hf_h245Manufacturer = -1;
85 static int hf_h245_subMessageIdentifier_standard = -1;
86 static int h245_tap = -1;
87 static int h245dg_tap = -1;
88 h245_packet_info *h245_pi=NULL;
89
90 static gboolean h245_reassembly = TRUE;
91 static gboolean h245_shorttypes = FALSE;
92
93
94 /*--- Included file: packet-h245-val.h ---*/
95 #line 1 "../../asn1/h245/packet-h245-val.h"
96
97 typedef enum _AudioCapability_enum {
98   AudioCapability_nonStandard =   0,
99   AudioCapability_g711Alaw64k =   1,
100   AudioCapability_g711Alaw56k =   2,
101   AudioCapability_g711Ulaw64k =   3,
102   AudioCapability_g711Ulaw56k =   4,
103   AudioCapability_g722_64k =   5,
104   AudioCapability_g722_56k =   6,
105   AudioCapability_g722_48k =   7,
106   AudioCapability_g7231 =   8,
107   AudioCapability_g728 =   9,
108   AudioCapability_g729 =  10,
109   AudioCapability_g729AnnexA =  11,
110   AudioCapability_is11172AudioCapability =  12,
111   AudioCapability_is13818AudioCapability =  13,
112   AudioCapability_g729wAnnexB =  14,
113   AudioCapability_g729AnnexAwAnnexB =  15,
114   AudioCapability_g7231AnnexCCapability =  16,
115   AudioCapability_gsmFullRate =  17,
116   AudioCapability_gsmHalfRate =  18,
117   AudioCapability_gsmEnhancedFullRate =  19,
118   AudioCapability_genericAudioCapability =  20,
119   AudioCapability_g729Extensions =  21,
120   AudioCapability_vbd =  22,
121   AudioCapability_audioTelephonyEvent =  23,
122   AudioCapability_audioTone =  24
123 } AudioCapability_enum;
124
125 typedef enum _RequestMessage_enum {
126   RequestMessage_nonStandard =   0,
127   RequestMessage_masterSlaveDetermination =   1,
128   RequestMessage_terminalCapabilitySet =   2,
129   RequestMessage_openLogicalChannel =   3,
130   RequestMessage_closeLogicalChannel =   4,
131   RequestMessage_requestChannelClose =   5,
132   RequestMessage_multiplexEntrySend =   6,
133   RequestMessage_requestMultiplexEntry =   7,
134   RequestMessage_requestMode =   8,
135   RequestMessage_roundTripDelayRequest =   9,
136   RequestMessage_maintenanceLoopRequest =  10,
137   RequestMessage_communicationModeRequest =  11,
138   RequestMessage_conferenceRequest =  12,
139   RequestMessage_multilinkRequest =  13,
140   RequestMessage_logicalChannelRateRequest =  14,
141   RequestMessage_genericRequest =  15
142 } RequestMessage_enum;
143
144 typedef enum _ResponseMessage_enum {
145   ResponseMessage_nonStandard =   0,
146   ResponseMessage_masterSlaveDeterminationAck =   1,
147   ResponseMessage_masterSlaveDeterminationReject =   2,
148   ResponseMessage_terminalCapabilitySetAck =   3,
149   ResponseMessage_terminalCapabilitySetReject =   4,
150   ResponseMessage_openLogicalChannelAck =   5,
151   ResponseMessage_openLogicalChannelReject =   6,
152   ResponseMessage_closeLogicalChannelAck =   7,
153   ResponseMessage_requestChannelCloseAck =   8,
154   ResponseMessage_requestChannelCloseReject =   9,
155   ResponseMessage_multiplexEntrySendAck =  10,
156   ResponseMessage_multiplexEntrySendReject =  11,
157   ResponseMessage_requestMultiplexEntryAck =  12,
158   ResponseMessage_requestMultiplexEntryReject =  13,
159   ResponseMessage_requestModeAck =  14,
160   ResponseMessage_requestModeReject =  15,
161   ResponseMessage_roundTripDelayResponse =  16,
162   ResponseMessage_maintenanceLoopAck =  17,
163   ResponseMessage_maintenanceLoopReject =  18,
164   ResponseMessage_communicationModeResponse =  19,
165   ResponseMessage_conferenceResponse =  20,
166   ResponseMessage_multilinkResponse =  21,
167   ResponseMessage_logicalChannelRateAcknowledge =  22,
168   ResponseMessage_logicalChannelRateReject =  23,
169   ResponseMessage_genericResponse =  24
170 } ResponseMessage_enum;
171
172 typedef enum _CommandMessage_enum {
173   CommandMessage_nonStandard =   0,
174   CommandMessage_maintenanceLoopOffCommand =   1,
175   CommandMessage_sendTerminalCapabilitySet =   2,
176   CommandMessage_encryptionCommand =   3,
177   CommandMessage_flowControlCommand =   4,
178   CommandMessage_endSessionCommand =   5,
179   CommandMessage_miscellaneousCommand =   6,
180   CommandMessage_communicationModeCommand =   7,
181   CommandMessage_conferenceCommand =   8,
182   CommandMessage_h223MultiplexReconfiguration =   9,
183   CommandMessage_newATMVCCommand =  10,
184   CommandMessage_mobileMultilinkReconfigurationCommand =  11,
185   CommandMessage_genericCommand =  12
186 } CommandMessage_enum;
187
188 typedef enum _IndicationMessage_enum {
189   IndicationMessage_nonStandard =   0,
190   IndicationMessage_functionNotUnderstood =   1,
191   IndicationMessage_masterSlaveDeterminationRelease =   2,
192   IndicationMessage_terminalCapabilitySetRelease =   3,
193   IndicationMessage_openLogicalChannelConfirm =   4,
194   IndicationMessage_requestChannelCloseRelease =   5,
195   IndicationMessage_multiplexEntrySendRelease =   6,
196   IndicationMessage_requestMultiplexEntryRelease =   7,
197   IndicationMessage_requestModeRelease =   8,
198   IndicationMessage_miscellaneousIndication =   9,
199   IndicationMessage_jitterIndication =  10,
200   IndicationMessage_h223SkewIndication =  11,
201   IndicationMessage_newATMVCIndication =  12,
202   IndicationMessage_userInput =  13,
203   IndicationMessage_h2250MaximumSkewIndication =  14,
204   IndicationMessage_mcLocationIndication =  15,
205   IndicationMessage_conferenceIndication =  16,
206   IndicationMessage_vendorIdentification =  17,
207   IndicationMessage_functionNotSupported =  18,
208   IndicationMessage_multilinkIndication =  19,
209   IndicationMessage_logicalChannelRateRelease =  20,
210   IndicationMessage_flowControlIndication =  21,
211   IndicationMessage_mobileMultilinkReconfigurationIndication =  22,
212   IndicationMessage_genericIndication =  23
213 } IndicationMessage_enum;
214
215 /*--- End of included file: packet-h245-val.h ---*/
216 #line 88 "../../asn1/h245/packet-h245-template.c"
217
218 static const value_string h245_RequestMessage_short_vals[] = {
219         { RequestMessage_nonStandard              ,     "NSM" },
220         { RequestMessage_masterSlaveDetermination ,     "MSD" },
221         { RequestMessage_terminalCapabilitySet    ,     "TCS" },
222         { RequestMessage_openLogicalChannel       ,     "OLC" },
223         { RequestMessage_closeLogicalChannel      ,     "CLC" },
224         { RequestMessage_requestChannelClose      ,     "RCC" },
225         { RequestMessage_multiplexEntrySend       ,     "MES" },
226         { RequestMessage_requestMultiplexEntry    ,     "RME" },
227         { RequestMessage_requestMode              ,     "RM"  },
228         { RequestMessage_roundTripDelayRequest    ,     "RTDR" },
229         { RequestMessage_maintenanceLoopRequest   ,     "MLR" },
230         { RequestMessage_communicationModeRequest ,     "CMR" },
231         { RequestMessage_conferenceRequest        ,     "CR"  },
232         { RequestMessage_multilinkRequest         ,     "MR"  },
233         { RequestMessage_logicalChannelRateRequest,     "LCRR" },
234         { RequestMessage_genericRequest           ,     "GR"  },
235         {  0, NULL }
236 };
237 static const value_string h245_ResponseMessage_short_vals[] = {
238         { ResponseMessage_nonStandard                   ,       "NSM" },
239         { ResponseMessage_masterSlaveDeterminationAck   ,       "MSDAck" },
240         { ResponseMessage_masterSlaveDeterminationReject,       "MSDReject" },
241         { ResponseMessage_terminalCapabilitySetAck      ,       "TCSAck" },
242         { ResponseMessage_terminalCapabilitySetReject   ,       "TCSReject" },
243         { ResponseMessage_openLogicalChannelAck         ,       "OLCAck" },
244         { ResponseMessage_openLogicalChannelReject      ,       "OLCReject" },
245         { ResponseMessage_closeLogicalChannelAck        ,       "CLCAck" },
246         { ResponseMessage_requestChannelCloseAck        ,       "RCCAck" },
247         { ResponseMessage_requestChannelCloseReject     ,       "RCCReject" },
248         { ResponseMessage_multiplexEntrySendAck         ,       "MESAck" },
249         { ResponseMessage_multiplexEntrySendReject      ,       "MESReject" },
250         { ResponseMessage_requestMultiplexEntryAck      ,       "RMEAck" },
251         { ResponseMessage_requestMultiplexEntryReject   ,       "RMEReject" },
252         { ResponseMessage_requestModeAck                ,       "RMAck" },
253         { ResponseMessage_requestModeReject             ,       "RMReject" },
254         { ResponseMessage_roundTripDelayResponse        ,       "RTDResponse" },
255         { ResponseMessage_maintenanceLoopAck            ,       "MLAck" },
256         { ResponseMessage_maintenanceLoopReject         ,       "MLReject" },
257         { ResponseMessage_communicationModeResponse     ,       "CMResponse" },
258         { ResponseMessage_conferenceResponse            ,       "CResponse" },
259         { ResponseMessage_multilinkResponse             ,       "MResponse" },
260         { ResponseMessage_logicalChannelRateAcknowledge ,       "LCRAck" },
261         { ResponseMessage_logicalChannelRateReject      ,       "LCRReject" },
262         { ResponseMessage_genericResponse               ,       "GR" },
263         {  0, NULL }
264 };
265 static const value_string h245_IndicationMessage_short_vals[] = {
266         { IndicationMessage_nonStandard                             ,   "NSM" },
267         { IndicationMessage_functionNotUnderstood                   ,   "FNU" },
268         { IndicationMessage_masterSlaveDeterminationRelease         ,   "MSDRelease" },
269         { IndicationMessage_terminalCapabilitySetRelease            ,   "TCSRelease" },
270         { IndicationMessage_openLogicalChannelConfirm               ,   "OLCConfirm" },
271         { IndicationMessage_requestChannelCloseRelease              ,   "RCCRelease" },
272         { IndicationMessage_multiplexEntrySendRelease               ,   "MESRelease" },
273         { IndicationMessage_requestMultiplexEntryRelease            ,   "RMERelease" },
274         { IndicationMessage_requestModeRelease                      ,   "RMRelease" },
275         { IndicationMessage_miscellaneousIndication                 ,   "MI" },
276         { IndicationMessage_jitterIndication                        ,   "JI" },
277         { IndicationMessage_h223SkewIndication                      ,   "H223SI" },
278         { IndicationMessage_newATMVCIndication                      ,   "NATMVCI" },
279         { IndicationMessage_userInput                               ,   "UII" },
280         { IndicationMessage_h2250MaximumSkewIndication              ,   "H2250MSI" },
281         { IndicationMessage_mcLocationIndication                    ,   "MCLI" },
282         { IndicationMessage_conferenceIndication                    ,   "CI" },
283         { IndicationMessage_vendorIdentification                    ,   "VI" },
284         { IndicationMessage_functionNotSupported                    ,   "FNS" },
285         { IndicationMessage_multilinkIndication                     ,   "MultilinkIndication" },
286         { IndicationMessage_logicalChannelRateRelease               ,   "LCRRelease" },
287         { IndicationMessage_flowControlIndication                   ,   "FCIndication" },
288         { IndicationMessage_mobileMultilinkReconfigurationIndication,   "MMRI" },
289         { IndicationMessage_genericIndication                       ,   "GI" },
290         {  0, NULL }
291 };
292 static const value_string h245_CommandMessage_short_vals[] = {
293         { CommandMessage_nonStandard                          , "NSM" },
294         { CommandMessage_maintenanceLoopOffCommand            , "MLOC" },
295         { CommandMessage_sendTerminalCapabilitySet            , "STCS" },
296         { CommandMessage_encryptionCommand                    , "EC" },
297         { CommandMessage_flowControlCommand                   , "FCC" },
298         { CommandMessage_endSessionCommand                    , "ESC" },
299         { CommandMessage_miscellaneousCommand                 , "MC" },
300         { CommandMessage_communicationModeCommand             , "CMC" },
301         { CommandMessage_conferenceCommand                    , "CC" },
302         { CommandMessage_h223MultiplexReconfiguration         , "H223MR" },
303         { CommandMessage_newATMVCCommand                      , "NATMVCC" },
304         { CommandMessage_mobileMultilinkReconfigurationCommand, "MMRC" },
305         { CommandMessage_genericCommand                       , "GC" },
306         {  0, NULL }
307 };
308
309 static const value_string h245_AudioCapability_short_vals[] = {
310   { AudioCapability_nonStandard           , "nonStd" },
311   { AudioCapability_g711Alaw64k           , "g711A" },
312   { AudioCapability_g711Alaw56k           , "g711A56k" },
313   { AudioCapability_g711Ulaw64k           , "g711U" },
314   { AudioCapability_g711Ulaw56k           , "g711U56k" },
315   { AudioCapability_g722_64k              , "g722-64k" },
316   { AudioCapability_g722_56k              , "g722-56k" },
317   { AudioCapability_g722_48k              , "g722-48k" },
318   { AudioCapability_g7231                 , "g7231" },
319   { AudioCapability_g728                  , "g728" },
320   { AudioCapability_g729                  , "g729" },
321   { AudioCapability_g729AnnexA            , "g729A" },
322   { AudioCapability_is11172AudioCapability, "is11172" },
323   { AudioCapability_is13818AudioCapability, "is13818" },
324   { AudioCapability_g729wAnnexB           , "g729B" },
325   { AudioCapability_g729AnnexAwAnnexB     , "g729AB" },
326   { AudioCapability_g7231AnnexCCapability , "g7231C" },
327   { AudioCapability_gsmFullRate           , "gsmFR" },
328   { AudioCapability_gsmHalfRate           , "gsmHR" },
329   { AudioCapability_gsmEnhancedFullRate   , "gsmEFR" },
330   { AudioCapability_genericAudioCapability, "generic" },
331   { AudioCapability_g729Extensions        , "g729Ext" },
332   { AudioCapability_vbd                   , "vbd" },
333   { AudioCapability_audioTelephonyEvent   , "audioTelEvent" },
334   { AudioCapability_audioTone             , "audioTone" },
335   {  0, NULL }
336 };
337
338 /* To put the codec type only in COL_INFO when
339    an OLC is read */
340 const char* codec_type = NULL;
341 static guint32 rfc_number;
342
343 typedef struct _unicast_addr_t {
344   address addr;
345   guint8 addr_buf[16];
346   guint32 port;
347 } unicast_addr_t;
348
349 typedef struct _channel_info_t {
350   gchar data_type_str[32];
351   unicast_addr_t *upcoming_addr;
352   unicast_addr_t media_addr;
353   unicast_addr_t media_control_addr;
354   unsigned int rfc2198;
355   gboolean srtp_flag;
356   gboolean is_video;
357 } channel_info_t;
358
359 typedef struct _olc_info_t {
360   guint16 fwd_lc_num;
361   channel_info_t fwd_lc;
362   channel_info_t rev_lc;
363 } olc_info_t;
364
365 static GHashTable* h245_pending_olc_reqs = NULL;
366 static gboolean fast_start = FALSE;
367 static olc_info_t *upcoming_olc = NULL;
368 static channel_info_t *upcoming_channel = NULL;
369
370 /* NonStandardParameter */
371 static const char *nsiOID;
372 static guint32 h221NonStandard;
373 static guint32 t35CountryCode;
374 static guint32 t35Extension;
375 static guint32 manufacturerCode;
376
377 static const value_string h245_RFC_number_vals[] = {
378         {  2190,        "RFC 2190 - H.263 Video Streams" },
379         {  2198,        "RFC 2198 - RTP Payload for Redundant Audio Data" },
380         {  2429,        "RFC 2429 - 1998 Version of ITU-T Rec. H.263 Video (H.263+)" },
381         {  3016,        "RFC 3016 - RTP Payload Format for MPEG-4 Audio/Visual Streams" },
382         {  3267,        "RFC 3267 - Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB)" },
383         {  3984,        "RFC 3984 - RTP Payload Format for H.264 Video" },
384         {  0, NULL }
385 };
386
387 /* Table 7/H.239 subMessageIdentifier values */
388 static const value_string h245_h239subMessageIdentifier_vals[] = {
389   {   1, "flowControlReleaseRequest" },
390   {   2, "flowControlReleaseResponse" },
391   {   3, "presentationTokenRequest" },
392   {   4, "presentationTokenResponse" },
393   {   5, "presentationTokenRelease" },
394   {   6, "presentationTokenIndicateOwner" },
395   { 0, NULL }
396 };
397
398
399 /* h223 multiplex codes */
400 static h223_set_mc_handle_t h223_set_mc_handle = NULL;
401 h223_mux_element *h223_me=NULL;
402 guint8 h223_mc=0;
403 void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle )
404 {
405         h223_set_mc_handle = handle;
406 }
407
408 /* h223 logical channels */
409 typedef struct {
410         h223_lc_params *fw_channel_params;
411         h223_lc_params *rev_channel_params;
412 } h223_pending_olc;
413
414 static GHashTable*          h223_pending_olc_reqs[] = { NULL, NULL };
415 static dissector_handle_t   h245_lc_dissector;
416 static guint16              h245_lc_temp;
417 static guint16              h223_fw_lc_num;
418 static guint16              h223_rev_lc_num;
419 static h223_lc_params      *h223_lc_params_temp;
420 static h223_lc_params      *h223_fw_lc_params;
421 static h223_lc_params      *h223_rev_lc_params;
422 static h223_add_lc_handle_t h223_add_lc_handle = NULL;
423
424 static void h223_lc_init_dir( int dir )
425 {
426         if ( h223_pending_olc_reqs[dir] )
427                 g_hash_table_destroy( h223_pending_olc_reqs[dir] );
428         h223_pending_olc_reqs[dir] = g_hash_table_new( g_direct_hash, g_direct_equal );
429 }
430
431 static void h223_lc_init( void )
432 {
433         h223_lc_init_dir( P2P_DIR_SENT );
434         h223_lc_init_dir( P2P_DIR_RECV );
435         h223_lc_params_temp = NULL;
436         h245_lc_dissector = NULL;
437         h223_fw_lc_num = 0;
438 }
439
440 static void h245_init(void)
441 {
442         if ( h245_pending_olc_reqs)
443                 g_hash_table_destroy(h245_pending_olc_reqs);
444         h245_pending_olc_reqs = g_hash_table_new(g_str_hash, g_str_equal);
445
446         h223_lc_init();
447 }
448
449 void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle )
450 {
451         h223_add_lc_handle = handle;
452 }
453
454 static const gchar *gen_olc_key(guint16 lc_num, address *dst_addr, address *src_addr)
455 {
456   return ep_strdup_printf("%s/%s/%u", ep_address_to_str(dst_addr), ep_address_to_str(src_addr), lc_num);
457 }
458
459 static void update_unicast_addr(unicast_addr_t *req_addr, unicast_addr_t *ack_addr)
460 {
461   if (ack_addr->addr.type!=AT_NONE && ack_addr->port!=0) {
462     memcpy(req_addr->addr_buf, ack_addr->addr_buf, sizeof(req_addr->addr_buf));
463     SET_ADDRESS(&req_addr->addr, ack_addr->addr.type, ack_addr->addr.len, req_addr->addr_buf);
464     req_addr->port = ack_addr->port;
465   }
466 }
467
468 static void h245_setup_channels(packet_info *pinfo, channel_info_t *upcoming_channel_lcl)
469 {
470         gint *key;
471         GHashTable *rtp_dyn_payload = NULL;
472         struct srtp_info *dummy_srtp_info = NULL;
473
474         if (!upcoming_channel_lcl) return;
475
476         /* T.38 */
477         if (!strcmp(upcoming_channel_lcl->data_type_str, "t38fax")) {
478                 if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0 && t38_handle) {
479                         t38_add_address(pinfo, &upcoming_channel_lcl->media_addr.addr,
480                                                         upcoming_channel_lcl->media_addr.port, 0,
481                                                         "H245", pinfo->fd->num);
482                 }
483                 return;
484         }
485
486         /* (S)RTP, (S)RTCP */
487         if (upcoming_channel_lcl->rfc2198 > 0) {
488                 encoding_name_and_rate_t *encoding_name_and_rate = se_alloc( sizeof(encoding_name_and_rate_t));
489                 rtp_dyn_payload = g_hash_table_new(g_int_hash, g_int_equal);
490                 encoding_name_and_rate->encoding_name = se_strdup("red");
491                 encoding_name_and_rate->sample_rate = 8000;
492                 key = se_alloc(sizeof(gint));
493                 *key = upcoming_channel_lcl->rfc2198;
494                 g_hash_table_insert(rtp_dyn_payload, key, encoding_name_and_rate);
495         }
496
497         if (upcoming_channel_lcl->srtp_flag) {
498                 dummy_srtp_info = se_alloc0(sizeof(struct srtp_info));
499         }
500
501         /* DEBUG        g_warning("h245_setup_channels media_addr.addr.type %u port %u",upcoming_channel_lcl->media_addr.addr.type, upcoming_channel_lcl->media_addr.port );
502         */
503         if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0 && rtp_handle) {
504                 srtp_add_address(pinfo, &upcoming_channel_lcl->media_addr.addr,
505                                                 upcoming_channel_lcl->media_addr.port, 0,
506                                                 "H245", pinfo->fd->num, upcoming_channel_lcl->is_video , rtp_dyn_payload, dummy_srtp_info);
507         }
508         if (upcoming_channel_lcl->media_control_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_control_addr.port!=0 && rtcp_handle) {
509                 srtcp_add_address(pinfo, &upcoming_channel_lcl->media_control_addr.addr,
510                                                 upcoming_channel_lcl->media_control_addr.port, 0,
511                                                 "H245", pinfo->fd->num, dummy_srtp_info);
512         }
513 }
514
515 /* Initialize the protocol and registered fields */
516 static int proto_h245 = -1;
517
518 /*--- Included file: packet-h245-hf.c ---*/
519 #line 1 "../../asn1/h245/packet-h245-hf.c"
520 static int hf_h245_OpenLogicalChannel_PDU = -1;   /* OpenLogicalChannel */
521 static int hf_h245_request = -1;                  /* RequestMessage */
522 static int hf_h245_response = -1;                 /* ResponseMessage */
523 static int hf_h245_command = -1;                  /* CommandMessage */
524 static int hf_h245_indication = -1;               /* IndicationMessage */
525 static int hf_h245_nonStandardMsg = -1;           /* NonStandardMessage */
526 static int hf_h245_masterSlaveDetermination = -1;  /* MasterSlaveDetermination */
527 static int hf_h245_terminalCapabilitySet = -1;    /* TerminalCapabilitySet */
528 static int hf_h245_openLogicalChannel = -1;       /* OpenLogicalChannel */
529 static int hf_h245_closeLogicalChannel = -1;      /* CloseLogicalChannel */
530 static int hf_h245_requestChannelClose = -1;      /* RequestChannelClose */
531 static int hf_h245_multiplexEntrySend = -1;       /* MultiplexEntrySend */
532 static int hf_h245_requestMultiplexEntry = -1;    /* RequestMultiplexEntry */
533 static int hf_h245_requestMode = -1;              /* RequestMode */
534 static int hf_h245_roundTripDelayRequest = -1;    /* RoundTripDelayRequest */
535 static int hf_h245_maintenanceLoopRequest = -1;   /* MaintenanceLoopRequest */
536 static int hf_h245_communicationModeRequest = -1;  /* CommunicationModeRequest */
537 static int hf_h245_conferenceRequest = -1;        /* ConferenceRequest */
538 static int hf_h245_multilinkRequest = -1;         /* MultilinkRequest */
539 static int hf_h245_logicalChannelRateRequest = -1;  /* LogicalChannelRateRequest */
540 static int hf_h245_genericRequest = -1;           /* GenericMessage */
541 static int hf_h245_masterSlaveDeterminationAck = -1;  /* MasterSlaveDeterminationAck */
542 static int hf_h245_masterSlaveDeterminationReject = -1;  /* MasterSlaveDeterminationReject */
543 static int hf_h245_terminalCapabilitySetAck = -1;  /* TerminalCapabilitySetAck */
544 static int hf_h245_terminalCapabilitySetReject = -1;  /* TerminalCapabilitySetReject */
545 static int hf_h245_openLogicalChannelAck = -1;    /* OpenLogicalChannelAck */
546 static int hf_h245_openLogicalChannelReject = -1;  /* OpenLogicalChannelReject */
547 static int hf_h245_closeLogicalChannelAck = -1;   /* CloseLogicalChannelAck */
548 static int hf_h245_requestChannelCloseAck = -1;   /* RequestChannelCloseAck */
549 static int hf_h245_requestChannelCloseReject = -1;  /* RequestChannelCloseReject */
550 static int hf_h245_multiplexEntrySendAck = -1;    /* MultiplexEntrySendAck */
551 static int hf_h245_multiplexEntrySendReject = -1;  /* MultiplexEntrySendReject */
552 static int hf_h245_requestMultiplexEntryAck = -1;  /* RequestMultiplexEntryAck */
553 static int hf_h245_requestMultiplexEntryReject = -1;  /* RequestMultiplexEntryReject */
554 static int hf_h245_requestModeAck = -1;           /* RequestModeAck */
555 static int hf_h245_requestModeReject = -1;        /* RequestModeReject */
556 static int hf_h245_roundTripDelayResponse = -1;   /* RoundTripDelayResponse */
557 static int hf_h245_maintenanceLoopAck = -1;       /* MaintenanceLoopAck */
558 static int hf_h245_maintenanceLoopReject = -1;    /* MaintenanceLoopReject */
559 static int hf_h245_communicationModeResponse = -1;  /* CommunicationModeResponse */
560 static int hf_h245_conferenceResponse = -1;       /* ConferenceResponse */
561 static int hf_h245_multilinkResponse = -1;        /* MultilinkResponse */
562 static int hf_h245_logicalChannelRateAcknowledge = -1;  /* LogicalChannelRateAcknowledge */
563 static int hf_h245_logicalChannelRateReject = -1;  /* LogicalChannelRateReject */
564 static int hf_h245_genericResponse = -1;          /* GenericMessage */
565 static int hf_h245_maintenanceLoopOffCommand = -1;  /* MaintenanceLoopOffCommand */
566 static int hf_h245_sendTerminalCapabilitySet = -1;  /* SendTerminalCapabilitySet */
567 static int hf_h245_encryptionCommand = -1;        /* EncryptionCommand */
568 static int hf_h245_flowControlCommand = -1;       /* FlowControlCommand */
569 static int hf_h245_endSessionCommand = -1;        /* EndSessionCommand */
570 static int hf_h245_miscellaneousCommand = -1;     /* MiscellaneousCommand */
571 static int hf_h245_communicationModeCommand = -1;  /* CommunicationModeCommand */
572 static int hf_h245_conferenceCommand = -1;        /* ConferenceCommand */
573 static int hf_h245_h223MultiplexReconfiguration = -1;  /* H223MultiplexReconfiguration */
574 static int hf_h245_newATMVCCommand = -1;          /* NewATMVCCommand */
575 static int hf_h245_mobileMultilinkReconfigurationCommand = -1;  /* MobileMultilinkReconfigurationCommand */
576 static int hf_h245_genericCommand = -1;           /* GenericMessage */
577 static int hf_h245_functionNotUnderstood = -1;    /* FunctionNotUnderstood */
578 static int hf_h245_masterSlaveDeterminationRelease = -1;  /* MasterSlaveDeterminationRelease */
579 static int hf_h245_terminalCapabilitySetRelease = -1;  /* TerminalCapabilitySetRelease */
580 static int hf_h245_openLogicalChannelConfirm = -1;  /* OpenLogicalChannelConfirm */
581 static int hf_h245_requestChannelCloseRelease = -1;  /* RequestChannelCloseRelease */
582 static int hf_h245_multiplexEntrySendRelease = -1;  /* MultiplexEntrySendRelease */
583 static int hf_h245_requestMultiplexEntryRelease = -1;  /* RequestMultiplexEntryRelease */
584 static int hf_h245_requestModeRelease = -1;       /* RequestModeRelease */
585 static int hf_h245_miscellaneousIndication = -1;  /* MiscellaneousIndication */
586 static int hf_h245_jitterIndication = -1;         /* JitterIndication */
587 static int hf_h245_h223SkewIndication = -1;       /* H223SkewIndication */
588 static int hf_h245_newATMVCIndication = -1;       /* NewATMVCIndication */
589 static int hf_h245_userInput = -1;                /* UserInputIndication */
590 static int hf_h245_h2250MaximumSkewIndication = -1;  /* H2250MaximumSkewIndication */
591 static int hf_h245_mcLocationIndication = -1;     /* MCLocationIndication */
592 static int hf_h245_conferenceIndication = -1;     /* ConferenceIndication */
593 static int hf_h245_vendorIdentification = -1;     /* VendorIdentification */
594 static int hf_h245_functionNotSupported = -1;     /* FunctionNotSupported */
595 static int hf_h245_multilinkIndication = -1;      /* MultilinkIndication */
596 static int hf_h245_logicalChannelRateRelease = -1;  /* LogicalChannelRateRelease */
597 static int hf_h245_flowControlIndication = -1;    /* FlowControlIndication */
598 static int hf_h245_mobileMultilinkReconfigurationIndication = -1;  /* MobileMultilinkReconfigurationIndication */
599 static int hf_h245_genericIndication = -1;        /* GenericMessage */
600 static int hf_h245_messageIdentifier = -1;        /* CapabilityIdentifier */
601 static int hf_h245_subMessageIdentifier = -1;     /* T_subMessageIdentifier */
602 static int hf_h245_messageContent = -1;           /* T_messageContent */
603 static int hf_h245_messageContent_item = -1;      /* T_messageContent_item */
604 static int hf_h245_nonStandardData = -1;          /* NonStandardParameter */
605 static int hf_h245_nonStandardIdentifier = -1;    /* NonStandardIdentifier */
606 static int hf_h245_nsd_data = -1;                 /* T_nsd_data */
607 static int hf_h245_object = -1;                   /* T_object */
608 static int hf_h245_h221NonStandardID = -1;        /* H221NonStandardID */
609 static int hf_h245_t35CountryCode = -1;           /* T_t35CountryCode */
610 static int hf_h245_t35Extension = -1;             /* T_t35Extension */
611 static int hf_h245_manufacturerCode = -1;         /* T_manufacturerCode */
612 static int hf_h245_terminalType = -1;             /* INTEGER_0_255 */
613 static int hf_h245_statusDeterminationNumber = -1;  /* INTEGER_0_16777215 */
614 static int hf_h245_decision = -1;                 /* T_decision */
615 static int hf_h245_master = -1;                   /* NULL */
616 static int hf_h245_slave = -1;                    /* NULL */
617 static int hf_h245_msd_rej_cause = -1;            /* MasterSlaveDeterminationRejectCause */
618 static int hf_h245_identicalNumbers = -1;         /* NULL */
619 static int hf_h245_sequenceNumber = -1;           /* SequenceNumber */
620 static int hf_h245_protocolIdentifier = -1;       /* OBJECT_IDENTIFIER */
621 static int hf_h245_multiplexCapability = -1;      /* MultiplexCapability */
622 static int hf_h245_capabilityTable = -1;          /* SET_SIZE_1_256_OF_CapabilityTableEntry */
623 static int hf_h245_capabilityTable_item = -1;     /* CapabilityTableEntry */
624 static int hf_h245_capabilityDescriptors = -1;    /* SET_SIZE_1_256_OF_CapabilityDescriptor */
625 static int hf_h245_capabilityDescriptors_item = -1;  /* CapabilityDescriptor */
626 static int hf_h245_genericInformation = -1;       /* SEQUENCE_OF_GenericInformation */
627 static int hf_h245_genericInformation_item = -1;  /* GenericInformation */
628 static int hf_h245_capabilityTableEntryNumber = -1;  /* CapabilityTableEntryNumber */
629 static int hf_h245_capability = -1;               /* Capability */
630 static int hf_h245_capabilityDescriptorNumber = -1;  /* CapabilityDescriptorNumber */
631 static int hf_h245_simultaneousCapabilities = -1;  /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
632 static int hf_h245_simultaneousCapabilities_item = -1;  /* AlternativeCapabilitySet */
633 static int hf_h245_AlternativeCapabilitySet_item = -1;  /* CapabilityTableEntryNumber */
634 static int hf_h245_tcs_rej_cause = -1;            /* TerminalCapabilitySetRejectCause */
635 static int hf_h245_unspecified = -1;              /* NULL */
636 static int hf_h245_undefinedTableEntryUsed = -1;  /* NULL */
637 static int hf_h245_descriptorCapacityExceeded = -1;  /* NULL */
638 static int hf_h245_tableEntryCapacityExceeded = -1;  /* T_tableEntryCapacityExceeded */
639 static int hf_h245_highestEntryNumberProcessed = -1;  /* CapabilityTableEntryNumber */
640 static int hf_h245_noneProcessed = -1;            /* NULL */
641 static int hf_h245_nonStandard = -1;              /* NonStandardParameter */
642 static int hf_h245_receiveVideoCapability = -1;   /* VideoCapability */
643 static int hf_h245_transmitVideoCapability = -1;  /* VideoCapability */
644 static int hf_h245_receiveAndTransmitVideoCapability = -1;  /* VideoCapability */
645 static int hf_h245_receiveAudioCapability = -1;   /* AudioCapability */
646 static int hf_h245_transmitAudioCapability = -1;  /* AudioCapability */
647 static int hf_h245_receiveAndTransmitAudioCapability = -1;  /* AudioCapability */
648 static int hf_h245_receiveDataApplicationCapability = -1;  /* DataApplicationCapability */
649 static int hf_h245_transmitDataApplicationCapability = -1;  /* DataApplicationCapability */
650 static int hf_h245_receiveAndTransmitDataApplicationCapability = -1;  /* DataApplicationCapability */
651 static int hf_h245_h233EncryptionTransmitCapability = -1;  /* BOOLEAN */
652 static int hf_h245_h233EncryptionReceiveCapability = -1;  /* T_h233EncryptionReceiveCapability */
653 static int hf_h245_h233IVResponseTime = -1;       /* INTEGER_0_255 */
654 static int hf_h245_conferenceCapability = -1;     /* ConferenceCapability */
655 static int hf_h245_h235SecurityCapability = -1;   /* H235SecurityCapability */
656 static int hf_h245_maxPendingReplacementFor = -1;  /* INTEGER_0_255 */
657 static int hf_h245_receiveUserInputCapability = -1;  /* UserInputCapability */
658 static int hf_h245_transmitUserInputCapability = -1;  /* UserInputCapability */
659 static int hf_h245_receiveAndTransmitUserInputCapability = -1;  /* UserInputCapability */
660 static int hf_h245_genericControlCapability = -1;  /* GenericCapability */
661 static int hf_h245_receiveMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
662 static int hf_h245_transmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
663 static int hf_h245_receiveAndTransmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
664 static int hf_h245_receiveRTPAudioTelephonyEventCapability = -1;  /* AudioTelephonyEventCapability */
665 static int hf_h245_receiveRTPAudioToneCapability = -1;  /* AudioToneCapability */
666 static int hf_h245_depFecCapability = -1;         /* DepFECCapability */
667 static int hf_h245_multiplePayloadStreamCapability = -1;  /* MultiplePayloadStreamCapability */
668 static int hf_h245_fecCapability = -1;            /* FECCapability */
669 static int hf_h245_redundancyEncodingCap = -1;    /* RedundancyEncodingCapability */
670 static int hf_h245_oneOfCapabilities = -1;        /* AlternativeCapabilitySet */
671 static int hf_h245_encryptionAuthenticationAndIntegrity = -1;  /* EncryptionAuthenticationAndIntegrity */
672 static int hf_h245_mediaCapability = -1;          /* CapabilityTableEntryNumber */
673 static int hf_h245_h222Capability = -1;           /* H222Capability */
674 static int hf_h245_h223Capability = -1;           /* H223Capability */
675 static int hf_h245_v76Capability = -1;            /* V76Capability */
676 static int hf_h245_h2250Capability = -1;          /* H2250Capability */
677 static int hf_h245_genericMultiplexCapability = -1;  /* GenericCapability */
678 static int hf_h245_numberOfVCs = -1;              /* INTEGER_1_256 */
679 static int hf_h245_vcCapability = -1;             /* SET_OF_VCCapability */
680 static int hf_h245_vcCapability_item = -1;        /* VCCapability */
681 static int hf_h245_aal1 = -1;                     /* T_aal1 */
682 static int hf_h245_nullClockRecovery = -1;        /* BOOLEAN */
683 static int hf_h245_srtsClockRecovery_bool = -1;   /* BOOLEAN */
684 static int hf_h245_adaptiveClockRecovery = -1;    /* BOOLEAN */
685 static int hf_h245_nullErrorCorrection = -1;      /* BOOLEAN */
686 static int hf_h245_longInterleaver = -1;          /* BOOLEAN */
687 static int hf_h245_shortInterleaver = -1;         /* BOOLEAN */
688 static int hf_h245_errorCorrectionOnly = -1;      /* BOOLEAN */
689 static int hf_h245_structuredDataTransfer = -1;   /* BOOLEAN */
690 static int hf_h245_partiallyFilledCells = -1;     /* BOOLEAN */
691 static int hf_h245_aal5 = -1;                     /* T_aal5 */
692 static int hf_h245_forwardMaximumSDUSize = -1;    /* INTEGER_0_65535 */
693 static int hf_h245_backwardMaximumSDUSize = -1;   /* INTEGER_0_65535 */
694 static int hf_h245_transportStream_bool = -1;     /* BOOLEAN */
695 static int hf_h245_programStream = -1;            /* BOOLEAN */
696 static int hf_h245_availableBitRates = -1;        /* T_availableBitRates */
697 static int hf_h245_avb_type = -1;                 /* Avb_type */
698 static int hf_h245_singleBitRate = -1;            /* INTEGER_1_65535 */
699 static int hf_h245_rangeOfBitRates = -1;          /* T_rangeOfBitRates */
700 static int hf_h245_lowerBitRate = -1;             /* INTEGER_1_65535 */
701 static int hf_h245_higherBitRate = -1;            /* INTEGER_1_65535 */
702 static int hf_h245_aal1ViaGateway = -1;           /* T_aal1ViaGateway */
703 static int hf_h245_gatewayAddress = -1;           /* SET_SIZE_1_256_OF_Q2931Address */
704 static int hf_h245_gatewayAddress_item = -1;      /* Q2931Address */
705 static int hf_h245_srtsClockRecoveryflag = -1;    /* BOOLEAN */
706 static int hf_h245_transportWithI_frames = -1;    /* BOOLEAN */
707 static int hf_h245_videoWithAL1 = -1;             /* BOOLEAN */
708 static int hf_h245_videoWithAL2 = -1;             /* BOOLEAN */
709 static int hf_h245_videoWithAL3 = -1;             /* BOOLEAN */
710 static int hf_h245_audioWithAL1 = -1;             /* BOOLEAN */
711 static int hf_h245_audioWithAL2 = -1;             /* BOOLEAN */
712 static int hf_h245_audioWithAL3 = -1;             /* BOOLEAN */
713 static int hf_h245_dataWithAL1 = -1;              /* BOOLEAN */
714 static int hf_h245_dataWithAL2 = -1;              /* BOOLEAN */
715 static int hf_h245_dataWithAL3 = -1;              /* BOOLEAN */
716 static int hf_h245_maximumAl2SDUSize = -1;        /* INTEGER_0_65535 */
717 static int hf_h245_maximumAl3SDUSize = -1;        /* INTEGER_0_65535 */
718 static int hf_h245_maximumDelayJitter = -1;       /* INTEGER_0_1023 */
719 static int hf_h245_h223MultiplexTableCapability = -1;  /* T_h223MultiplexTableCapability */
720 static int hf_h245_basic = -1;                    /* NULL */
721 static int hf_h245_enhanced = -1;                 /* T_enhanced */
722 static int hf_h245_maximumNestingDepth = -1;      /* INTEGER_1_15 */
723 static int hf_h245_maximumElementListSize = -1;   /* INTEGER_2_255 */
724 static int hf_h245_maximumSubElementListSize = -1;  /* INTEGER_2_255 */
725 static int hf_h245_maxMUXPDUSizeCapability = -1;  /* BOOLEAN */
726 static int hf_h245_nsrpSupport = -1;              /* BOOLEAN */
727 static int hf_h245_mobileOperationTransmitCapability = -1;  /* T_mobileOperationTransmitCapability */
728 static int hf_h245_modeChangeCapability = -1;     /* BOOLEAN */
729 static int hf_h245_h223AnnexA = -1;               /* BOOLEAN */
730 static int hf_h245_h223AnnexADoubleFlagFlag = -1;  /* BOOLEAN */
731 static int hf_h245_h223AnnexB = -1;               /* BOOLEAN */
732 static int hf_h245_h223AnnexBwithHeader = -1;     /* BOOLEAN */
733 static int hf_h245_h223AnnexCCapability = -1;     /* H223AnnexCCapability */
734 static int hf_h245_bitRate_1_19200 = -1;          /* INTEGER_1_19200 */
735 static int hf_h245_mobileMultilinkFrameCapability = -1;  /* T_mobileMultilinkFrameCapability */
736 static int hf_h245_maximumSampleSize = -1;        /* INTEGER_1_255 */
737 static int hf_h245_maximumPayloadLength = -1;     /* INTEGER_1_65025 */
738 static int hf_h245_videoWithAL1M = -1;            /* BOOLEAN */
739 static int hf_h245_videoWithAL2M = -1;            /* BOOLEAN */
740 static int hf_h245_videoWithAL3M = -1;            /* BOOLEAN */
741 static int hf_h245_audioWithAL1M = -1;            /* BOOLEAN */
742 static int hf_h245_audioWithAL2M = -1;            /* BOOLEAN */
743 static int hf_h245_audioWithAL3M = -1;            /* BOOLEAN */
744 static int hf_h245_dataWithAL1M = -1;             /* BOOLEAN */
745 static int hf_h245_dataWithAL2M = -1;             /* BOOLEAN */
746 static int hf_h245_dataWithAL3M = -1;             /* BOOLEAN */
747 static int hf_h245_alpduInterleaving = -1;        /* BOOLEAN */
748 static int hf_h245_maximumAL1MPDUSize = -1;       /* INTEGER_0_65535 */
749 static int hf_h245_maximumAL2MSDUSize = -1;       /* INTEGER_0_65535 */
750 static int hf_h245_maximumAL3MSDUSize = -1;       /* INTEGER_0_65535 */
751 static int hf_h245_rsCodeCapability = -1;         /* BOOLEAN */
752 static int hf_h245_suspendResumeCapabilitywAddress = -1;  /* BOOLEAN */
753 static int hf_h245_suspendResumeCapabilitywoAddress = -1;  /* BOOLEAN */
754 static int hf_h245_rejCapability = -1;            /* BOOLEAN */
755 static int hf_h245_sREJCapability = -1;           /* BOOLEAN */
756 static int hf_h245_mREJCapability = -1;           /* BOOLEAN */
757 static int hf_h245_crc8bitCapability = -1;        /* BOOLEAN */
758 static int hf_h245_crc16bitCapability = -1;       /* BOOLEAN */
759 static int hf_h245_crc32bitCapability = -1;       /* BOOLEAN */
760 static int hf_h245_uihCapability = -1;            /* BOOLEAN */
761 static int hf_h245_numOfDLCS = -1;                /* INTEGER_2_8191 */
762 static int hf_h245_twoOctetAddressFieldCapability = -1;  /* BOOLEAN */
763 static int hf_h245_loopBackTestCapability = -1;   /* BOOLEAN */
764 static int hf_h245_n401Capability = -1;           /* INTEGER_1_4095 */
765 static int hf_h245_maxWindowSizeCapability = -1;  /* INTEGER_1_127 */
766 static int hf_h245_v75Capability = -1;            /* V75Capability */
767 static int hf_h245_audioHeader = -1;              /* BOOLEAN */
768 static int hf_h245_maximumAudioDelayJitter = -1;  /* INTEGER_0_1023 */
769 static int hf_h245_receiveMultipointCapability = -1;  /* MultipointCapability */
770 static int hf_h245_transmitMultipointCapability = -1;  /* MultipointCapability */
771 static int hf_h245_receiveAndTransmitMultipointCapability = -1;  /* MultipointCapability */
772 static int hf_h245_mcCapability = -1;             /* T_mcCapability */
773 static int hf_h245_centralizedConferenceMC = -1;  /* BOOLEAN */
774 static int hf_h245_decentralizedConferenceMC = -1;  /* BOOLEAN */
775 static int hf_h245_rtcpVideoControlCapability = -1;  /* BOOLEAN */
776 static int hf_h245_mediaPacketizationCapability = -1;  /* MediaPacketizationCapability */
777 static int hf_h245_transportCapability = -1;      /* TransportCapability */
778 static int hf_h245_redundancyEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability */
779 static int hf_h245_redundancyEncodingCapability_item = -1;  /* RedundancyEncodingCapability */
780 static int hf_h245_logicalChannelSwitchingCapability = -1;  /* BOOLEAN */
781 static int hf_h245_t120DynamicPortCapability = -1;  /* BOOLEAN */
782 static int hf_h245_h261aVideoPacketization = -1;  /* BOOLEAN */
783 static int hf_h245_rtpPayloadTypes = -1;          /* SEQUENCE_SIZE_1_256_OF_RTPPayloadType */
784 static int hf_h245_rtpPayloadTypes_item = -1;     /* RTPPayloadType */
785 static int hf_h245_qosMode = -1;                  /* QOSMode */
786 static int hf_h245_tokenRate = -1;                /* INTEGER_1_4294967295 */
787 static int hf_h245_bucketSize = -1;               /* INTEGER_1_4294967295 */
788 static int hf_h245_peakRate = -1;                 /* INTEGER_1_4294967295 */
789 static int hf_h245_minPoliced = -1;               /* INTEGER_1_4294967295 */
790 static int hf_h245_maxPktSize = -1;               /* INTEGER_1_4294967295 */
791 static int hf_h245_guaranteedQOS = -1;            /* NULL */
792 static int hf_h245_controlledLoad = -1;           /* NULL */
793 static int hf_h245_maxNTUSize = -1;               /* INTEGER_0_65535 */
794 static int hf_h245_atmUBR = -1;                   /* BOOLEAN */
795 static int hf_h245_atmrtVBR = -1;                 /* BOOLEAN */
796 static int hf_h245_atmnrtVBR = -1;                /* BOOLEAN */
797 static int hf_h245_atmABR = -1;                   /* BOOLEAN */
798 static int hf_h245_atmCBR = -1;                   /* BOOLEAN */
799 static int hf_h245_nonStandardParameter = -1;     /* NonStandardParameter */
800 static int hf_h245_value = -1;                    /* INTEGER_0_255 */
801 static int hf_h245_servicePrioritySignalled = -1;  /* BOOLEAN */
802 static int hf_h245_servicePriorityValue = -1;     /* ServicePriorityValue */
803 static int hf_h245_serviceClass = -1;             /* INTEGER_0_4095 */
804 static int hf_h245_serviceSubclass = -1;          /* INTEGER_0_255 */
805 static int hf_h245_desired = -1;                  /* NULL */
806 static int hf_h245_required = -1;                 /* NULL */
807 static int hf_h245_class0 = -1;                   /* NULL */
808 static int hf_h245_class1 = -1;                   /* NULL */
809 static int hf_h245_class2 = -1;                   /* NULL */
810 static int hf_h245_class3 = -1;                   /* NULL */
811 static int hf_h245_class4 = -1;                   /* NULL */
812 static int hf_h245_class5 = -1;                   /* NULL */
813 static int hf_h245_qosType = -1;                  /* QOSType */
814 static int hf_h245_qosClass = -1;                 /* QOSClass */
815 static int hf_h245_averageRate = -1;              /* INTEGER_1_4294967295 */
816 static int hf_h245_burst = -1;                    /* INTEGER_1_4294967295 */
817 static int hf_h245_rsvpParameters = -1;           /* RSVPParameters */
818 static int hf_h245_atmParameters = -1;            /* ATMParameters */
819 static int hf_h245_localQoS = -1;                 /* BOOLEAN */
820 static int hf_h245_genericTransportParameters = -1;  /* GenericTransportParameters */
821 static int hf_h245_servicePriority = -1;          /* ServicePriority */
822 static int hf_h245_authorizationParameter = -1;   /* AuthorizationParameters */
823 static int hf_h245_qosDescriptor = -1;            /* QOSDescriptor */
824 static int hf_h245_dscpValue = -1;                /* INTEGER_0_63 */
825 static int hf_h245_ip_UDP = -1;                   /* NULL */
826 static int hf_h245_ip_TCP = -1;                   /* NULL */
827 static int hf_h245_atm_AAL5_UNIDIR = -1;          /* NULL */
828 static int hf_h245_atm_AAL5_BIDIR = -1;           /* NULL */
829 static int hf_h245_atm_AAL5_compressed = -1;      /* T_atm_AAL5_compressed */
830 static int hf_h245_variable_delta = -1;           /* BOOLEAN */
831 static int hf_h245_mediaTransport = -1;           /* MediaTransportType */
832 static int hf_h245_qOSCapabilities = -1;          /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
833 static int hf_h245_qOSCapabilities_item = -1;     /* QOSCapability */
834 static int hf_h245_mediaChannelCapabilities = -1;  /* SEQUENCE_SIZE_1_256_OF_MediaChannelCapability */
835 static int hf_h245_mediaChannelCapabilities_item = -1;  /* MediaChannelCapability */
836 static int hf_h245_redundancyEncodingMethod = -1;  /* RedundancyEncodingMethod */
837 static int hf_h245_primaryEncoding = -1;          /* CapabilityTableEntryNumber */
838 static int hf_h245_secondaryEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber */
839 static int hf_h245_secondaryEncodingCapability_item = -1;  /* CapabilityTableEntryNumber */
840 static int hf_h245_rtpAudioRedundancyEncoding = -1;  /* NULL */
841 static int hf_h245_rtpH263VideoRedundancyEncoding = -1;  /* RTPH263VideoRedundancyEncoding */
842 static int hf_h245_numberOfThreads = -1;          /* INTEGER_1_16 */
843 static int hf_h245_framesBetweenSyncPoints = -1;  /* INTEGER_1_256 */
844 static int hf_h245_frameToThreadMapping = -1;     /* T_frameToThreadMapping */
845 static int hf_h245_roundrobin = -1;               /* NULL */
846 static int hf_h245_custom = -1;                   /* SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping */
847 static int hf_h245_custom_item = -1;              /* RTPH263VideoRedundancyFrameMapping */
848 static int hf_h245_containedThreads = -1;         /* T_containedThreads */
849 static int hf_h245_containedThreads_item = -1;    /* INTEGER_0_15 */
850 static int hf_h245_threadNumber = -1;             /* INTEGER_0_15 */
851 static int hf_h245_frameSequence = -1;            /* T_frameSequence */
852 static int hf_h245_frameSequence_item = -1;       /* INTEGER_0_255 */
853 static int hf_h245_multicastCapability = -1;      /* BOOLEAN */
854 static int hf_h245_multiUniCastConference = -1;   /* BOOLEAN */
855 static int hf_h245_mediaDistributionCapability = -1;  /* SEQUENCE_OF_MediaDistributionCapability */
856 static int hf_h245_mediaDistributionCapability_item = -1;  /* MediaDistributionCapability */
857 static int hf_h245_centralizedControl = -1;       /* BOOLEAN */
858 static int hf_h245_distributedControl = -1;       /* BOOLEAN */
859 static int hf_h245_centralizedAudio = -1;         /* BOOLEAN */
860 static int hf_h245_distributedAudio = -1;         /* BOOLEAN */
861 static int hf_h245_centralizedVideo = -1;         /* BOOLEAN */
862 static int hf_h245_distributedVideo = -1;         /* BOOLEAN */
863 static int hf_h245_centralizedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
864 static int hf_h245_centralizedData_item = -1;     /* DataApplicationCapability */
865 static int hf_h245_distributedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
866 static int hf_h245_distributedData_item = -1;     /* DataApplicationCapability */
867 static int hf_h245_h261VideoCapability = -1;      /* H261VideoCapability */
868 static int hf_h245_h262VideoCapability = -1;      /* H262VideoCapability */
869 static int hf_h245_h263VideoCapability = -1;      /* H263VideoCapability */
870 static int hf_h245_is11172VideoCapability = -1;   /* IS11172VideoCapability */
871 static int hf_h245_genericVideoCapability = -1;   /* GenericCapability */
872 static int hf_h245_extendedVideoCapability = -1;  /* ExtendedVideoCapability */
873 static int hf_h245_videoCapability = -1;          /* SEQUENCE_OF_VideoCapability */
874 static int hf_h245_videoCapability_item = -1;     /* VideoCapability */
875 static int hf_h245_videoCapabilityExtension = -1;  /* SEQUENCE_OF_GenericCapability */
876 static int hf_h245_videoCapabilityExtension_item = -1;  /* GenericCapability */
877 static int hf_h245_qcifMPI_1_4 = -1;              /* INTEGER_1_4 */
878 static int hf_h245_cifMPI_1_4 = -1;               /* INTEGER_1_4 */
879 static int hf_h245_temporalSpatialTradeOffCapability = -1;  /* BOOLEAN */
880 static int hf_h245_maxBitRate_1_19200 = -1;       /* INTEGER_1_19200 */
881 static int hf_h245_stillImageTransmission = -1;   /* BOOLEAN */
882 static int hf_h245_videoBadMBsCap = -1;           /* BOOLEAN */
883 static int hf_h245_profileAndLevel_SPatML = -1;   /* BOOLEAN */
884 static int hf_h245_profileAndLevel_MPatLL = -1;   /* BOOLEAN */
885 static int hf_h245_profileAndLevel_MPatML = -1;   /* BOOLEAN */
886 static int hf_h245_profileAndLevel_MPatH_14 = -1;  /* BOOLEAN */
887 static int hf_h245_profileAndLevel_MPatHL = -1;   /* BOOLEAN */
888 static int hf_h245_profileAndLevel_SNRatLL = -1;  /* BOOLEAN */
889 static int hf_h245_profileAndLevel_SNRatML = -1;  /* BOOLEAN */
890 static int hf_h245_profileAndLevel_SpatialatH_14 = -1;  /* BOOLEAN */
891 static int hf_h245_profileAndLevel_HPatML = -1;   /* BOOLEAN */
892 static int hf_h245_profileAndLevel_HPatH_14 = -1;  /* BOOLEAN */
893 static int hf_h245_profileAndLevel_HPatHL = -1;   /* BOOLEAN */
894 static int hf_h245_videoBitRate = -1;             /* INTEGER_0_1073741823 */
895 static int hf_h245_vbvBufferSize = -1;            /* INTEGER_0_262143 */
896 static int hf_h245_samplesPerLine = -1;           /* INTEGER_0_16383 */
897 static int hf_h245_linesPerFrame = -1;            /* INTEGER_0_16383 */
898 static int hf_h245_framesPerSecond = -1;          /* INTEGER_0_15 */
899 static int hf_h245_luminanceSampleRate = -1;      /* INTEGER_0_4294967295 */
900 static int hf_h245_sqcifMPI_1_32 = -1;            /* INTEGER_1_32 */
901 static int hf_h245_qcifMPI = -1;                  /* INTEGER_1_32 */
902 static int hf_h245_cifMPI = -1;                   /* INTEGER_1_32 */
903 static int hf_h245_cif4MPI_1_32 = -1;             /* INTEGER_1_32 */
904 static int hf_h245_cif16MPI_1_32 = -1;            /* INTEGER_1_32 */
905 static int hf_h245_maxBitRate = -1;               /* INTEGER_1_192400 */
906 static int hf_h245_unrestrictedVector = -1;       /* BOOLEAN */
907 static int hf_h245_arithmeticCoding = -1;         /* BOOLEAN */
908 static int hf_h245_advancedPrediction = -1;       /* BOOLEAN */
909 static int hf_h245_pbFrames = -1;                 /* BOOLEAN */
910 static int hf_h245_hrd_B = -1;                    /* INTEGER_0_524287 */
911 static int hf_h245_bppMaxKb = -1;                 /* INTEGER_0_65535 */
912 static int hf_h245_slowSqcifMPI = -1;             /* INTEGER_1_3600 */
913 static int hf_h245_slowQcifMPI = -1;              /* INTEGER_1_3600 */
914 static int hf_h245_slowCifMPI = -1;               /* INTEGER_1_3600 */
915 static int hf_h245_slowCif4MPI = -1;              /* INTEGER_1_3600 */
916 static int hf_h245_slowCif16MPI = -1;             /* INTEGER_1_3600 */
917 static int hf_h245_errorCompensation = -1;        /* BOOLEAN */
918 static int hf_h245_enhancementLayerInfo = -1;     /* EnhancementLayerInfo */
919 static int hf_h245_h263Options = -1;              /* H263Options */
920 static int hf_h245_baseBitRateConstrained = -1;   /* BOOLEAN */
921 static int hf_h245_snrEnhancement = -1;           /* SET_SIZE_1_14_OF_EnhancementOptions */
922 static int hf_h245_snrEnhancement_item = -1;      /* EnhancementOptions */
923 static int hf_h245_spatialEnhancement = -1;       /* SET_SIZE_1_14_OF_EnhancementOptions */
924 static int hf_h245_spatialEnhancement_item = -1;  /* EnhancementOptions */
925 static int hf_h245_bPictureEnhancement = -1;      /* SET_SIZE_1_14_OF_BEnhancementParameters */
926 static int hf_h245_bPictureEnhancement_item = -1;  /* BEnhancementParameters */
927 static int hf_h245_enhancementOptions = -1;       /* EnhancementOptions */
928 static int hf_h245_numberOfBPictures = -1;        /* INTEGER_1_64 */
929 static int hf_h245_advancedIntraCodingMode = -1;  /* BOOLEAN */
930 static int hf_h245_deblockingFilterMode = -1;     /* BOOLEAN */
931 static int hf_h245_improvedPBFramesMode = -1;     /* BOOLEAN */
932 static int hf_h245_unlimitedMotionVectors = -1;   /* BOOLEAN */
933 static int hf_h245_fullPictureFreeze = -1;        /* BOOLEAN */
934 static int hf_h245_partialPictureFreezeAndRelease = -1;  /* BOOLEAN */
935 static int hf_h245_resizingPartPicFreezeAndRelease = -1;  /* BOOLEAN */
936 static int hf_h245_fullPictureSnapshot = -1;      /* BOOLEAN */
937 static int hf_h245_partialPictureSnapshot = -1;   /* BOOLEAN */
938 static int hf_h245_videoSegmentTagging = -1;      /* BOOLEAN */
939 static int hf_h245_progressiveRefinement = -1;    /* BOOLEAN */
940 static int hf_h245_dynamicPictureResizingByFour = -1;  /* BOOLEAN */
941 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;  /* BOOLEAN */
942 static int hf_h245_dynamicWarpingHalfPel = -1;    /* BOOLEAN */
943 static int hf_h245_dynamicWarpingSixteenthPel = -1;  /* BOOLEAN */
944 static int hf_h245_independentSegmentDecoding = -1;  /* BOOLEAN */
945 static int hf_h245_slicesInOrder_NonRect = -1;    /* BOOLEAN */
946 static int hf_h245_slicesInOrder_Rect = -1;       /* BOOLEAN */
947 static int hf_h245_slicesNoOrder_NonRect = -1;    /* BOOLEAN */
948 static int hf_h245_slicesNoOrder_Rect = -1;       /* BOOLEAN */
949 static int hf_h245_alternateInterVLCMode = -1;    /* BOOLEAN */
950 static int hf_h245_modifiedQuantizationMode = -1;  /* BOOLEAN */
951 static int hf_h245_reducedResolutionUpdate = -1;  /* BOOLEAN */
952 static int hf_h245_transparencyParameters = -1;   /* TransparencyParameters */
953 static int hf_h245_separateVideoBackChannel = -1;  /* BOOLEAN */
954 static int hf_h245_refPictureSelection = -1;      /* RefPictureSelection */
955 static int hf_h245_customPictureClockFrequency = -1;  /* SET_SIZE_1_16_OF_CustomPictureClockFrequency */
956 static int hf_h245_customPictureClockFrequency_item = -1;  /* CustomPictureClockFrequency */
957 static int hf_h245_customPictureFormat = -1;      /* SET_SIZE_1_16_OF_CustomPictureFormat */
958 static int hf_h245_customPictureFormat_item = -1;  /* CustomPictureFormat */
959 static int hf_h245_modeCombos = -1;               /* SET_SIZE_1_16_OF_H263VideoModeCombos */
960 static int hf_h245_modeCombos_item = -1;          /* H263VideoModeCombos */
961 static int hf_h245_h263Version3Options = -1;      /* H263Version3Options */
962 static int hf_h245_presentationOrder = -1;        /* INTEGER_1_256 */
963 static int hf_h245_offset_x = -1;                 /* INTEGER_M262144_262143 */
964 static int hf_h245_offset_y = -1;                 /* INTEGER_M262144_262143 */
965 static int hf_h245_scale_x = -1;                  /* INTEGER_1_255 */
966 static int hf_h245_scale_y = -1;                  /* INTEGER_1_255 */
967 static int hf_h245_additionalPictureMemory = -1;  /* T_additionalPictureMemory */
968 static int hf_h245_sqcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
969 static int hf_h245_qcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
970 static int hf_h245_cifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
971 static int hf_h245_cif4AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
972 static int hf_h245_cif16AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
973 static int hf_h245_bigCpfAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
974 static int hf_h245_videoMux = -1;                 /* BOOLEAN */
975 static int hf_h245_videoBackChannelSend = -1;     /* T_videoBackChannelSend */
976 static int hf_h245_none = -1;                     /* NULL */
977 static int hf_h245_ackMessageOnly = -1;           /* NULL */
978 static int hf_h245_nackMessageOnly = -1;          /* NULL */
979 static int hf_h245_ackOrNackMessageOnly = -1;     /* NULL */
980 static int hf_h245_ackAndNackMessage = -1;        /* NULL */
981 static int hf_h245_enhancedReferencePicSelect = -1;  /* T_enhancedReferencePicSelect */
982 static int hf_h245_subPictureRemovalParameters = -1;  /* T_subPictureRemovalParameters */
983 static int hf_h245_mpuHorizMBs = -1;              /* INTEGER_1_128 */
984 static int hf_h245_mpuVertMBs = -1;               /* INTEGER_1_72 */
985 static int hf_h245_mpuTotalNumber = -1;           /* INTEGER_1_65536 */
986 static int hf_h245_clockConversionCode = -1;      /* INTEGER_1000_1001 */
987 static int hf_h245_clockDivisor = -1;             /* INTEGER_1_127 */
988 static int hf_h245_sqcifMPI = -1;                 /* INTEGER_1_2048 */
989 static int hf_h245_qcifMPI_1_2048 = -1;           /* INTEGER_1_2048 */
990 static int hf_h245_cifMPI2_1_2048 = -1;           /* INTEGER_1_2048 */
991 static int hf_h245_cif4MPI = -1;                  /* INTEGER_1_2048 */
992 static int hf_h245_cif16MPI = -1;                 /* INTEGER_1_2048 */
993 static int hf_h245_maxCustomPictureWidth = -1;    /* INTEGER_1_2048 */
994 static int hf_h245_maxCustomPictureHeight = -1;   /* INTEGER_1_2048 */
995 static int hf_h245_minCustomPictureWidth = -1;    /* INTEGER_1_2048 */
996 static int hf_h245_minCustomPictureHeight = -1;   /* INTEGER_1_2048 */
997 static int hf_h245_mPI = -1;                      /* T_mPI */
998 static int hf_h245_standardMPI = -1;              /* INTEGER_1_31 */
999 static int hf_h245_customPCF = -1;                /* T_customPCF */
1000 static int hf_h245_customPCF_item = -1;           /* T_customPCF_item */
1001 static int hf_h245_customMPI = -1;                /* INTEGER_1_2048 */
1002 static int hf_h245_pixelAspectInformation = -1;   /* T_pixelAspectInformation */
1003 static int hf_h245_anyPixelAspectRatio = -1;      /* BOOLEAN */
1004 static int hf_h245_pixelAspectCode = -1;          /* T_pixelAspectCode */
1005 static int hf_h245_pixelAspectCode_item = -1;     /* INTEGER_1_14 */
1006 static int hf_h245_extendedPAR = -1;              /* T_extendedPAR */
1007 static int hf_h245_extendedPAR_item = -1;         /* T_extendedPAR_item */
1008 static int hf_h245_width = -1;                    /* INTEGER_1_255 */
1009 static int hf_h245_height = -1;                   /* INTEGER_1_255 */
1010 static int hf_h245_h263VideoUncoupledModes = -1;  /* H263ModeComboFlags */
1011 static int hf_h245_h263VideoCoupledModes = -1;    /* SET_SIZE_1_16_OF_H263ModeComboFlags */
1012 static int hf_h245_h263VideoCoupledModes_item = -1;  /* H263ModeComboFlags */
1013 static int hf_h245_referencePicSelect = -1;       /* BOOLEAN */
1014 static int hf_h245_enhancedReferencePicSelectBool = -1;  /* BOOLEAN */
1015 static int hf_h245_dataPartitionedSlices = -1;    /* BOOLEAN */
1016 static int hf_h245_fixedPointIDCT0 = -1;          /* BOOLEAN */
1017 static int hf_h245_interlacedFields = -1;         /* BOOLEAN */
1018 static int hf_h245_currentPictureHeaderRepetition = -1;  /* BOOLEAN */
1019 static int hf_h245_previousPictureHeaderRepetition = -1;  /* BOOLEAN */
1020 static int hf_h245_nextPictureHeaderRepetition = -1;  /* BOOLEAN */
1021 static int hf_h245_pictureNumberBoolean = -1;     /* BOOLEAN */
1022 static int hf_h245_spareReferencePictures = -1;   /* BOOLEAN */
1023 static int hf_h245_constrainedBitstream = -1;     /* BOOLEAN */
1024 static int hf_h245_pictureRate = -1;              /* INTEGER_0_15 */
1025 static int hf_h245_g711Alaw64k = -1;              /* INTEGER_1_256 */
1026 static int hf_h245_g711Alaw56k = -1;              /* INTEGER_1_256 */
1027 static int hf_h245_g711Ulaw64k = -1;              /* INTEGER_1_256 */
1028 static int hf_h245_g711Ulaw56k = -1;              /* INTEGER_1_256 */
1029 static int hf_h245_g722_64k = -1;                 /* INTEGER_1_256 */
1030 static int hf_h245_g722_56k = -1;                 /* INTEGER_1_256 */
1031 static int hf_h245_g722_48k = -1;                 /* INTEGER_1_256 */
1032 static int hf_h245_g7231 = -1;                    /* T_g7231 */
1033 static int hf_h245_maxAl_sduAudioFrames = -1;     /* INTEGER_1_256 */
1034 static int hf_h245_silenceSuppression = -1;       /* BOOLEAN */
1035 static int hf_h245_g728 = -1;                     /* INTEGER_1_256 */
1036 static int hf_h245_g729 = -1;                     /* INTEGER_1_256 */
1037 static int hf_h245_g729AnnexA = -1;               /* INTEGER_1_256 */
1038 static int hf_h245_is11172AudioCapability = -1;   /* IS11172AudioCapability */
1039 static int hf_h245_is13818AudioCapability = -1;   /* IS13818AudioCapability */
1040 static int hf_h245_g729wAnnexB = -1;              /* INTEGER_1_256 */
1041 static int hf_h245_g729AnnexAwAnnexB = -1;        /* INTEGER_1_256 */
1042 static int hf_h245_g7231AnnexCCapability = -1;    /* G7231AnnexCCapability */
1043 static int hf_h245_gsmFullRate = -1;              /* GSMAudioCapability */
1044 static int hf_h245_gsmHalfRate = -1;              /* GSMAudioCapability */
1045 static int hf_h245_gsmEnhancedFullRate = -1;      /* GSMAudioCapability */
1046 static int hf_h245_genericAudioCapability = -1;   /* GenericCapability */
1047 static int hf_h245_g729Extensions = -1;           /* G729Extensions */
1048 static int hf_h245_vbd = -1;                      /* VBDCapability */
1049 static int hf_h245_audioTelephonyEvent = -1;      /* NoPTAudioTelephonyEventCapability */
1050 static int hf_h245_audioTone = -1;                /* NoPTAudioToneCapability */
1051 static int hf_h245_audioUnit = -1;                /* INTEGER_1_256 */
1052 static int hf_h245_annexA = -1;                   /* BOOLEAN */
1053 static int hf_h245_annexB = -1;                   /* BOOLEAN */
1054 static int hf_h245_annexD = -1;                   /* BOOLEAN */
1055 static int hf_h245_annexE = -1;                   /* BOOLEAN */
1056 static int hf_h245_annexF = -1;                   /* BOOLEAN */
1057 static int hf_h245_annexG = -1;                   /* BOOLEAN */
1058 static int hf_h245_annexH = -1;                   /* BOOLEAN */
1059 static int hf_h245_highRateMode0 = -1;            /* INTEGER_27_78 */
1060 static int hf_h245_highRateMode1 = -1;            /* INTEGER_27_78 */
1061 static int hf_h245_lowRateMode0 = -1;             /* INTEGER_23_66 */
1062 static int hf_h245_lowRateMode1 = -1;             /* INTEGER_23_66 */
1063 static int hf_h245_sidMode0 = -1;                 /* INTEGER_6_17 */
1064 static int hf_h245_sidMode1 = -1;                 /* INTEGER_6_17 */
1065 static int hf_h245_g723AnnexCAudioMode = -1;      /* G723AnnexCAudioMode */
1066 static int hf_h245_audioLayer1 = -1;              /* BOOLEAN */
1067 static int hf_h245_audioLayer2 = -1;              /* BOOLEAN */
1068 static int hf_h245_audioLayer3 = -1;              /* BOOLEAN */
1069 static int hf_h245_audioSampling32k = -1;         /* BOOLEAN */
1070 static int hf_h245_audioSampling44k1 = -1;        /* BOOLEAN */
1071 static int hf_h245_audioSampling48k = -1;         /* BOOLEAN */
1072 static int hf_h245_singleChannel = -1;            /* BOOLEAN */
1073 static int hf_h245_twoChannels = -1;              /* BOOLEAN */
1074 static int hf_h245_bitRate_1_448 = -1;            /* INTEGER_1_448 */
1075 static int hf_h245_audioSampling16k = -1;         /* BOOLEAN */
1076 static int hf_h245_audioSampling22k05 = -1;       /* BOOLEAN */
1077 static int hf_h245_audioSampling24k = -1;         /* BOOLEAN */
1078 static int hf_h245_threeChannels2_1 = -1;         /* BOOLEAN */
1079 static int hf_h245_threeChannels3_0 = -1;         /* BOOLEAN */
1080 static int hf_h245_fourChannels2_0_2_0 = -1;      /* BOOLEAN */
1081 static int hf_h245_fourChannels2_2 = -1;          /* BOOLEAN */
1082 static int hf_h245_fourChannels3_1 = -1;          /* BOOLEAN */
1083 static int hf_h245_fiveChannels3_0_2_0 = -1;      /* BOOLEAN */
1084 static int hf_h245_fiveChannels3_2 = -1;          /* BOOLEAN */
1085 static int hf_h245_lowFrequencyEnhancement = -1;  /* BOOLEAN */
1086 static int hf_h245_multilingual = -1;             /* BOOLEAN */
1087 static int hf_h245_bitRate2_1_1130 = -1;          /* INTEGER_1_1130 */
1088 static int hf_h245_audioUnitSize = -1;            /* INTEGER_1_256 */
1089 static int hf_h245_comfortNoise = -1;             /* BOOLEAN */
1090 static int hf_h245_scrambled = -1;                /* BOOLEAN */
1091 static int hf_h245_vbd_cap_type = -1;             /* AudioCapability */
1092 static int hf_h245_t120 = -1;                     /* DataProtocolCapability */
1093 static int hf_h245_dsm_cc = -1;                   /* DataProtocolCapability */
1094 static int hf_h245_userData = -1;                 /* DataProtocolCapability */
1095 static int hf_h245_t84 = -1;                      /* T_t84 */
1096 static int hf_h245_t84Protocol = -1;              /* DataProtocolCapability */
1097 static int hf_h245_t84Profile = -1;               /* T84Profile */
1098 static int hf_h245_t434 = -1;                     /* DataProtocolCapability */
1099 static int hf_h245_h224 = -1;                     /* DataProtocolCapability */
1100 static int hf_h245_nlpidProtocol = -1;            /* DataProtocolCapability */
1101 static int hf_h245_nlpidData = -1;                /* OCTET_STRING */
1102 static int hf_h245_nlpid = -1;                    /* Nlpid */
1103 static int hf_h245_dsvdControl = -1;              /* NULL */
1104 static int hf_h245_h222DataPartitioning = -1;     /* DataProtocolCapability */
1105 static int hf_h245_t30fax = -1;                   /* DataProtocolCapability */
1106 static int hf_h245_t140 = -1;                     /* DataProtocolCapability */
1107 static int hf_h245_t38fax = -1;                   /* T_t38fax */
1108 static int hf_h245_t38FaxProtocol = -1;           /* DataProtocolCapability */
1109 static int hf_h245_t38FaxProfile = -1;            /* T38FaxProfile */
1110 static int hf_h245_genericDataCapability = -1;    /* GenericCapability */
1111 static int hf_h245_application = -1;              /* Application */
1112 static int hf_h245_maxBitRate2_0_4294967295 = -1;  /* INTEGER_0_4294967295 */
1113 static int hf_h245_v14buffered = -1;              /* NULL */
1114 static int hf_h245_v42lapm = -1;                  /* NULL */
1115 static int hf_h245_hdlcFrameTunnelling = -1;      /* NULL */
1116 static int hf_h245_h310SeparateVCStack = -1;      /* NULL */
1117 static int hf_h245_h310SingleVCStack = -1;        /* NULL */
1118 static int hf_h245_transparent = -1;              /* NULL */
1119 static int hf_h245_segmentationAndReassembly = -1;  /* NULL */
1120 static int hf_h245_hdlcFrameTunnelingwSAR = -1;   /* NULL */
1121 static int hf_h245_v120 = -1;                     /* NULL */
1122 static int hf_h245_separateLANStack = -1;         /* NULL */
1123 static int hf_h245_v76wCompression = -1;          /* T_v76wCompression */
1124 static int hf_h245_transmitCompression = -1;      /* CompressionType */
1125 static int hf_h245_receiveCompression = -1;       /* CompressionType */
1126 static int hf_h245_transmitAndReceiveCompression = -1;  /* CompressionType */
1127 static int hf_h245_tcp = -1;                      /* NULL */
1128 static int hf_h245_udp = -1;                      /* NULL */
1129 static int hf_h245_v42bis = -1;                   /* V42bis */
1130 static int hf_h245_numberOfCodewords = -1;        /* INTEGER_1_65536 */
1131 static int hf_h245_maximumStringLength = -1;      /* INTEGER_1_256 */
1132 static int hf_h245_t84Unrestricted = -1;          /* NULL */
1133 static int hf_h245_t84Restricted = -1;            /* T_t84Restricted */
1134 static int hf_h245_qcif_bool = -1;                /* BOOLEAN */
1135 static int hf_h245_cif_bool = -1;                 /* BOOLEAN */
1136 static int hf_h245_ccir601Seq = -1;               /* BOOLEAN */
1137 static int hf_h245_ccir601Prog = -1;              /* BOOLEAN */
1138 static int hf_h245_hdtvSeq = -1;                  /* BOOLEAN */
1139 static int hf_h245_hdtvProg = -1;                 /* BOOLEAN */
1140 static int hf_h245_g3FacsMH200x100 = -1;          /* BOOLEAN */
1141 static int hf_h245_g3FacsMH200x200 = -1;          /* BOOLEAN */
1142 static int hf_h245_g4FacsMMR200x100 = -1;         /* BOOLEAN */
1143 static int hf_h245_g4FacsMMR200x200 = -1;         /* BOOLEAN */
1144 static int hf_h245_jbig200x200Seq = -1;           /* BOOLEAN */
1145 static int hf_h245_jbig200x200Prog = -1;          /* BOOLEAN */
1146 static int hf_h245_jbig300x300Seq = -1;           /* BOOLEAN */
1147 static int hf_h245_jbig300x300Prog = -1;          /* BOOLEAN */
1148 static int hf_h245_digPhotoLow = -1;              /* BOOLEAN */
1149 static int hf_h245_digPhotoMedSeq = -1;           /* BOOLEAN */
1150 static int hf_h245_digPhotoMedProg = -1;          /* BOOLEAN */
1151 static int hf_h245_digPhotoHighSeq = -1;          /* BOOLEAN */
1152 static int hf_h245_digPhotoHighProg = -1;         /* BOOLEAN */
1153 static int hf_h245_fillBitRemoval = -1;           /* BOOLEAN */
1154 static int hf_h245_transcodingJBIG = -1;          /* BOOLEAN */
1155 static int hf_h245_transcodingMMR = -1;           /* BOOLEAN */
1156 static int hf_h245_version = -1;                  /* INTEGER_0_255 */
1157 static int hf_h245_t38FaxRateManagement = -1;     /* T38FaxRateManagement */
1158 static int hf_h245_t38FaxUdpOptions = -1;         /* T38FaxUdpOptions */
1159 static int hf_h245_t38FaxTcpOptions = -1;         /* T38FaxTcpOptions */
1160 static int hf_h245_localTCF = -1;                 /* NULL */
1161 static int hf_h245_transferredTCF = -1;           /* NULL */
1162 static int hf_h245_t38FaxMaxBuffer = -1;          /* INTEGER */
1163 static int hf_h245_t38FaxMaxDatagram = -1;        /* INTEGER */
1164 static int hf_h245_t38FaxUdpEC = -1;              /* T_t38FaxUdpEC */
1165 static int hf_h245_t38UDPFEC = -1;                /* NULL */
1166 static int hf_h245_t38UDPRedundancy = -1;         /* NULL */
1167 static int hf_h245_t38TCPBidirectionalMode = -1;  /* BOOLEAN */
1168 static int hf_h245_encryptionCapability = -1;     /* EncryptionCapability */
1169 static int hf_h245_authenticationCapability = -1;  /* AuthenticationCapability */
1170 static int hf_h245_integrityCapability = -1;      /* IntegrityCapability */
1171 static int hf_h245_genericH235SecurityCapability = -1;  /* GenericCapability */
1172 static int hf_h245_EncryptionCapability_item = -1;  /* MediaEncryptionAlgorithm */
1173 static int hf_h245_algorithm = -1;                /* OBJECT_IDENTIFIER */
1174 static int hf_h245_antiSpamAlgorithm = -1;        /* OBJECT_IDENTIFIER */
1175 static int hf_h245_ui_nonStandard = -1;           /* SEQUENCE_SIZE_1_16_OF_NonStandardParameter */
1176 static int hf_h245_ui_nonStandard_item = -1;      /* NonStandardParameter */
1177 static int hf_h245_basicString = -1;              /* NULL */
1178 static int hf_h245_iA5String = -1;                /* NULL */
1179 static int hf_h245_generalString = -1;            /* NULL */
1180 static int hf_h245_dtmf = -1;                     /* NULL */
1181 static int hf_h245_hookflash = -1;                /* NULL */
1182 static int hf_h245_extendedAlphanumericFlag = -1;  /* NULL */
1183 static int hf_h245_encryptedBasicString = -1;     /* NULL */
1184 static int hf_h245_encryptedIA5String = -1;       /* NULL */
1185 static int hf_h245_encryptedGeneralString = -1;   /* NULL */
1186 static int hf_h245_secureDTMF = -1;               /* NULL */
1187 static int hf_h245_genericUserInputCapability = -1;  /* GenericCapability */
1188 static int hf_h245_nonStandardParams = -1;        /* SEQUENCE_OF_NonStandardParameter */
1189 static int hf_h245_nonStandardParams_item = -1;   /* NonStandardParameter */
1190 static int hf_h245_chairControlCapability = -1;   /* BOOLEAN */
1191 static int hf_h245_videoIndicateMixingCapability = -1;  /* BOOLEAN */
1192 static int hf_h245_multipointVisualizationCapability = -1;  /* BOOLEAN */
1193 static int hf_h245_capabilityIdentifier = -1;     /* CapabilityIdentifier */
1194 static int hf_h245_collapsing = -1;               /* T_collapsing */
1195 static int hf_h245_collapsing_item = -1;          /* T_collapsing_item */
1196 static int hf_h245_nonCollapsing = -1;            /* T_nonCollapsing */
1197 static int hf_h245_nonCollapsing_item = -1;       /* T_nonCollapsing_item */
1198 static int hf_h245_nonCollapsingRaw = -1;         /* T_nonCollapsingRaw */
1199 static int hf_h245_transport = -1;                /* DataProtocolCapability */
1200 static int hf_h245_standardOid = -1;              /* T_standardOid */
1201 static int hf_h245_h221NonStandard = -1;          /* NonStandardParameter */
1202 static int hf_h245_uuid = -1;                     /* OCTET_STRING_SIZE_16 */
1203 static int hf_h245_domainBased = -1;              /* IA5String_SIZE_1_64 */
1204 static int hf_h245_parameterIdentifier = -1;      /* ParameterIdentifier */
1205 static int hf_h245_parameterValue = -1;           /* ParameterValue */
1206 static int hf_h245_supersedes = -1;               /* SEQUENCE_OF_ParameterIdentifier */
1207 static int hf_h245_supersedes_item = -1;          /* ParameterIdentifier */
1208 static int hf_h245_standard = -1;                 /* T_standard */
1209 static int hf_h245_logical = -1;                  /* NULL */
1210 static int hf_h245_booleanArray = -1;             /* T_booleanArray */
1211 static int hf_h245_unsignedMin = -1;              /* T_unsignedMin */
1212 static int hf_h245_unsignedMax = -1;              /* T_unsignedMax */
1213 static int hf_h245_unsigned32Min = -1;            /* T_unsigned32Min */
1214 static int hf_h245_unsigned32Max = -1;            /* T_unsigned32Max */
1215 static int hf_h245_octetString = -1;              /* T_octetString */
1216 static int hf_h245_genericParameters = -1;        /* SEQUENCE_OF_GenericParameter */
1217 static int hf_h245_genericParameters_item = -1;   /* GenericParameter */
1218 static int hf_h245_multiplexFormat = -1;          /* MultiplexFormat */
1219 static int hf_h245_controlOnMuxStream = -1;       /* BOOLEAN */
1220 static int hf_h245_capabilityOnMuxStream = -1;    /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1221 static int hf_h245_capabilityOnMuxStream_item = -1;  /* AlternativeCapabilitySet */
1222 static int hf_h245_dynamicRTPPayloadType = -1;    /* INTEGER_96_127 */
1223 static int hf_h245_audioTelephoneEvent = -1;      /* GeneralString */
1224 static int hf_h245_capabilities = -1;             /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1225 static int hf_h245_capabilities_item = -1;        /* AlternativeCapabilitySet */
1226 static int hf_h245_fecc_rfc2733 = -1;             /* FECC_rfc2733 */
1227 static int hf_h245_redundancyEncodingBool = -1;   /* BOOLEAN */
1228 static int hf_h245_separateStreamBool = -1;       /* T_separateStreamBool */
1229 static int hf_h245_separatePort = -1;             /* BOOLEAN */
1230 static int hf_h245_samePortBool = -1;             /* BOOLEAN */
1231 static int hf_h245_protectedCapability = -1;      /* CapabilityTableEntryNumber */
1232 static int hf_h245_fecScheme = -1;                /* OBJECT_IDENTIFIER */
1233 static int hf_h245_rfc2733rfc2198 = -1;           /* MaxRedundancy */
1234 static int hf_h245_rfc2733sameport = -1;          /* MaxRedundancy */
1235 static int hf_h245_rfc2733diffport = -1;          /* MaxRedundancy */
1236 static int hf_h245_rfc2733Format = -1;            /* Rfc2733Format */
1237 static int hf_h245_olc_fw_lcn = -1;               /* OLC_fw_lcn */
1238 static int hf_h245_forwardLogicalChannelParameters = -1;  /* T_forwardLogicalChannelParameters */
1239 static int hf_h245_portNumber = -1;               /* INTEGER_0_65535 */
1240 static int hf_h245_dataType = -1;                 /* DataType */
1241 static int hf_h245_olc_forw_multiplexParameters = -1;  /* OLC_forw_multiplexParameters */
1242 static int hf_h245_h222LogicalChannelParameters = -1;  /* H222LogicalChannelParameters */
1243 static int hf_h245_olc_fw_h223_params = -1;       /* OLC_fw_h223_params */
1244 static int hf_h245_v76LogicalChannelParameters = -1;  /* V76LogicalChannelParameters */
1245 static int hf_h245_h2250LogicalChannelParameters = -1;  /* H2250LogicalChannelParameters */
1246 static int hf_h245_forwardLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1247 static int hf_h245_replacementFor = -1;           /* LogicalChannelNumber */
1248 static int hf_h245_reverseLogicalChannelParameters = -1;  /* OLC_reverseLogicalChannelParameters */
1249 static int hf_h245_olc_rev_multiplexParameter = -1;  /* OLC_rev_multiplexParameters */
1250 static int hf_h245_olc_rev_h223_params = -1;      /* OLC_rev_h223_params */
1251 static int hf_h245_reverseLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1252 static int hf_h245_separateStack = -1;            /* NetworkAccessParameters */
1253 static int hf_h245_encryptionSync = -1;           /* EncryptionSync */
1254 static int hf_h245_distribution = -1;             /* T_distribution */
1255 static int hf_h245_unicast = -1;                  /* NULL */
1256 static int hf_h245_multicast = -1;                /* NULL */
1257 static int hf_h245_networkAddress = -1;           /* T_networkAddress */
1258 static int hf_h245_q2931Address = -1;             /* Q2931Address */
1259 static int hf_h245_e164Address = -1;              /* T_e164Address */
1260 static int hf_h245_localAreaAddress = -1;         /* TransportAddress */
1261 static int hf_h245_associateConference = -1;      /* BOOLEAN */
1262 static int hf_h245_externalReference = -1;        /* OCTET_STRING_SIZE_1_255 */
1263 static int hf_h245_t120SetupProcedure = -1;       /* T_t120SetupProcedure */
1264 static int hf_h245_originateCall = -1;            /* NULL */
1265 static int hf_h245_waitForCall = -1;              /* NULL */
1266 static int hf_h245_issueQuery = -1;               /* NULL */
1267 static int hf_h245_address = -1;                  /* T_address */
1268 static int hf_h245_internationalNumber = -1;      /* NumericString_SIZE_1_16 */
1269 static int hf_h245_nsapAddress = -1;              /* OCTET_STRING_SIZE_1_20 */
1270 static int hf_h245_subaddress = -1;               /* OCTET_STRING_SIZE_1_20 */
1271 static int hf_h245_audioHeaderPresent = -1;       /* BOOLEAN */
1272 static int hf_h245_nullData = -1;                 /* NULL */
1273 static int hf_h245_videoData = -1;                /* VideoCapability */
1274 static int hf_h245_audioData = -1;                /* AudioCapability */
1275 static int hf_h245_data = -1;                     /* DataApplicationCapability */
1276 static int hf_h245_encryptionData = -1;           /* EncryptionMode */
1277 static int hf_h245_h235Control = -1;              /* NonStandardParameter */
1278 static int hf_h245_h235Media = -1;                /* H235Media */
1279 static int hf_h245_multiplexedStream = -1;        /* MultiplexedStreamParameter */
1280 static int hf_h245_redundancyEncoding = -1;       /* RedundancyEncoding */
1281 static int hf_h245_multiplePayloadStream = -1;    /* MultiplePayloadStream */
1282 static int hf_h245_depFec = -1;                   /* DepFECData */
1283 static int hf_h245_fec = -1;                      /* FECData */
1284 static int hf_h245_mediaType = -1;                /* T_mediaType */
1285 static int hf_h245_resourceID = -1;               /* INTEGER_0_65535 */
1286 static int hf_h245_subChannelID = -1;             /* INTEGER_0_8191 */
1287 static int hf_h245_pcr_pid = -1;                  /* INTEGER_0_8191 */
1288 static int hf_h245_programDescriptors = -1;       /* OCTET_STRING */
1289 static int hf_h245_streamDescriptors = -1;        /* OCTET_STRING */
1290 static int hf_h245_adaptationLayerType = -1;      /* T_adaptationLayerType */
1291 static int hf_h245_h223_al_type_al1Framed = -1;   /* T_h223_al_type_al1Framed */
1292 static int hf_h245_h223_al_type_al1NotFramed = -1;  /* T_h223_al_type_al1NotFramed */
1293 static int hf_h245_h223_al_type_al2WithoutSequenceNumbers = -1;  /* T_h223_al_type_al2WithoutSequenceNumbers */
1294 static int hf_h245_h223_al_type_al2WithSequenceNumbers = -1;  /* T_h223_al_type_al2WithSequenceNumbers */
1295 static int hf_h245_controlFieldOctets = -1;       /* T_controlFieldOctets */
1296 static int hf_h245_al3_sendBufferSize = -1;       /* T_al3_sendBufferSize */
1297 static int hf_h245_h223_al_type_al3 = -1;         /* T_h223_al_type_al3 */
1298 static int hf_h245_h223_al_type_al1M = -1;        /* T_h223_al_type_al1M */
1299 static int hf_h245_h223_al_type_al2M = -1;        /* T_h223_al_type_al2M */
1300 static int hf_h245_h223_al_type_al3M = -1;        /* T_h223_al_type_al3M */
1301 static int hf_h245_h223_lc_segmentableFlag = -1;  /* T_h223_lc_segmentableFlag */
1302 static int hf_h245_transferMode = -1;             /* T_transferMode */
1303 static int hf_h245_framed = -1;                   /* NULL */
1304 static int hf_h245_unframed = -1;                 /* NULL */
1305 static int hf_h245_aL1HeaderFEC = -1;             /* AL1HeaderFEC */
1306 static int hf_h245_sebch16_7 = -1;                /* NULL */
1307 static int hf_h245_golay24_12 = -1;               /* NULL */
1308 static int hf_h245_crcLength2 = -1;               /* AL1CrcLength */
1309 static int hf_h245_crc4bit = -1;                  /* NULL */
1310 static int hf_h245_crc12bit = -1;                 /* NULL */
1311 static int hf_h245_crc20bit = -1;                 /* NULL */
1312 static int hf_h245_crc28bit = -1;                 /* NULL */
1313 static int hf_h245_crc8bit = -1;                  /* NULL */
1314 static int hf_h245_crc16bit = -1;                 /* NULL */
1315 static int hf_h245_crc32bit = -1;                 /* NULL */
1316 static int hf_h245_crcNotUsed = -1;               /* NULL */
1317 static int hf_h245_rcpcCodeRate = -1;             /* INTEGER_8_32 */
1318 static int hf_h245_noArq = -1;                    /* NULL */
1319 static int hf_h245_typeIArq = -1;                 /* H223AnnexCArqParameters */
1320 static int hf_h245_typeIIArq = -1;                /* H223AnnexCArqParameters */
1321 static int hf_h245_arqType = -1;                  /* ArqType */
1322 static int hf_h245_alsduSplitting = -1;           /* BOOLEAN */
1323 static int hf_h245_rsCodeCorrection = -1;         /* INTEGER_0_127 */
1324 static int hf_h245_aL2HeaderFEC = -1;             /* AL2HeaderFEC */
1325 static int hf_h245_sebch16_5 = -1;                /* NULL */
1326 static int hf_h245_headerFormat = -1;             /* T_headerFormat */
1327 static int hf_h245_crlength2 = -1;                /* AL3CrcLength */
1328 static int hf_h245_numberOfRetransmissions = -1;  /* T_numberOfRetransmissions */
1329 static int hf_h245_finite = -1;                   /* INTEGER_0_16 */
1330 static int hf_h245_infinite = -1;                 /* NULL */
1331 static int hf_h245_sendBufferSize = -1;           /* INTEGER_0_16777215 */
1332 static int hf_h245_hdlcParameters = -1;           /* V76HDLCParameters */
1333 static int hf_h245_suspendResume = -1;            /* T_suspendResume */
1334 static int hf_h245_noSuspendResume = -1;          /* NULL */
1335 static int hf_h245_suspendResumewAddress = -1;    /* NULL */
1336 static int hf_h245_suspendResumewoAddress = -1;   /* NULL */
1337 static int hf_h245_uIH = -1;                      /* BOOLEAN */
1338 static int hf_h245_v76_mode = -1;                 /* V76LCP_mode */
1339 static int hf_h245_eRM = -1;                      /* T_eRM */
1340 static int hf_h245_windowSize = -1;               /* INTEGER_1_127 */
1341 static int hf_h245_recovery = -1;                 /* T_recovery */
1342 static int hf_h245_rej = -1;                      /* NULL */
1343 static int hf_h245_sREJ = -1;                     /* NULL */
1344 static int hf_h245_mSREJ = -1;                    /* NULL */
1345 static int hf_h245_uNERM = -1;                    /* NULL */
1346 static int hf_h245_v75Parameters = -1;            /* V75Parameters */
1347 static int hf_h245_crcLength = -1;                /* CRCLength */
1348 static int hf_h245_n401 = -1;                     /* INTEGER_1_4095 */
1349 static int hf_h245_loopbackTestProcedure = -1;    /* BOOLEAN */
1350 static int hf_h245_sessionID_0_255 = -1;          /* INTEGER_0_255 */
1351 static int hf_h245_associatedSessionID = -1;      /* INTEGER_1_255 */
1352 static int hf_h245_mediaChannel = -1;             /* T_mediaChannel */
1353 static int hf_h245_mediaGuaranteedDelivery = -1;  /* BOOLEAN */
1354 static int hf_h245_mediaControlChannel = -1;      /* T_mediaControlChannel */
1355 static int hf_h245_mediaControlGuaranteedDelivery = -1;  /* BOOLEAN */
1356 static int hf_h245_destination = -1;              /* TerminalLabel */
1357 static int hf_h245_mediaPacketization = -1;       /* T_mediaPacketization */
1358 static int hf_h245_h261aVideoPacketizationFlag = -1;  /* NULL */
1359 static int hf_h245_rtpPayloadType = -1;           /* RTPPayloadType */
1360 static int hf_h245_source = -1;                   /* TerminalLabel */
1361 static int hf_h245_payloadDescriptor = -1;        /* T_payloadDescriptor */
1362 static int hf_h245_rfc_number = -1;               /* T_rfc_number */
1363 static int hf_h245_oid = -1;                      /* OBJECT_IDENTIFIER */
1364 static int hf_h245_rtpPayloadType_01 = -1;        /* T_rtpPayloadType */
1365 static int hf_h245_secondaryEncoding = -1;        /* DataType */
1366 static int hf_h245_rtpRedundancyEncoding = -1;    /* T_rtpRedundancyEncoding */
1367 static int hf_h245_primary = -1;                  /* RedundancyEncodingElement */
1368 static int hf_h245_secondary = -1;                /* SEQUENCE_OF_RedundancyEncodingElement */
1369 static int hf_h245_secondary_item = -1;           /* RedundancyEncodingElement */
1370 static int hf_h245_payloadType = -1;              /* INTEGER_0_127 */
1371 static int hf_h245_elements = -1;                 /* SEQUENCE_OF_MultiplePayloadStreamElement */
1372 static int hf_h245_elements_item = -1;            /* MultiplePayloadStreamElement */
1373 static int hf_h245_dep_rfc2733 = -1;              /* RFC2733Data */
1374 static int hf_h245_fec_data_mode = -1;            /* FECdata_mode */
1375 static int hf_h245_redundancyEncodingFlag = -1;   /* NULL */
1376 static int hf_h245_differentPort = -1;            /* T_differentPort */
1377 static int hf_h245_protectedSessionID = -1;       /* INTEGER_1_255 */
1378 static int hf_h245_protectedPayloadType = -1;     /* INTEGER_0_127 */
1379 static int hf_h245_samePort = -1;                 /* T_samePort */
1380 static int hf_h245_separateStream = -1;           /* DepSeparateStream */
1381 static int hf_h245_rfc2733 = -1;                  /* T_rfc2733 */
1382 static int hf_h245_pktMode = -1;                  /* T_pktMode */
1383 static int hf_h245_rfc2198coding = -1;            /* NULL */
1384 static int hf_h245_mode_rfc2733sameport = -1;     /* T_mode_rfc2733sameport */
1385 static int hf_h245_mode_rfc2733diffport = -1;     /* T_mode_rfc2733diffport */
1386 static int hf_h245_protectedChannel = -1;         /* LogicalChannelNumber */
1387 static int hf_h245_unicastAddress = -1;           /* UnicastAddress */
1388 static int hf_h245_multicastAddress = -1;         /* MulticastAddress */
1389 static int hf_h245_iPAddress = -1;                /* T_iPAddress */
1390 static int hf_h245_ip4_network = -1;              /* Ipv4_network */
1391 static int hf_h245_tsapIdentifier = -1;           /* TsapIdentifier */
1392 static int hf_h245_iPXAddress = -1;               /* T_iPXAddress */
1393 static int hf_h245_node = -1;                     /* OCTET_STRING_SIZE_6 */
1394 static int hf_h245_netnum = -1;                   /* OCTET_STRING_SIZE_4 */
1395 static int hf_h245_ipx_tsapIdentifier = -1;       /* OCTET_STRING_SIZE_2 */
1396 static int hf_h245_iP6Address = -1;               /* T_iP6Address */
1397 static int hf_h245_ip6_network = -1;              /* OCTET_STRING_SIZE_16 */
1398 static int hf_h245_ipv6_tsapIdentifier = -1;      /* INTEGER_0_65535 */
1399 static int hf_h245_netBios = -1;                  /* OCTET_STRING_SIZE_16 */
1400 static int hf_h245_iPSourceRouteAddress = -1;     /* T_iPSourceRouteAddress */
1401 static int hf_h245_routing = -1;                  /* T_routing */
1402 static int hf_h245_strict = -1;                   /* NULL */
1403 static int hf_h245_loose = -1;                    /* NULL */
1404 static int hf_h245_network = -1;                  /* OCTET_STRING_SIZE_4 */
1405 static int hf_h245_iPSrcRoute_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1406 static int hf_h245_route = -1;                    /* T_route */
1407 static int hf_h245_route_item = -1;               /* OCTET_STRING_SIZE_4 */
1408 static int hf_h245_nsap = -1;                     /* OCTET_STRING_SIZE_1_20 */
1409 static int hf_h245_nonStandardAddress = -1;       /* NonStandardParameter */
1410 static int hf_h245_mIPAddress = -1;               /* MIPAddress */
1411 static int hf_h245_mip4_network = -1;             /* OCTET_STRING_SIZE_4 */
1412 static int hf_h245_multicast_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1413 static int hf_h245_mIP6Address = -1;              /* MIP6Address */
1414 static int hf_h245_mip6_network = -1;             /* OCTET_STRING_SIZE_16 */
1415 static int hf_h245_multicast_IPv6_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1416 static int hf_h245_synchFlag = -1;                /* INTEGER_0_255 */
1417 static int hf_h245_h235Key = -1;                  /* OCTET_STRING_SIZE_1_65535 */
1418 static int hf_h245_escrowentry = -1;              /* SEQUENCE_SIZE_1_256_OF_EscrowData */
1419 static int hf_h245_escrowentry_item = -1;         /* EscrowData */
1420 static int hf_h245_genericParameter = -1;         /* GenericParameter */
1421 static int hf_h245_escrowID = -1;                 /* OBJECT_IDENTIFIER */
1422 static int hf_h245_escrowValue = -1;              /* BIT_STRING_SIZE_1_65535 */
1423 static int hf_h245_olc_ack_fw_lcn = -1;           /* OLC_ack_fw_lcn */
1424 static int hf_h245_olc_ack_reverseLogicalChannelParameters = -1;  /* OLC_ack_reverseLogicalChannelParameters */
1425 static int hf_h245_reverseLogicalChannelNumber = -1;  /* T_reverseLogicalChannelNumber */
1426 static int hf_h245_olc_ack_multiplexParameters = -1;  /* T_olc_ack_multiplexParameters */
1427 static int hf_h245_forwardMultiplexAckParameters = -1;  /* T_forwardMultiplexAckParameters */
1428 static int hf_h245_h2250LogicalChannelAckParameters = -1;  /* H2250LogicalChannelAckParameters */
1429 static int hf_h245_forwardLogicalChannelNumber = -1;  /* LogicalChannelNumber */
1430 static int hf_h245_olc_rej_cause = -1;            /* OpenLogicalChannelRejectCause */
1431 static int hf_h245_unsuitableReverseParameters = -1;  /* NULL */
1432 static int hf_h245_dataTypeNotSupported = -1;     /* NULL */
1433 static int hf_h245_dataTypeNotAvailable = -1;     /* NULL */
1434 static int hf_h245_unknownDataType = -1;          /* NULL */
1435 static int hf_h245_dataTypeALCombinationNotSupported = -1;  /* NULL */
1436 static int hf_h245_multicastChannelNotAllowed = -1;  /* NULL */
1437 static int hf_h245_insufficientBandwidth = -1;    /* NULL */
1438 static int hf_h245_separateStackEstablishmentFailed = -1;  /* NULL */
1439 static int hf_h245_invalidSessionID = -1;         /* NULL */
1440 static int hf_h245_masterSlaveConflict = -1;      /* NULL */
1441 static int hf_h245_waitForCommunicationMode = -1;  /* NULL */
1442 static int hf_h245_invalidDependentChannel = -1;  /* NULL */
1443 static int hf_h245_replacementForRejected = -1;   /* NULL */
1444 static int hf_h245_securityDenied = -1;           /* NULL */
1445 static int hf_h245_qoSControlNotSupported = -1;   /* NULL */
1446 static int hf_h245_sessionID = -1;                /* INTEGER_1_255 */
1447 static int hf_h245_ack_mediaChannel = -1;         /* Ack_mediaChannel */
1448 static int hf_h245_ack_mediaControlChannel = -1;  /* Ack_mediaControlChannel */
1449 static int hf_h245_flowControlToZero = -1;        /* BOOLEAN */
1450 static int hf_h245_cLC_source = -1;               /* T_cLC_source */
1451 static int hf_h245_user = -1;                     /* NULL */
1452 static int hf_h245_lcse = -1;                     /* NULL */
1453 static int hf_h245_clc_reason = -1;               /* Clc_reason */
1454 static int hf_h245_unknown = -1;                  /* NULL */
1455 static int hf_h245_reopen = -1;                   /* NULL */
1456 static int hf_h245_reservationFailure = -1;       /* NULL */
1457 static int hf_h245_networkErrorCode = -1;         /* INTEGER_0_255 */
1458 static int hf_h245_qosCapability = -1;            /* QOSCapability */
1459 static int hf_h245_reason = -1;                   /* T_reason */
1460 static int hf_h245_normal = -1;                   /* NULL */
1461 static int hf_h245_req_chan_clos_rej_cause = -1;  /* RequestChannelCloseRejectCause */
1462 static int hf_h245_multiplexEntryDescriptors = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryDescriptor */
1463 static int hf_h245_multiplexEntryDescriptors_item = -1;  /* MultiplexEntryDescriptor */
1464 static int hf_h245_multiplexTableEntryNumber = -1;  /* MultiplexTableEntryNumber */
1465 static int hf_h245_elementList = -1;              /* T_elementList */
1466 static int hf_h245_elementList_item = -1;         /* MultiplexElement */
1467 static int hf_h245_me_type = -1;                  /* Me_type */
1468 static int hf_h245_logicalChannelNum = -1;        /* T_logicalChannelNum */
1469 static int hf_h245_subElementList = -1;           /* T_subElementList */
1470 static int hf_h245_subElementList_item = -1;      /* MultiplexElement */
1471 static int hf_h245_me_repeatCount = -1;           /* ME_repeatCount */
1472 static int hf_h245_me_repeatCount_finite = -1;    /* ME_finiteRepeatCount */
1473 static int hf_h245_untilClosingFlag = -1;         /* T_untilClosingFlag */
1474 static int hf_h245_multiplexTableEntryNumbers = -1;  /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1475 static int hf_h245_multiplexTableEntryNumbers_item = -1;  /* MultiplexTableEntryNumber */
1476 static int hf_h245_sendRejectionDescriptions = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions */
1477 static int hf_h245_sendRejectionDescriptions_item = -1;  /* MultiplexEntryRejectionDescriptions */
1478 static int hf_h245_mux_rej_cause = -1;            /* MultiplexEntryRejectionDescriptionsCause */
1479 static int hf_h245_unspecifiedCause = -1;         /* NULL */
1480 static int hf_h245_descriptorTooComplex = -1;     /* NULL */
1481 static int hf_h245_entryNumbers = -1;             /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1482 static int hf_h245_entryNumbers_item = -1;        /* MultiplexTableEntryNumber */
1483 static int hf_h245_rejectionDescriptions = -1;    /* SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions */
1484 static int hf_h245_rejectionDescriptions_item = -1;  /* RequestMultiplexEntryRejectionDescriptions */
1485 static int hf_h245_req_mux_rej_cause = -1;        /* RequestMultiplexEntryRejectionDescriptionsCause */
1486 static int hf_h245_requestedModes = -1;           /* SEQUENCE_SIZE_1_256_OF_ModeDescription */
1487 static int hf_h245_requestedModes_item = -1;      /* ModeDescription */
1488 static int hf_h245_req_mode_ack_response = -1;    /* Req_mode_ack_response */
1489 static int hf_h245_willTransmitMostPreferredMode = -1;  /* NULL */
1490 static int hf_h245_willTransmitLessPreferredMode = -1;  /* NULL */
1491 static int hf_h245_req_rej_cause = -1;            /* RequestModeRejectCause */
1492 static int hf_h245_modeUnavailable = -1;          /* NULL */
1493 static int hf_h245_multipointConstraint = -1;     /* NULL */
1494 static int hf_h245_requestDenied = -1;            /* NULL */
1495 static int hf_h245_ModeDescription_item = -1;     /* ModeElement */
1496 static int hf_h245_videoMode = -1;                /* VideoMode */
1497 static int hf_h245_audioMode = -1;                /* AudioMode */
1498 static int hf_h245_dataMode = -1;                 /* DataMode */
1499 static int hf_h245_encryptionMode = -1;           /* EncryptionMode */
1500 static int hf_h245_h235Mode = -1;                 /* H235Mode */
1501 static int hf_h245_multiplexedStreamMode = -1;    /* MultiplexedStreamParameter */
1502 static int hf_h245_redundancyEncodingDTMode = -1;  /* RedundancyEncodingDTMode */
1503 static int hf_h245_multiplePayloadStreamMode = -1;  /* MultiplePayloadStreamMode */
1504 static int hf_h245_depFecMode = -1;               /* DepFECMode */
1505 static int hf_h245_fecMode = -1;                  /* FECMode */
1506 static int hf_h245_type = -1;                     /* ModeElementType */
1507 static int hf_h245_h223ModeParameters = -1;       /* H223ModeParameters */
1508 static int hf_h245_v76ModeParameters = -1;        /* V76ModeParameters */
1509 static int hf_h245_h2250ModeParameters = -1;      /* H2250ModeParameters */
1510 static int hf_h245_genericModeParameters = -1;    /* GenericCapability */
1511 static int hf_h245_multiplexedStreamModeParameters = -1;  /* MultiplexedStreamModeParameters */
1512 static int hf_h245_logicalChannelNumber = -1;     /* LogicalChannelNumber */
1513 static int hf_h245_mediaMode = -1;                /* T_mediaMode */
1514 static int hf_h245_prmary_dtmode = -1;            /* RedundancyEncodingDTModeElement */
1515 static int hf_h245_secondaryDTM = -1;             /* SEQUENCE_OF_RedundancyEncodingDTModeElement */
1516 static int hf_h245_secondaryDTM_item = -1;        /* RedundancyEncodingDTModeElement */
1517 static int hf_h245_re_type = -1;                  /* Re_type */
1518 static int hf_h245_mpsmElements = -1;             /* SEQUENCE_OF_MultiplePayloadStreamElementMode */
1519 static int hf_h245_mpsmElements_item = -1;        /* MultiplePayloadStreamElementMode */
1520 static int hf_h245_rfc2733Mode = -1;              /* T_rfc2733Mode */
1521 static int hf_h245_fec_mode = -1;                 /* FEC_mode */
1522 static int hf_h245_protectedElement = -1;         /* ModeElementType */
1523 static int hf_h245_adaptationLayer = -1;          /* AdaptationLayerType */
1524 static int hf_h245_al1Framed = -1;                /* NULL */
1525 static int hf_h245_al1NotFramed = -1;             /* NULL */
1526 static int hf_h245_al2WithoutSequenceNumbers = -1;  /* NULL */
1527 static int hf_h245_al2WithSequenceNumbers = -1;   /* NULL */
1528 static int hf_h245_al3 = -1;                      /* Al3 */
1529 static int hf_h245_al1M = -1;                     /* H223AL1MParameters */
1530 static int hf_h245_al2M = -1;                     /* H223AL2MParameters */
1531 static int hf_h245_al3M = -1;                     /* H223AL3MParameters */
1532 static int hf_h245_segmentableFlag = -1;          /* BOOLEAN */
1533 static int hf_h245_redundancyEncodingMode = -1;   /* RedundancyEncodingMode */
1534 static int hf_h245_secondaryEncodingMode = -1;    /* T_secondaryEncodingMode */
1535 static int hf_h245_h261VideoMode = -1;            /* H261VideoMode */
1536 static int hf_h245_h262VideoMode = -1;            /* H262VideoMode */
1537 static int hf_h245_h263VideoMode = -1;            /* H263VideoMode */
1538 static int hf_h245_is11172VideoMode = -1;         /* IS11172VideoMode */
1539 static int hf_h245_genericVideoMode = -1;         /* GenericCapability */
1540 static int hf_h245_h261_resolution = -1;          /* H261Resolution */
1541 static int hf_h245_qcif = -1;                     /* NULL */
1542 static int hf_h245_cif = -1;                      /* NULL */
1543 static int hf_h245_profileAndLevel = -1;          /* T_profileAndLevel */
1544 static int hf_h245_profileAndLevel_SPatMLMode = -1;  /* NULL */
1545 static int hf_h245_profileAndLevel_MPatLLMode = -1;  /* NULL */
1546 static int hf_h245_profileAndLevel_MPatMLMode = -1;  /* NULL */
1547 static int hf_h245_profileAndLevel_MPatH_14Mode = -1;  /* NULL */
1548 static int hf_h245_profileAndLevel_MPatHLMode = -1;  /* NULL */
1549 static int hf_h245_profileAndLevel_SNRatLLMode = -1;  /* NULL */
1550 static int hf_h245_profileAndLevel_SNRatMLMode = -1;  /* NULL */
1551 static int hf_h245_profileAndLevel_SpatialatH_14Mode = -1;  /* NULL */
1552 static int hf_h245_profileAndLevel_HPatMLMode = -1;  /* NULL */
1553 static int hf_h245_profileAndLevel_HPatH_14Mode = -1;  /* NULL */
1554 static int hf_h245_profileAndLevel_HPatHLMode = -1;  /* NULL */
1555 static int hf_h245_h263_resolution = -1;          /* H263Resolution */
1556 static int hf_h245_sqcif = -1;                    /* NULL */
1557 static int hf_h245_cif4 = -1;                     /* NULL */
1558 static int hf_h245_cif16 = -1;                    /* NULL */
1559 static int hf_h245_custom_res = -1;               /* NULL */
1560 static int hf_h245_g711Alaw64k_mode = -1;         /* NULL */
1561 static int hf_h245_g711Alaw56k_mode = -1;         /* NULL */
1562 static int hf_h245_g711Ulaw64k_mode = -1;         /* NULL */
1563 static int hf_h245_g711Ulaw56k_mode = -1;         /* NULL */
1564 static int hf_h245_g722_64k_mode = -1;            /* NULL */
1565 static int hf_h245_g722_56k_mode = -1;            /* NULL */
1566 static int hf_h245_g722_48k_mode = -1;            /* NULL */
1567 static int hf_h245_g728_mode = -1;                /* NULL */
1568 static int hf_h245_g729_mode = -1;                /* NULL */
1569 static int hf_h245_g729AnnexA_mode = -1;          /* NULL */
1570 static int hf_h245_g7231_mode = -1;               /* Mode_g7231 */
1571 static int hf_h245_noSilenceSuppressionLowRate = -1;  /* NULL */
1572 static int hf_h245_noSilenceSuppressionHighRate = -1;  /* NULL */
1573 static int hf_h245_silenceSuppressionLowRate = -1;  /* NULL */
1574 static int hf_h245_silenceSuppressionHighRate = -1;  /* NULL */
1575 static int hf_h245_is11172AudioMode = -1;         /* IS11172AudioMode */
1576 static int hf_h245_is13818AudioMode = -1;         /* IS13818AudioMode */
1577 static int hf_h245_g7231AnnexCMode = -1;          /* G7231AnnexCMode */
1578 static int hf_h245_genericAudioMode = -1;         /* GenericCapability */
1579 static int hf_h245_vbd_mode = -1;                 /* VBDMode */
1580 static int hf_h245_audioLayer = -1;               /* T_audioLayer */
1581 static int hf_h245_audioLayer1Mode = -1;          /* NULL */
1582 static int hf_h245_audioLayer2Mode = -1;          /* NULL */
1583 static int hf_h245_audioLayer3Mode = -1;          /* NULL */
1584 static int hf_h245_audioSampling = -1;            /* T_audioSampling */
1585 static int hf_h245_audioSampling32kMode = -1;     /* NULL */
1586 static int hf_h245_audioSampling44k1Mode = -1;    /* NULL */
1587 static int hf_h245_audioSampling48kMode = -1;     /* NULL */
1588 static int hf_h245_is11172multichannelType = -1;  /* IS11172_multichannelType */
1589 static int hf_h245_singleChannelMode = -1;        /* NULL */
1590 static int hf_h245_twoChannelStereo = -1;         /* NULL */
1591 static int hf_h245_twoChannelDual = -1;           /* NULL */
1592 static int hf_h245_audioLayerMode = -1;           /* IS13818AudioLayer */
1593 static int hf_h245_audioSamplingMode = -1;        /* IS13818AudioSampling */
1594 static int hf_h245_audioSampling16kMode = -1;     /* NULL */
1595 static int hf_h245_audioSampling22k05Mode = -1;   /* NULL */
1596 static int hf_h245_audioSampling24kMode = -1;     /* NULL */
1597 static int hf_h245_is13818MultichannelType = -1;  /* IS13818MultichannelType */
1598 static int hf_h245_threeChannels2_1Mode = -1;     /* NULL */
1599 static int hf_h245_threeChannels3_0Mode = -1;     /* NULL */
1600 static int hf_h245_fourChannels2_0_2_0Mode = -1;  /* NULL */
1601 static int hf_h245_fourChannels2_2Mode = -1;      /* NULL */
1602 static int hf_h245_fourChannels3_1Mode = -1;      /* NULL */
1603 static int hf_h245_fiveChannels3_0_2_0Mode = -1;  /* NULL */
1604 static int hf_h245_fiveChannels3_2Mode = -1;      /* NULL */
1605 static int hf_h245_vbd_type = -1;                 /* AudioMode */
1606 static int hf_h245_datamodeapplication = -1;      /* DataModeApplication */
1607 static int hf_h245_t84DataProtocolCapability = -1;  /* DataProtocolCapability */
1608 static int hf_h245_t38faxDataProtocolCapability = -1;  /* T38faxApp */
1609 static int hf_h245_genericDataMode = -1;          /* GenericCapability */
1610 static int hf_h245_bitRate_0_4294967295 = -1;     /* INTEGER_0_4294967295 */
1611 static int hf_h245_h233Encryption = -1;           /* NULL */
1612 static int hf_h245_mlr_type = -1;                 /* Mlr_type */
1613 static int hf_h245_systemLoop = -1;               /* NULL */
1614 static int hf_h245_mediaLoop = -1;                /* LogicalChannelNumber */
1615 static int hf_h245_logicalChannelLoop = -1;       /* LogicalChannelNumber */
1616 static int hf_h245_mla_type = -1;                 /* Mla_type */
1617 static int hf_h245_mlrej_type = -1;               /* Mlrej_type */
1618 static int hf_h245_maintloop_rej_cause = -1;      /* MaintenanceLoopRejectCause */
1619 static int hf_h245_canNotPerformLoop = -1;        /* NULL */
1620 static int hf_h245_communicationModeTable = -1;   /* SET_SIZE_1_256_OF_CommunicationModeTableEntry */
1621 static int hf_h245_communicationModeTable_item = -1;  /* CommunicationModeTableEntry */
1622 static int hf_h245_terminalLabel = -1;            /* TerminalLabel */
1623 static int hf_h245_sessionDescription = -1;       /* BMPString_SIZE_1_128 */
1624 static int hf_h245_entryDataType = -1;            /* T_entryDataType */
1625 static int hf_h245_cm_mediaChannel = -1;          /* Cm_mediaChannel */
1626 static int hf_h245_cm_mediaControlChannel = -1;   /* TransportAddress */
1627 static int hf_h245_sessionDependency = -1;        /* INTEGER_1_255 */
1628 static int hf_h245_terminalListRequest = -1;      /* NULL */
1629 static int hf_h245_makeMeChair = -1;              /* NULL */
1630 static int hf_h245_cancelMakeMeChair = -1;        /* NULL */
1631 static int hf_h245_dropTerminal = -1;             /* TerminalLabel */
1632 static int hf_h245_requestTerminalID = -1;        /* TerminalLabel */
1633 static int hf_h245_enterH243Password = -1;        /* NULL */
1634 static int hf_h245_enterH243TerminalID = -1;      /* NULL */
1635 static int hf_h245_enterH243ConferenceID = -1;    /* NULL */
1636 static int hf_h245_enterExtensionAddress = -1;    /* NULL */
1637 static int hf_h245_requestChairTokenOwner = -1;   /* NULL */
1638 static int hf_h245_requestTerminalCertificate = -1;  /* T_requestTerminalCertificate */
1639 static int hf_h245_certSelectionCriteria = -1;    /* CertSelectionCriteria */
1640 static int hf_h245_sRandom = -1;                  /* INTEGER_1_4294967295 */
1641 static int hf_h245_broadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1642 static int hf_h245_makeTerminalBroadcaster = -1;  /* TerminalLabel */
1643 static int hf_h245_sendThisSource = -1;           /* TerminalLabel */
1644 static int hf_h245_requestAllTerminalIDs = -1;    /* NULL */
1645 static int hf_h245_remoteMCRequest = -1;          /* RemoteMCRequest */
1646 static int hf_h245_CertSelectionCriteria_item = -1;  /* Criteria */
1647 static int hf_h245_field = -1;                    /* OBJECT_IDENTIFIER */
1648 static int hf_h245_criteriaValue = -1;            /* OCTET_STRING_SIZE_1_65535 */
1649 static int hf_h245_mcuNumber = -1;                /* McuNumber */
1650 static int hf_h245_terminalNumber = -1;           /* TerminalNumber */
1651 static int hf_h245_mCTerminalIDResponse = -1;     /* T_mCTerminalIDResponse */
1652 static int hf_h245_terminalID = -1;               /* TerminalID */
1653 static int hf_h245_terminalIDResponse = -1;       /* T_terminalIDResponse */
1654 static int hf_h245_conferenceIDResponse = -1;     /* T_conferenceIDResponse */
1655 static int hf_h245_conferenceID = -1;             /* ConferenceID */
1656 static int hf_h245_passwordResponse = -1;         /* T_passwordResponse */
1657 static int hf_h245_password = -1;                 /* Password */
1658 static int hf_h245_terminalListResponse = -1;     /* SET_SIZE_1_256_OF_TerminalLabel */
1659 static int hf_h245_terminalListResponse_item = -1;  /* TerminalLabel */
1660 static int hf_h245_videoCommandReject = -1;       /* NULL */
1661 static int hf_h245_terminalDropReject = -1;       /* NULL */
1662 static int hf_h245_makeMeChairResponse = -1;      /* T_makeMeChairResponse */
1663 static int hf_h245_grantedChairToken = -1;        /* NULL */
1664 static int hf_h245_deniedChairToken = -1;         /* NULL */
1665 static int hf_h245_extensionAddressResponse = -1;  /* T_extensionAddressResponse */
1666 static int hf_h245_extensionAddress = -1;         /* TerminalID */
1667 static int hf_h245_chairTokenOwnerResponse = -1;  /* T_chairTokenOwnerResponse */
1668 static int hf_h245_terminalCertificateResponse = -1;  /* T_terminalCertificateResponse */
1669 static int hf_h245_certificateResponse = -1;      /* OCTET_STRING_SIZE_1_65535 */
1670 static int hf_h245_broadcastMyLogicalChannelResponse = -1;  /* T_broadcastMyLogicalChannelResponse */
1671 static int hf_h245_grantedBroadcastMyLogicalChannel = -1;  /* NULL */
1672 static int hf_h245_deniedBroadcastMyLogicalChannel = -1;  /* NULL */
1673 static int hf_h245_makeTerminalBroadcasterResponse = -1;  /* T_makeTerminalBroadcasterResponse */
1674 static int hf_h245_grantedMakeTerminalBroadcaster = -1;  /* NULL */
1675 static int hf_h245_deniedMakeTerminalBroadcaster = -1;  /* NULL */
1676 static int hf_h245_sendThisSourceResponse = -1;   /* T_sendThisSourceResponse */
1677 static int hf_h245_grantedSendThisSource = -1;    /* NULL */
1678 static int hf_h245_deniedSendThisSource = -1;     /* NULL */
1679 static int hf_h245_requestAllTerminalIDsResponse = -1;  /* RequestAllTerminalIDsResponse */
1680 static int hf_h245_remoteMCResponse = -1;         /* RemoteMCResponse */
1681 static int hf_h245_terminalInformation = -1;      /* SEQUENCE_OF_TerminalInformation */
1682 static int hf_h245_terminalInformation_item = -1;  /* TerminalInformation */
1683 static int hf_h245_masterActivate = -1;           /* NULL */
1684 static int hf_h245_slaveActivate = -1;            /* NULL */
1685 static int hf_h245_deActivate = -1;               /* NULL */
1686 static int hf_h245_accept = -1;                   /* NULL */
1687 static int hf_h245_reject = -1;                   /* T_reject */
1688 static int hf_h245_functionNotSupportedFlag = -1;  /* NULL */
1689 static int hf_h245_callInformationReq = -1;       /* CallInformationReq */
1690 static int hf_h245_maxNumberOfAdditionalConnections = -1;  /* INTEGER_1_65535 */
1691 static int hf_h245_addConnectionReq = -1;         /* AddConnectionReq */
1692 static int hf_h245_dialingInformation = -1;       /* DialingInformation */
1693 static int hf_h245_removeConnectionReq = -1;      /* RemoveConnectionReq */
1694 static int hf_h245_connectionIdentifier = -1;     /* ConnectionIdentifier */
1695 static int hf_h245_maximumHeaderIntervalReq = -1;  /* MaximumHeaderIntervalReq */
1696 static int hf_h245_requestType = -1;              /* T_requestType */
1697 static int hf_h245_currentIntervalInformation = -1;  /* NULL */
1698 static int hf_h245_requestedInterval = -1;        /* INTEGER_0_65535 */
1699 static int hf_h245_callInformationResp = -1;      /* CallInformationResp */
1700 static int hf_h245_callAssociationNumber = -1;    /* INTEGER_0_4294967295 */
1701 static int hf_h245_addConnectionResp = -1;        /* AddConnectionResp */
1702 static int hf_h245_responseCode = -1;             /* T_responseCode */
1703 static int hf_h245_accepted = -1;                 /* NULL */
1704 static int hf_h245_rejected = -1;                 /* T_rejected */
1705 static int hf_h245_connectionsNotAvailable = -1;  /* NULL */
1706 static int hf_h245_userRejected = -1;             /* NULL */
1707 static int hf_h245_removeConnectionResp = -1;     /* RemoveConnectionResp */
1708 static int hf_h245_maximumHeaderIntervalResp = -1;  /* MaximumHeaderIntervalResp */
1709 static int hf_h245_currentInterval = -1;          /* INTEGER_0_65535 */
1710 static int hf_h245_crcDesired = -1;               /* T_crcDesired */
1711 static int hf_h245_excessiveError = -1;           /* T_excessiveError */
1712 static int hf_h245_differential = -1;             /* SET_SIZE_1_65535_OF_DialingInformationNumber */
1713 static int hf_h245_differential_item = -1;        /* DialingInformationNumber */
1714 static int hf_h245_infoNotAvailable = -1;         /* INTEGER_1_65535 */
1715 static int hf_h245_networkAddressNum = -1;        /* NumericString_SIZE_0_40 */
1716 static int hf_h245_subAddress = -1;               /* IA5String_SIZE_1_40 */
1717 static int hf_h245_networkType = -1;              /* SET_SIZE_1_255_OF_DialingInformationNetworkType */
1718 static int hf_h245_networkType_item = -1;         /* DialingInformationNetworkType */
1719 static int hf_h245_n_isdn = -1;                   /* NULL */
1720 static int hf_h245_gstn = -1;                     /* NULL */
1721 static int hf_h245_mobile = -1;                   /* NULL */
1722 static int hf_h245_channelTag = -1;               /* INTEGER_0_4294967295 */
1723 static int hf_h245_sequenceNum = -1;              /* INTEGER_0_4294967295 */
1724 static int hf_h245_maximumBitRate = -1;           /* MaximumBitRate */
1725 static int hf_h245_rejectReason = -1;             /* LogicalChannelRateRejectReason */
1726 static int hf_h245_currentMaximumBitRate = -1;    /* MaximumBitRate */
1727 static int hf_h245_undefinedReason = -1;          /* NULL */
1728 static int hf_h245_insufficientResources = -1;    /* NULL */
1729 static int hf_h245_specificRequest = -1;          /* T_specificRequest */
1730 static int hf_h245_multiplexCapabilityBool = -1;  /* BOOLEAN */
1731 static int hf_h245_capabilityTableEntryNumbers = -1;  /* SET_SIZE_1_65535_OF_CapabilityTableEntryNumber */
1732 static int hf_h245_capabilityTableEntryNumbers_item = -1;  /* CapabilityTableEntryNumber */
1733 static int hf_h245_capabilityDescriptorNumbers = -1;  /* SET_SIZE_1_256_OF_CapabilityDescriptorNumber */
1734 static int hf_h245_capabilityDescriptorNumbers_item = -1;  /* CapabilityDescriptorNumber */
1735 static int hf_h245_genericRequestFlag = -1;       /* NULL */
1736 static int hf_h245_encryptionSE = -1;             /* OCTET_STRING */
1737 static int hf_h245_encryptionIVRequest = -1;      /* NULL */
1738 static int hf_h245_encryptionAlgorithmID = -1;    /* T_encryptionAlgorithmID */
1739 static int hf_h245_h233AlgorithmIdentifier = -1;  /* SequenceNumber */
1740 static int hf_h245_associatedAlgorithm = -1;      /* NonStandardParameter */
1741 static int hf_h245_wholeMultiplex = -1;           /* NULL */
1742 static int hf_h245_scope = -1;                    /* Scope */
1743 static int hf_h245_res_maximumBitRate = -1;       /* INTEGER_0_16777215 */
1744 static int hf_h245_noRestriction = -1;            /* NULL */
1745 static int hf_h245_restriction = -1;              /* Restriction */
1746 static int hf_h245_disconnect = -1;               /* NULL */
1747 static int hf_h245_gstnOptions = -1;              /* T_gstnOptions */
1748 static int hf_h245_telephonyMode = -1;            /* NULL */
1749 static int hf_h245_v8bis = -1;                    /* NULL */
1750 static int hf_h245_v34DSVD = -1;                  /* NULL */
1751 static int hf_h245_v34DuplexFAX = -1;             /* NULL */
1752 static int hf_h245_v34H324 = -1;                  /* NULL */
1753 static int hf_h245_isdnOptions = -1;              /* T_isdnOptions */
1754 static int hf_h245_v140 = -1;                     /* NULL */
1755 static int hf_h245_terminalOnHold = -1;           /* NULL */
1756 static int hf_h245_cancelBroadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1757 static int hf_h245_cancelMakeTerminalBroadcaster = -1;  /* NULL */
1758 static int hf_h245_cancelSendThisSource = -1;     /* NULL */
1759 static int hf_h245_dropConference = -1;           /* NULL */
1760 static int hf_h245_substituteConferenceIDCommand = -1;  /* SubstituteConferenceIDCommand */
1761 static int hf_h245_conferenceIdentifier = -1;     /* OCTET_STRING_SIZE_16 */
1762 static int hf_h245_masterToSlave = -1;            /* NULL */
1763 static int hf_h245_slaveToMaster = -1;            /* NULL */
1764 static int hf_h245_mc_type = -1;                  /* Mc_type */
1765 static int hf_h245_equaliseDelay = -1;            /* NULL */
1766 static int hf_h245_zeroDelay = -1;                /* NULL */
1767 static int hf_h245_multipointModeCommand = -1;    /* NULL */
1768 static int hf_h245_cancelMultipointModeCommand = -1;  /* NULL */
1769 static int hf_h245_videoFreezePicture = -1;       /* NULL */
1770 static int hf_h245_videoFastUpdatePicture = -1;   /* NULL */
1771 static int hf_h245_videoFastUpdateGOB = -1;       /* T_videoFastUpdateGOB */
1772 static int hf_h245_firstGOB = -1;                 /* INTEGER_0_17 */
1773 static int hf_h245_numberOfGOBs = -1;             /* INTEGER_1_18 */
1774 static int hf_h245_videoTemporalSpatialTradeOff = -1;  /* INTEGER_0_31 */
1775 static int hf_h245_videoSendSyncEveryGOB = -1;    /* NULL */
1776 static int hf_h245_videoSendSyncEveryGOBCancel = -1;  /* NULL */
1777 static int hf_h245_videoFastUpdateMB = -1;        /* T_videoFastUpdateMB */
1778 static int hf_h245_firstGOB_0_255 = -1;           /* INTEGER_0_255 */
1779 static int hf_h245_firstMB_1_8192 = -1;           /* INTEGER_1_8192 */
1780 static int hf_h245_numberOfMBs = -1;              /* INTEGER_1_8192 */
1781 static int hf_h245_maxH223MUXPDUsize = -1;        /* INTEGER_1_65535 */
1782 static int hf_h245_encryptionUpdate = -1;         /* EncryptionSync */
1783 static int hf_h245_encryptionUpdateRequest = -1;  /* EncryptionUpdateRequest */
1784 static int hf_h245_switchReceiveMediaOff = -1;    /* NULL */
1785 static int hf_h245_switchReceiveMediaOn = -1;     /* NULL */
1786 static int hf_h245_progressiveRefinementStart = -1;  /* T_progressiveRefinementStart */
1787 static int hf_h245_repeatCount = -1;              /* T_repeatCount */
1788 static int hf_h245_doOneProgression = -1;         /* NULL */
1789 static int hf_h245_doContinuousProgressions = -1;  /* NULL */
1790 static int hf_h245_doOneIndependentProgression = -1;  /* NULL */
1791 static int hf_h245_doContinuousIndependentProgressions = -1;  /* NULL */
1792 static int hf_h245_progressiveRefinementAbortOne = -1;  /* NULL */
1793 static int hf_h245_progressiveRefinementAbortContinuous = -1;  /* NULL */
1794 static int hf_h245_videoBadMBs = -1;              /* T_videoBadMBs */
1795 static int hf_h245_firstMB = -1;                  /* INTEGER_1_9216 */
1796 static int hf_h245_numberOfMBs1_1_9216 = -1;      /* INTEGER_1_9216 */
1797 static int hf_h245_temporalReference = -1;        /* INTEGER_0_1023 */
1798 static int hf_h245_lostPicture = -1;              /* SEQUENCE_OF_PictureReference */
1799 static int hf_h245_lostPicture_item = -1;         /* PictureReference */
1800 static int hf_h245_lostPartialPicture = -1;       /* T_lostPartialPicture */
1801 static int hf_h245_pictureReference = -1;         /* PictureReference */
1802 static int hf_h245_recoveryReferencePicture = -1;  /* SEQUENCE_OF_PictureReference */
1803 static int hf_h245_recoveryReferencePicture_item = -1;  /* PictureReference */
1804 static int hf_h245_encryptionUpdateCommand = -1;  /* T_encryptionUpdateCommand */
1805 static int hf_h245_encryptionUpdateAck = -1;      /* T_encryptionUpdateAck */
1806 static int hf_h245_direction = -1;                /* EncryptionUpdateDirection */
1807 static int hf_h245_secureChannel = -1;            /* BOOLEAN */
1808 static int hf_h245_sharedSecret = -1;             /* BOOLEAN */
1809 static int hf_h245_certProtectedKey = -1;         /* BOOLEAN */
1810 static int hf_h245_keyProtectionMethod = -1;      /* KeyProtectionMethod */
1811 static int hf_h245_pictureNumber = -1;            /* INTEGER_0_1023 */
1812 static int hf_h245_longTermPictureIndex = -1;     /* INTEGER_0_255 */
1813 static int hf_h245_h223ModeChange = -1;           /* T_h223ModeChange */
1814 static int hf_h245_toLevel0 = -1;                 /* NULL */
1815 static int hf_h245_toLevel1 = -1;                 /* NULL */
1816 static int hf_h245_toLevel2 = -1;                 /* NULL */
1817 static int hf_h245_toLevel2withOptionalHeader = -1;  /* NULL */
1818 static int hf_h245_h223AnnexADoubleFlag = -1;     /* T_h223AnnexADoubleFlag */
1819 static int hf_h245_start = -1;                    /* NULL */
1820 static int hf_h245_stop = -1;                     /* NULL */
1821 static int hf_h245_bitRate = -1;                  /* INTEGER_1_65535 */
1822 static int hf_h245_bitRateLockedToPCRClock = -1;  /* BOOLEAN */
1823 static int hf_h245_bitRateLockedToNetworkClock = -1;  /* BOOLEAN */
1824 static int hf_h245_cmd_aal = -1;                  /* Cmd_aal */
1825 static int hf_h245_cmd_aal1 = -1;                 /* Cmd_aal1 */
1826 static int hf_h245_cmd_clockRecovery = -1;        /* Cmd_clockRecovery */
1827 static int hf_h245_nullClockRecoveryflag = -1;    /* NULL */
1828 static int hf_h245_srtsClockRecovery = -1;        /* NULL */
1829 static int hf_h245_adaptiveClockRecoveryFlag = -1;  /* NULL */
1830 static int hf_h245_cmd_errorCorrection = -1;      /* Cmd_errorCorrection */
1831 static int hf_h245_nullErrorCorrectionFlag = -1;  /* NULL */
1832 static int hf_h245_longInterleaverFlag = -1;      /* NULL */
1833 static int hf_h245_shortInterleaverFlag = -1;     /* NULL */
1834 static int hf_h245_errorCorrectionOnlyFlag = -1;  /* NULL */
1835 static int hf_h245_cmd_aal5 = -1;                 /* Cmd_aal5 */
1836 static int hf_h245_cmd_multiplex = -1;            /* Cmd_multiplex */
1837 static int hf_h245_noMultiplex = -1;              /* NULL */
1838 static int hf_h245_transportStream = -1;          /* NULL */
1839 static int hf_h245_programStreamFlag = -1;        /* NULL */
1840 static int hf_h245_cmd_reverseParameters = -1;    /* Cmd_reverseParameters */
1841 static int hf_h245_cmdr_multiplex = -1;           /* CmdR_multiplex */
1842 static int hf_h245_sampleSize = -1;               /* INTEGER_1_255 */
1843 static int hf_h245_samplesPerFrame = -1;          /* INTEGER_1_255 */
1844 static int hf_h245_status = -1;                   /* T_status */
1845 static int hf_h245_synchronized = -1;             /* NULL */
1846 static int hf_h245_reconfiguration = -1;          /* NULL */
1847 static int hf_h245_fns_cause = -1;                /* FunctionNotSupportedCause */
1848 static int hf_h245_syntaxError = -1;              /* NULL */
1849 static int hf_h245_semanticError = -1;            /* NULL */
1850 static int hf_h245_unknownFunction = -1;          /* NULL */
1851 static int hf_h245_returnedFunction = -1;         /* T_returnedFunction */
1852 static int hf_h245_sbeNumber = -1;                /* INTEGER_0_9 */
1853 static int hf_h245_terminalNumberAssign = -1;     /* TerminalLabel */
1854 static int hf_h245_terminalJoinedConference = -1;  /* TerminalLabel */
1855 static int hf_h245_terminalLeftConference = -1;   /* TerminalLabel */
1856 static int hf_h245_seenByAtLeastOneOther = -1;    /* NULL */
1857 static int hf_h245_cancelSeenByAtLeastOneOther = -1;  /* NULL */
1858 static int hf_h245_seenByAll = -1;                /* NULL */
1859 static int hf_h245_cancelSeenByAll = -1;          /* NULL */
1860 static int hf_h245_terminalYouAreSeeing = -1;     /* TerminalLabel */
1861 static int hf_h245_requestForFloor = -1;          /* NULL */
1862 static int hf_h245_withdrawChairToken = -1;       /* NULL */
1863 static int hf_h245_floorRequested = -1;           /* TerminalLabel */
1864 static int hf_h245_terminalYouAreSeeingInSubPictureNumber = -1;  /* TerminalYouAreSeeingInSubPictureNumber */
1865 static int hf_h245_videoIndicateCompose = -1;     /* VideoIndicateCompose */
1866 static int hf_h245_masterMCU = -1;                /* NULL */
1867 static int hf_h245_cancelMasterMCU = -1;          /* NULL */
1868 static int hf_h245_subPictureNumber = -1;         /* INTEGER_0_255 */
1869 static int hf_h245_compositionNumber = -1;        /* INTEGER_0_255 */
1870 static int hf_h245_mi_type = -1;                  /* Mi_type */
1871 static int hf_h245_logicalChannelActive = -1;     /* NULL */
1872 static int hf_h245_logicalChannelInactive = -1;   /* NULL */
1873 static int hf_h245_multipointConference = -1;     /* NULL */
1874 static int hf_h245_cancelMultipointConference = -1;  /* NULL */
1875 static int hf_h245_multipointZeroComm = -1;       /* NULL */
1876 static int hf_h245_cancelMultipointZeroComm = -1;  /* NULL */
1877 static int hf_h245_multipointSecondaryStatus = -1;  /* NULL */
1878 static int hf_h245_cancelMultipointSecondaryStatus = -1;  /* NULL */
1879 static int hf_h245_videoIndicateReadyToActivate = -1;  /* NULL */
1880 static int hf_h245_videoNotDecodedMBs = -1;       /* T_videoNotDecodedMBs */
1881 static int hf_h245_temporalReference_0_255 = -1;  /* INTEGER_0_255 */
1882 static int hf_h245_estimatedReceivedJitterMantissa = -1;  /* INTEGER_0_3 */
1883 static int hf_h245_estimatedReceivedJitterExponent = -1;  /* INTEGER_0_7 */
1884 static int hf_h245_skippedFrameCount = -1;        /* INTEGER_0_15 */
1885 static int hf_h245_additionalDecoderBuffer = -1;  /* INTEGER_0_262143 */
1886 static int hf_h245_logicalChannelNumber1 = -1;    /* LogicalChannelNumber */
1887 static int hf_h245_logicalChannelNumber2 = -1;    /* LogicalChannelNumber */
1888 static int hf_h245_skew = -1;                     /* INTEGER_0_4095 */
1889 static int hf_h245_maximumSkew = -1;              /* INTEGER_0_4095 */
1890 static int hf_h245_signalAddress = -1;            /* TransportAddress */
1891 static int hf_h245_vendor = -1;                   /* NonStandardIdentifier */
1892 static int hf_h245_productNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1893 static int hf_h245_versionNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1894 static int hf_h245_ind_aal = -1;                  /* Ind_aal */
1895 static int hf_h245_ind_aal1 = -1;                 /* Ind_aal1 */
1896 static int hf_h245_ind_clockRecovery = -1;        /* Ind_clockRecovery */
1897 static int hf_h245_ind_errorCorrection = -1;      /* Ind_errorCorrection */
1898 static int hf_h245_ind_aal5 = -1;                 /* Ind_aal5 */
1899 static int hf_h245_ind_multiplex = -1;            /* Ind_multiplex */
1900 static int hf_h245_ind_reverseParameters = -1;    /* Ind_reverseParameters */
1901 static int hf_h245_indr_multiplex = -1;           /* IndR_multiplex */
1902 static int hf_h245_iv8 = -1;                      /* IV8 */
1903 static int hf_h245_iv16 = -1;                     /* IV16 */
1904 static int hf_h245_iv = -1;                       /* OCTET_STRING */
1905 static int hf_h245_alphanumeric = -1;             /* GeneralString */
1906 static int hf_h245_userInputSupportIndication = -1;  /* T_userInputSupportIndication */
1907 static int hf_h245_signal = -1;                   /* T_signal */
1908 static int hf_h245_signalType = -1;               /* T_signalType */
1909 static int hf_h245_duration = -1;                 /* INTEGER_1_65535 */
1910 static int hf_h245_rtp = -1;                      /* T_rtp */
1911 static int hf_h245_timestamp = -1;                /* INTEGER_0_4294967295 */
1912 static int hf_h245_expirationTime = -1;           /* INTEGER_0_4294967295 */
1913 static int hf_h245_rtpPayloadIndication = -1;     /* NULL */
1914 static int hf_h245_paramS = -1;                   /* Params */
1915 static int hf_h245_encryptedSignalType = -1;      /* OCTET_STRING_SIZE_1 */
1916 static int hf_h245_algorithmOID = -1;             /* OBJECT_IDENTIFIER */
1917 static int hf_h245_signalUpdate = -1;             /* T_signalUpdate */
1918 static int hf_h245_si_rtp = -1;                   /* Si_rtp */
1919 static int hf_h245_extendedAlphanumeric = -1;     /* T_extendedAlphanumeric */
1920 static int hf_h245_encrypted = -1;                /* OCTET_STRING */
1921 static int hf_h245_encryptedAlphanumeric = -1;    /* EncryptedAlphanumeric */
1922
1923 /*--- End of included file: packet-h245-hf.c ---*/
1924 #line 389 "../../asn1/h245/packet-h245-template.c"
1925
1926 /* Initialize the subtree pointers */
1927 static int ett_h245 = -1;
1928 static int ett_h245_returnedFunction = -1;
1929
1930 /*--- Included file: packet-h245-ett.c ---*/
1931 #line 1 "../../asn1/h245/packet-h245-ett.c"
1932 static gint ett_h245_MultimediaSystemControlMessage = -1;
1933 static gint ett_h245_RequestMessage = -1;
1934 static gint ett_h245_ResponseMessage = -1;
1935 static gint ett_h245_CommandMessage = -1;
1936 static gint ett_h245_IndicationMessage = -1;
1937 static gint ett_h245_GenericMessage = -1;
1938 static gint ett_h245_T_messageContent = -1;
1939 static gint ett_h245_NonStandardMessage = -1;
1940 static gint ett_h245_NonStandardParameter = -1;
1941 static gint ett_h245_NonStandardIdentifier = -1;
1942 static gint ett_h245_H221NonStandardID = -1;
1943 static gint ett_h245_MasterSlaveDetermination = -1;
1944 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1945 static gint ett_h245_T_decision = -1;
1946 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1947 static gint ett_h245_MasterSlaveDeterminationRejectCause = -1;
1948 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1949 static gint ett_h245_TerminalCapabilitySet = -1;
1950 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry = -1;
1951 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor = -1;
1952 static gint ett_h245_SEQUENCE_OF_GenericInformation = -1;
1953 static gint ett_h245_CapabilityTableEntry = -1;
1954 static gint ett_h245_CapabilityDescriptor = -1;
1955 static gint ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet = -1;
1956 static gint ett_h245_AlternativeCapabilitySet = -1;
1957 static gint ett_h245_TerminalCapabilitySetAck = -1;
1958 static gint ett_h245_TerminalCapabilitySetReject = -1;
1959 static gint ett_h245_TerminalCapabilitySetRejectCause = -1;
1960 static gint ett_h245_T_tableEntryCapacityExceeded = -1;
1961 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1962 static gint ett_h245_Capability = -1;
1963 static gint ett_h245_T_h233EncryptionReceiveCapability = -1;
1964 static gint ett_h245_H235SecurityCapability = -1;
1965 static gint ett_h245_MultiplexCapability = -1;
1966 static gint ett_h245_H222Capability = -1;
1967 static gint ett_h245_SET_OF_VCCapability = -1;
1968 static gint ett_h245_VCCapability = -1;
1969 static gint ett_h245_T_aal1 = -1;
1970 static gint ett_h245_T_aal5 = -1;
1971 static gint ett_h245_T_availableBitRates = -1;
1972 static gint ett_h245_Avb_type = -1;
1973 static gint ett_h245_T_rangeOfBitRates = -1;
1974 static gint ett_h245_T_aal1ViaGateway = -1;
1975 static gint ett_h245_SET_SIZE_1_256_OF_Q2931Address = -1;
1976 static gint ett_h245_H223Capability = -1;
1977 static gint ett_h245_T_h223MultiplexTableCapability = -1;
1978 static gint ett_h245_T_enhanced = -1;
1979 static gint ett_h245_T_mobileOperationTransmitCapability = -1;
1980 static gint ett_h245_T_mobileMultilinkFrameCapability = -1;
1981 static gint ett_h245_H223AnnexCCapability = -1;
1982 static gint ett_h245_V76Capability = -1;
1983 static gint ett_h245_V75Capability = -1;
1984 static gint ett_h245_H2250Capability = -1;
1985 static gint ett_h245_T_mcCapability = -1;
1986 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability = -1;
1987 static gint ett_h245_MediaPacketizationCapability = -1;
1988 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType = -1;
1989 static gint ett_h245_RSVPParameters = -1;
1990 static gint ett_h245_QOSMode = -1;
1991 static gint ett_h245_ATMParameters = -1;
1992 static gint ett_h245_ServicePriorityValue = -1;
1993 static gint ett_h245_ServicePriority = -1;
1994 static gint ett_h245_AuthorizationParameters = -1;
1995 static gint ett_h245_QOSType = -1;
1996 static gint ett_h245_QOSClass = -1;
1997 static gint ett_h245_QOSDescriptor = -1;
1998 static gint ett_h245_GenericTransportParameters = -1;
1999 static gint ett_h245_QOSCapability = -1;
2000 static gint ett_h245_MediaTransportType = -1;
2001 static gint ett_h245_T_atm_AAL5_compressed = -1;
2002 static gint ett_h245_MediaChannelCapability = -1;
2003 static gint ett_h245_TransportCapability = -1;
2004 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability = -1;
2005 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability = -1;
2006 static gint ett_h245_RedundancyEncodingCapability = -1;
2007 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber = -1;
2008 static gint ett_h245_RedundancyEncodingMethod = -1;
2009 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
2010 static gint ett_h245_T_frameToThreadMapping = -1;
2011 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping = -1;
2012 static gint ett_h245_T_containedThreads = -1;
2013 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
2014 static gint ett_h245_T_frameSequence = -1;
2015 static gint ett_h245_MultipointCapability = -1;
2016 static gint ett_h245_SEQUENCE_OF_MediaDistributionCapability = -1;
2017 static gint ett_h245_MediaDistributionCapability = -1;
2018 static gint ett_h245_SEQUENCE_OF_DataApplicationCapability = -1;
2019 static gint ett_h245_VideoCapability = -1;
2020 static gint ett_h245_ExtendedVideoCapability = -1;
2021 static gint ett_h245_SEQUENCE_OF_VideoCapability = -1;
2022 static gint ett_h245_SEQUENCE_OF_GenericCapability = -1;
2023 static gint ett_h245_H261VideoCapability = -1;
2024 static gint ett_h245_H262VideoCapability = -1;
2025 static gint ett_h245_H263VideoCapability = -1;
2026 static gint ett_h245_EnhancementLayerInfo = -1;
2027 static gint ett_h245_SET_SIZE_1_14_OF_EnhancementOptions = -1;
2028 static gint ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters = -1;
2029 static gint ett_h245_BEnhancementParameters = -1;
2030 static gint ett_h245_EnhancementOptions = -1;
2031 static gint ett_h245_H263Options = -1;
2032 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency = -1;
2033 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat = -1;
2034 static gint ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos = -1;
2035 static gint ett_h245_TransparencyParameters = -1;
2036 static gint ett_h245_RefPictureSelection = -1;
2037 static gint ett_h245_T_additionalPictureMemory = -1;
2038 static gint ett_h245_T_videoBackChannelSend = -1;
2039 static gint ett_h245_T_enhancedReferencePicSelect = -1;
2040 static gint ett_h245_T_subPictureRemovalParameters = -1;
2041 static gint ett_h245_CustomPictureClockFrequency = -1;
2042 static gint ett_h245_CustomPictureFormat = -1;
2043 static gint ett_h245_T_mPI = -1;
2044 static gint ett_h245_T_customPCF = -1;
2045 static gint ett_h245_T_customPCF_item = -1;
2046 static gint ett_h245_T_pixelAspectInformation = -1;
2047 static gint ett_h245_T_pixelAspectCode = -1;
2048 static gint ett_h245_T_extendedPAR = -1;
2049 static gint ett_h245_T_extendedPAR_item = -1;
2050 static gint ett_h245_H263VideoModeCombos = -1;
2051 static gint ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags = -1;
2052 static gint ett_h245_H263ModeComboFlags = -1;
2053 static gint ett_h245_H263Version3Options = -1;
2054 static gint ett_h245_IS11172VideoCapability = -1;
2055 static gint ett_h245_AudioCapability = -1;
2056 static gint ett_h245_T_g7231 = -1;
2057 static gint ett_h245_G729Extensions = -1;
2058 static gint ett_h245_G7231AnnexCCapability = -1;
2059 static gint ett_h245_G723AnnexCAudioMode = -1;
2060 static gint ett_h245_IS11172AudioCapability = -1;
2061 static gint ett_h245_IS13818AudioCapability = -1;
2062 static gint ett_h245_GSMAudioCapability = -1;
2063 static gint ett_h245_VBDCapability = -1;
2064 static gint ett_h245_DataApplicationCapability = -1;
2065 static gint ett_h245_Application = -1;
2066 static gint ett_h245_T_t84 = -1;
2067 static gint ett_h245_Nlpid = -1;
2068 static gint ett_h245_T_t38fax = -1;
2069 static gint ett_h245_DataProtocolCapability = -1;
2070 static gint ett_h245_T_v76wCompression = -1;
2071 static gint ett_h245_CompressionType = -1;
2072 static gint ett_h245_V42bis = -1;
2073 static gint ett_h245_T84Profile = -1;
2074 static gint ett_h245_T_t84Restricted = -1;
2075 static gint ett_h245_T38FaxProfile = -1;
2076 static gint ett_h245_T38FaxRateManagement = -1;
2077 static gint ett_h245_T38FaxUdpOptions = -1;
2078 static gint ett_h245_T_t38FaxUdpEC = -1;
2079 static gint ett_h245_T38FaxTcpOptions = -1;
2080 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
2081 static gint ett_h245_EncryptionCapability = -1;
2082 static gint ett_h245_MediaEncryptionAlgorithm = -1;
2083 static gint ett_h245_AuthenticationCapability = -1;
2084 static gint ett_h245_IntegrityCapability = -1;
2085 static gint ett_h245_UserInputCapability = -1;
2086 static gint ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter = -1;
2087 static gint ett_h245_ConferenceCapability = -1;
2088 static gint ett_h245_SEQUENCE_OF_NonStandardParameter = -1;
2089 static gint ett_h245_GenericCapability = -1;
2090 static gint ett_h245_T_collapsing = -1;
2091 static gint ett_h245_T_nonCollapsing = -1;
2092 static gint ett_h245_CapabilityIdentifier = -1;
2093 static gint ett_h245_GenericParameter = -1;
2094 static gint ett_h245_SEQUENCE_OF_ParameterIdentifier = -1;
2095 static gint ett_h245_ParameterIdentifier = -1;
2096 static gint ett_h245_ParameterValue = -1;
2097 static gint ett_h245_SEQUENCE_OF_GenericParameter = -1;
2098 static gint ett_h245_MultiplexedStreamCapability = -1;
2099 static gint ett_h245_MultiplexFormat = -1;
2100 static gint ett_h245_AudioTelephonyEventCapability = -1;
2101 static gint ett_h245_AudioToneCapability = -1;
2102 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
2103 static gint ett_h245_NoPTAudioToneCapability = -1;
2104 static gint ett_h245_MultiplePayloadStreamCapability = -1;
2105 static gint ett_h245_DepFECCapability = -1;
2106 static gint ett_h245_FECC_rfc2733 = -1;
2107 static gint ett_h245_T_separateStreamBool = -1;
2108 static gint ett_h245_FECCapability = -1;
2109 static gint ett_h245_Rfc2733Format = -1;
2110 static gint ett_h245_OpenLogicalChannel = -1;
2111 static gint ett_h245_T_forwardLogicalChannelParameters = -1;
2112 static gint ett_h245_OLC_forw_multiplexParameters = -1;
2113 static gint ett_h245_OLC_reverseLogicalChannelParameters = -1;
2114 static gint ett_h245_OLC_rev_multiplexParameters = -1;
2115 static gint ett_h245_NetworkAccessParameters = -1;
2116 static gint ett_h245_T_distribution = -1;
2117 static gint ett_h245_T_networkAddress = -1;
2118 static gint ett_h245_T_t120SetupProcedure = -1;
2119 static gint ett_h245_Q2931Address = -1;
2120 static gint ett_h245_T_address = -1;
2121 static gint ett_h245_V75Parameters = -1;
2122 static gint ett_h245_DataType = -1;
2123 static gint ett_h245_H235Media = -1;
2124 static gint ett_h245_T_mediaType = -1;
2125 static gint ett_h245_MultiplexedStreamParameter = -1;
2126 static gint ett_h245_H222LogicalChannelParameters = -1;
2127 static gint ett_h245_H223LogicalChannelParameters = -1;
2128 static gint ett_h245_T_adaptationLayerType = -1;
2129 static gint ett_h245_Al3 = -1;
2130 static gint ett_h245_H223AL1MParameters = -1;
2131 static gint ett_h245_T_transferMode = -1;
2132 static gint ett_h245_AL1HeaderFEC = -1;
2133 static gint ett_h245_AL1CrcLength = -1;
2134 static gint ett_h245_ArqType = -1;
2135 static gint ett_h245_H223AL2MParameters = -1;
2136 static gint ett_h245_AL2HeaderFEC = -1;
2137 static gint ett_h245_H223AL3MParameters = -1;
2138 static gint ett_h245_T_headerFormat = -1;
2139 static gint ett_h245_AL3CrcLength = -1;
2140 static gint ett_h245_H223AnnexCArqParameters = -1;
2141 static gint ett_h245_T_numberOfRetransmissions = -1;
2142 static gint ett_h245_V76LogicalChannelParameters = -1;
2143 static gint ett_h245_T_suspendResume = -1;
2144 static gint ett_h245_V76LCP_mode = -1;
2145 static gint ett_h245_T_eRM = -1;
2146 static gint ett_h245_T_recovery = -1;
2147 static gint ett_h245_V76HDLCParameters = -1;
2148 static gint ett_h245_CRCLength = -1;
2149 static gint ett_h245_H2250LogicalChannelParameters = -1;
2150 static gint ett_h245_T_mediaPacketization = -1;
2151 static gint ett_h245_RTPPayloadType = -1;
2152 static gint ett_h245_T_payloadDescriptor = -1;
2153 static gint ett_h245_RedundancyEncoding = -1;
2154 static gint ett_h245_T_rtpRedundancyEncoding = -1;
2155 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingElement = -1;
2156 static gint ett_h245_RedundancyEncodingElement = -1;
2157 static gint ett_h245_MultiplePayloadStream = -1;
2158 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement = -1;
2159 static gint ett_h245_MultiplePayloadStreamElement = -1;
2160 static gint ett_h245_DepFECData = -1;
2161 static gint ett_h245_RFC2733Data = -1;
2162 static gint ett_h245_FECdata_mode = -1;
2163 static gint ett_h245_DepSeparateStream = -1;
2164 static gint ett_h245_T_differentPort = -1;
2165 static gint ett_h245_T_samePort = -1;
2166 static gint ett_h245_FECData = -1;
2167 static gint ett_h245_T_rfc2733 = -1;
2168 static gint ett_h245_T_pktMode = -1;
2169 static gint ett_h245_T_mode_rfc2733sameport = -1;
2170 static gint ett_h245_T_mode_rfc2733diffport = -1;
2171 static gint ett_h245_TransportAddress = -1;
2172 static gint ett_h245_UnicastAddress = -1;
2173 static gint ett_h245_T_iPAddress = -1;
2174 static gint ett_h245_T_iPXAddress = -1;
2175 static gint ett_h245_T_iP6Address = -1;
2176 static gint ett_h245_T_iPSourceRouteAddress = -1;
2177 static gint ett_h245_T_routing = -1;
2178 static gint ett_h245_T_route = -1;
2179 static gint ett_h245_MulticastAddress = -1;
2180 static gint ett_h245_MIPAddress = -1;
2181 static gint ett_h245_MIP6Address = -1;
2182 static gint ett_h245_EncryptionSync = -1;
2183 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData = -1;
2184 static gint ett_h245_EscrowData = -1;
2185 static gint ett_h245_OpenLogicalChannelAck = -1;
2186 static gint ett_h245_OLC_ack_reverseLogicalChannelParameters = -1;
2187 static gint ett_h245_T_olc_ack_multiplexParameters = -1;
2188 static gint ett_h245_T_forwardMultiplexAckParameters = -1;
2189 static gint ett_h245_OpenLogicalChannelReject = -1;
2190 static gint ett_h245_OpenLogicalChannelRejectCause = -1;
2191 static gint ett_h245_OpenLogicalChannelConfirm = -1;
2192 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
2193 static gint ett_h245_CloseLogicalChannel = -1;
2194 static gint ett_h245_T_cLC_source = -1;
2195 static gint ett_h245_Clc_reason = -1;
2196 static gint ett_h245_CloseLogicalChannelAck = -1;
2197 static gint ett_h245_RequestChannelClose = -1;
2198 static gint ett_h245_T_reason = -1;
2199 static gint ett_h245_RequestChannelCloseAck = -1;
2200 static gint ett_h245_RequestChannelCloseReject = -1;
2201 static gint ett_h245_RequestChannelCloseRejectCause = -1;
2202 static gint ett_h245_RequestChannelCloseRelease = -1;
2203 static gint ett_h245_MultiplexEntrySend = -1;
2204 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor = -1;
2205 static gint ett_h245_MultiplexEntryDescriptor = -1;
2206 static gint ett_h245_T_elementList = -1;
2207 static gint ett_h245_MultiplexElement = -1;
2208 static gint ett_h245_Me_type = -1;
2209 static gint ett_h245_T_subElementList = -1;
2210 static gint ett_h245_ME_repeatCount = -1;
2211 static gint ett_h245_MultiplexEntrySendAck = -1;
2212 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber = -1;
2213 static gint ett_h245_MultiplexEntrySendReject = -1;
2214 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions = -1;
2215 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
2216 static gint ett_h245_MultiplexEntryRejectionDescriptionsCause = -1;
2217 static gint ett_h245_MultiplexEntrySendRelease = -1;
2218 static gint ett_h245_RequestMultiplexEntry = -1;
2219 static gint ett_h245_RequestMultiplexEntryAck = -1;
2220 static gint ett_h245_RequestMultiplexEntryReject = -1;
2221 static gint ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions = -1;
2222 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
2223 static gint ett_h245_RequestMultiplexEntryRejectionDescriptionsCause = -1;
2224 static gint ett_h245_RequestMultiplexEntryRelease = -1;
2225 static gint ett_h245_RequestMode = -1;
2226 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription = -1;
2227 static gint ett_h245_RequestModeAck = -1;
2228 static gint ett_h245_Req_mode_ack_response = -1;
2229 static gint ett_h245_RequestModeReject = -1;
2230 static gint ett_h245_RequestModeRejectCause = -1;
2231 static gint ett_h245_RequestModeRelease = -1;
2232 static gint ett_h245_ModeDescription = -1;
2233 static gint ett_h245_ModeElementType = -1;
2234 static gint ett_h245_ModeElement = -1;
2235 static gint ett_h245_H235Mode = -1;
2236 static gint ett_h245_T_mediaMode = -1;
2237 static gint ett_h245_MultiplexedStreamModeParameters = -1;
2238 static gint ett_h245_RedundancyEncodingDTMode = -1;
2239 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement = -1;
2240 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
2241 static gint ett_h245_Re_type = -1;
2242 static gint ett_h245_MultiplePayloadStreamMode = -1;
2243 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode = -1;
2244 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
2245 static gint ett_h245_DepFECMode = -1;
2246 static gint ett_h245_T_rfc2733Mode = -1;
2247 static gint ett_h245_FEC_mode = -1;
2248 static gint ett_h245_FECMode = -1;
2249 static gint ett_h245_H223ModeParameters = -1;
2250 static gint ett_h245_AdaptationLayerType = -1;
2251 static gint ett_h245_V76ModeParameters = -1;
2252 static gint ett_h245_H2250ModeParameters = -1;
2253 static gint ett_h245_RedundancyEncodingMode = -1;
2254 static gint ett_h245_T_secondaryEncodingMode = -1;
2255 static gint ett_h245_VideoMode = -1;
2256 static gint ett_h245_H261VideoMode = -1;
2257 static gint ett_h245_H261Resolution = -1;
2258 static gint ett_h245_H262VideoMode = -1;
2259 static gint ett_h245_T_profileAndLevel = -1;
2260 static gint ett_h245_H263VideoMode = -1;
2261 static gint ett_h245_H263Resolution = -1;
2262 static gint ett_h245_IS11172VideoMode = -1;
2263 static gint ett_h245_AudioMode = -1;
2264 static gint ett_h245_Mode_g7231 = -1;
2265 static gint ett_h245_IS11172AudioMode = -1;
2266 static gint ett_h245_T_audioLayer = -1;
2267 static gint ett_h245_T_audioSampling = -1;
2268 static gint ett_h245_IS11172_multichannelType = -1;
2269 static gint ett_h245_IS13818AudioMode = -1;
2270 static gint ett_h245_IS13818AudioLayer = -1;
2271 static gint ett_h245_IS13818AudioSampling = -1;
2272 static gint ett_h245_IS13818MultichannelType = -1;
2273 static gint ett_h245_G7231AnnexCMode = -1;
2274 static gint ett_h245_VBDMode = -1;
2275 static gint ett_h245_DataMode = -1;
2276 static gint ett_h245_DataModeApplication = -1;
2277 static gint ett_h245_T38faxApp = -1;
2278 static gint ett_h245_EncryptionMode = -1;
2279 static gint ett_h245_RoundTripDelayRequest = -1;
2280 static gint ett_h245_RoundTripDelayResponse = -1;
2281 static gint ett_h245_MaintenanceLoopRequest = -1;
2282 static gint ett_h245_Mlr_type = -1;
2283 static gint ett_h245_MaintenanceLoopAck = -1;
2284 static gint ett_h245_Mla_type = -1;
2285 static gint ett_h245_MaintenanceLoopReject = -1;
2286 static gint ett_h245_Mlrej_type = -1;
2287 static gint ett_h245_MaintenanceLoopRejectCause = -1;
2288 static gint ett_h245_MaintenanceLoopOffCommand = -1;
2289 static gint ett_h245_CommunicationModeCommand = -1;
2290 static gint ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry = -1;
2291 static gint ett_h245_CommunicationModeRequest = -1;
2292 static gint ett_h245_CommunicationModeResponse = -1;
2293 static gint ett_h245_CommunicationModeTableEntry = -1;
2294 static gint ett_h245_T_entryDataType = -1;
2295 static gint ett_h245_ConferenceRequest = -1;
2296 static gint ett_h245_T_requestTerminalCertificate = -1;
2297 static gint ett_h245_CertSelectionCriteria = -1;
2298 static gint ett_h245_Criteria = -1;
2299 static gint ett_h245_TerminalLabel = -1;
2300 static gint ett_h245_ConferenceResponse = -1;
2301 static gint ett_h245_T_mCTerminalIDResponse = -1;
2302 static gint ett_h245_T_terminalIDResponse = -1;
2303 static gint ett_h245_T_conferenceIDResponse = -1;
2304 static gint ett_h245_T_passwordResponse = -1;
2305 static gint ett_h245_SET_SIZE_1_256_OF_TerminalLabel = -1;
2306 static gint ett_h245_T_makeMeChairResponse = -1;
2307 static gint ett_h245_T_extensionAddressResponse = -1;
2308 static gint ett_h245_T_chairTokenOwnerResponse = -1;
2309 static gint ett_h245_T_terminalCertificateResponse = -1;
2310 static gint ett_h245_T_broadcastMyLogicalChannelResponse = -1;
2311 static gint ett_h245_T_makeTerminalBroadcasterResponse = -1;
2312 static gint ett_h245_T_sendThisSourceResponse = -1;
2313 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
2314 static gint ett_h245_SEQUENCE_OF_TerminalInformation = -1;
2315 static gint ett_h245_TerminalInformation = -1;
2316 static gint ett_h245_RemoteMCRequest = -1;
2317 static gint ett_h245_RemoteMCResponse = -1;
2318 static gint ett_h245_T_reject = -1;
2319 static gint ett_h245_MultilinkRequest = -1;
2320 static gint ett_h245_CallInformationReq = -1;
2321 static gint ett_h245_AddConnectionReq = -1;
2322 static gint ett_h245_RemoveConnectionReq = -1;
2323 static gint ett_h245_MaximumHeaderIntervalReq = -1;
2324 static gint ett_h245_T_requestType = -1;
2325 static gint ett_h245_MultilinkResponse = -1;
2326 static gint ett_h245_CallInformationResp = -1;
2327 static gint ett_h245_AddConnectionResp = -1;
2328 static gint ett_h245_T_responseCode = -1;
2329 static gint ett_h245_T_rejected = -1;
2330 static gint ett_h245_RemoveConnectionResp = -1;
2331 static gint ett_h245_MaximumHeaderIntervalResp = -1;
2332 static gint ett_h245_MultilinkIndication = -1;
2333 static gint ett_h245_T_crcDesired = -1;
2334 static gint ett_h245_T_excessiveError = -1;
2335 static gint ett_h245_DialingInformation = -1;
2336 static gint ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber = -1;
2337 static gint ett_h245_DialingInformationNumber = -1;
2338 static gint ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType = -1;
2339 static gint ett_h245_DialingInformationNetworkType = -1;
2340 static gint ett_h245_ConnectionIdentifier = -1;
2341 static gint ett_h245_LogicalChannelRateRequest = -1;
2342 static gint ett_h245_LogicalChannelRateAcknowledge = -1;
2343 static gint ett_h245_LogicalChannelRateReject = -1;
2344 static gint ett_h245_LogicalChannelRateRejectReason = -1;
2345 static gint ett_h245_LogicalChannelRateRelease = -1;
2346 static gint ett_h245_SendTerminalCapabilitySet = -1;
2347 static gint ett_h245_T_specificRequest = -1;
2348 static gint ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber = -1;
2349 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber = -1;
2350 static gint ett_h245_EncryptionCommand = -1;
2351 static gint ett_h245_T_encryptionAlgorithmID = -1;
2352 static gint ett_h245_FlowControlCommand = -1;
2353 static gint ett_h245_Scope = -1;
2354 static gint ett_h245_Restriction = -1;
2355 static gint ett_h245_EndSessionCommand = -1;
2356 static gint ett_h245_T_gstnOptions = -1;
2357 static gint ett_h245_T_isdnOptions = -1;
2358 static gint ett_h245_ConferenceCommand = -1;
2359 static gint ett_h245_SubstituteConferenceIDCommand = -1;
2360 static gint ett_h245_EncryptionUpdateDirection = -1;
2361 static gint ett_h245_MiscellaneousCommand = -1;
2362 static gint ett_h245_Mc_type = -1;
2363 static gint ett_h245_T_videoFastUpdateGOB = -1;
2364 static gint ett_h245_T_videoFastUpdateMB = -1;
2365 static gint ett_h245_T_progressiveRefinementStart = -1;
2366 static gint ett_h245_T_repeatCount = -1;
2367 static gint ett_h245_T_videoBadMBs = -1;
2368 static gint ett_h245_SEQUENCE_OF_PictureReference = -1;
2369 static gint ett_h245_T_lostPartialPicture = -1;
2370 static gint ett_h245_T_encryptionUpdateCommand = -1;
2371 static gint ett_h245_T_encryptionUpdateAck = -1;
2372 static gint ett_h245_KeyProtectionMethod = -1;
2373 static gint ett_h245_EncryptionUpdateRequest = -1;
2374 static gint ett_h245_PictureReference = -1;
2375 static gint ett_h245_H223MultiplexReconfiguration = -1;
2376 static gint ett_h245_T_h223ModeChange = -1;
2377 static gint ett_h245_T_h223AnnexADoubleFlag = -1;
2378 static gint ett_h245_NewATMVCCommand = -1;
2379 static gint ett_h245_Cmd_aal = -1;
2380 static gint ett_h245_Cmd_aal1 = -1;
2381 static gint ett_h245_Cmd_clockRecovery = -1;
2382 static gint ett_h245_Cmd_errorCorrection = -1;
2383 static gint ett_h245_Cmd_aal5 = -1;
2384 static gint ett_h245_Cmd_multiplex = -1;
2385 static gint ett_h245_Cmd_reverseParameters = -1;
2386 static gint ett_h245_CmdR_multiplex = -1;
2387 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
2388 static gint ett_h245_T_status = -1;
2389 static gint ett_h245_FunctionNotUnderstood = -1;
2390 static gint ett_h245_FunctionNotSupported = -1;
2391 static gint ett_h245_FunctionNotSupportedCause = -1;
2392 static gint ett_h245_ConferenceIndication = -1;
2393 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
2394 static gint ett_h245_VideoIndicateCompose = -1;
2395 static gint ett_h245_MiscellaneousIndication = -1;
2396 static gint ett_h245_Mi_type = -1;
2397 static gint ett_h245_T_videoNotDecodedMBs = -1;
2398 static gint ett_h245_JitterIndication = -1;
2399 static gint ett_h245_H223SkewIndication = -1;
2400 static gint ett_h245_H2250MaximumSkewIndication = -1;
2401 static gint ett_h245_MCLocationIndication = -1;
2402 static gint ett_h245_VendorIdentification = -1;
2403 static gint ett_h245_NewATMVCIndication = -1;
2404 static gint ett_h245_Ind_aal = -1;
2405 static gint ett_h245_Ind_aal1 = -1;
2406 static gint ett_h245_Ind_clockRecovery = -1;
2407 static gint ett_h245_Ind_errorCorrection = -1;
2408 static gint ett_h245_Ind_aal5 = -1;
2409 static gint ett_h245_Ind_multiplex = -1;
2410 static gint ett_h245_Ind_reverseParameters = -1;
2411 static gint ett_h245_IndR_multiplex = -1;
2412 static gint ett_h245_Params = -1;
2413 static gint ett_h245_UserInputIndication = -1;
2414 static gint ett_h245_T_userInputSupportIndication = -1;
2415 static gint ett_h245_T_signal = -1;
2416 static gint ett_h245_T_rtp = -1;
2417 static gint ett_h245_T_signalUpdate = -1;
2418 static gint ett_h245_Si_rtp = -1;
2419 static gint ett_h245_T_extendedAlphanumeric = -1;
2420 static gint ett_h245_EncryptedAlphanumeric = -1;
2421 static gint ett_h245_FlowControlIndication = -1;
2422 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
2423
2424 /*--- End of included file: packet-h245-ett.c ---*/
2425 #line 394 "../../asn1/h245/packet-h245-template.c"
2426
2427 /* Forward declarations */
2428 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_);
2429 static void reset_h245_pi(void *dummy _U_)
2430 {
2431         h245_pi = NULL; /* Make sure we don't leave ep_alloc()ated memory lying around */
2432 }
2433
2434
2435 /*--- Included file: packet-h245-fn.c ---*/
2436 #line 1 "../../asn1/h245/packet-h245-fn.c"
2437 /*--- Cyclic dependencies ---*/
2438
2439 /* GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter */
2440 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_);
2441
2442 /* VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability */
2443 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_);
2444
2445 /* AudioCapability -> VBDCapability -> AudioCapability */
2446 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_);
2447
2448 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType */
2449 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> RedundancyEncoding/rtpRedundancyEncoding -> RedundancyEncodingElement -> DataType */
2450 /* DataType -> H235Media -> H235Media/mediaType -> MultiplePayloadStream -> MultiplePayloadStream/elements -> MultiplePayloadStreamElement -> DataType */
2451 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_);
2452
2453 /* MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement */
2454 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_);
2455
2456 /* AudioMode -> VBDMode -> AudioMode */
2457 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_);
2458
2459 /* ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType */
2460 /* ModeElementType -> MultiplePayloadStreamMode -> MultiplePayloadStreamMode/elements -> MultiplePayloadStreamElementMode -> ModeElementType */
2461 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_);
2462
2463
2464
2465
2466 static int
2467 dissect_h245_T_object(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2468   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID);
2469
2470   return offset;
2471 }
2472
2473
2474
2475 static int
2476 dissect_h245_T_t35CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2477   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2478                                                             0U, 255U, &t35CountryCode, FALSE);
2479
2480   return offset;
2481 }
2482
2483
2484
2485 static int
2486 dissect_h245_T_t35Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2487   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2488                                                             0U, 255U, &t35Extension, FALSE);
2489
2490   return offset;
2491 }
2492
2493
2494
2495 static int
2496 dissect_h245_T_manufacturerCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2497   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2498                                                             0U, 65535U, &manufacturerCode, FALSE);
2499
2500   return offset;
2501 }
2502
2503
2504 static const per_sequence_t H221NonStandardID_sequence[] = {
2505   { &hf_h245_t35CountryCode , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35CountryCode },
2506   { &hf_h245_t35Extension   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35Extension },
2507   { &hf_h245_manufacturerCode, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_manufacturerCode },
2508   { NULL, 0, 0, NULL }
2509 };
2510
2511 static int
2512 dissect_h245_H221NonStandardID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2513 #line 970 "../../asn1/h245/h245.cnf"
2514   t35CountryCode = 0;
2515   t35Extension = 0;
2516   manufacturerCode = 0;
2517
2518   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2519                                    ett_h245_H221NonStandardID, H221NonStandardID_sequence);
2520
2521 #line 974 "../../asn1/h245/h245.cnf"
2522   h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
2523   proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
2524
2525   return offset;
2526 }
2527
2528
2529 static const value_string h245_NonStandardIdentifier_vals[] = {
2530   {   0, "object" },
2531   {   1, "h221NonStandard" },
2532   { 0, NULL }
2533 };
2534
2535 static const per_choice_t NonStandardIdentifier_choice[] = {
2536   {   0, &hf_h245_object         , ASN1_NO_EXTENSIONS     , dissect_h245_T_object },
2537   {   1, &hf_h245_h221NonStandardID, ASN1_NO_EXTENSIONS     , dissect_h245_H221NonStandardID },
2538   { 0, NULL, 0, NULL }
2539 };
2540
2541 static int
2542 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2543 #line 951 "../../asn1/h245/h245.cnf"
2544         gint32 value;
2545
2546         nsiOID = "";
2547         h221NonStandard = 0;
2548
2549   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2550                                  ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice,
2551                                  &value);
2552
2553         switch (value) {
2554                 case 0 :  /* object */
2555                         nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
2556                         break;
2557                 case 1 :  /* h221NonStandard */
2558                         nsp_handle = dissector_get_uint_handle(nsp_h221_dissector_table, h221NonStandard);
2559                         break;
2560                 default :
2561                         nsp_handle = NULL;
2562     }
2563
2564
2565   return offset;
2566 }
2567
2568
2569
2570 static int
2571 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_) {
2572 #line 985 "../../asn1/h245/h245.cnf"
2573   tvbuff_t *next_tvb = NULL;
2574
2575   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2576                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
2577
2578   if (next_tvb && tvb_length(next_tvb)) {
2579     call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
2580   }
2581
2582
2583   return offset;
2584 }
2585
2586
2587 static const per_sequence_t NonStandardParameter_sequence[] = {
2588   { &hf_h245_nonStandardIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
2589   { &hf_h245_nsd_data       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nsd_data },
2590   { NULL, 0, 0, NULL }
2591 };
2592
2593 static int
2594 dissect_h245_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2595 #line 983 "../../asn1/h245/h245.cnf"
2596   nsp_handle = NULL;
2597
2598   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2599                                    ett_h245_NonStandardParameter, NonStandardParameter_sequence);
2600
2601   return offset;
2602 }
2603
2604
2605 static const per_sequence_t NonStandardMessage_sequence[] = {
2606   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
2607   { NULL, 0, 0, NULL }
2608 };
2609
2610 static int
2611 dissect_h245_NonStandardMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2612   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2613                                    ett_h245_NonStandardMessage, NonStandardMessage_sequence);
2614
2615   return offset;
2616 }
2617
2618
2619
2620 static int
2621 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_) {
2622   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2623                                                             0U, 255U, NULL, FALSE);
2624
2625   return offset;
2626 }
2627
2628
2629
2630 static int
2631 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_) {
2632   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2633                                                             0U, 16777215U, NULL, FALSE);
2634
2635   return offset;
2636 }
2637
2638
2639 static const per_sequence_t MasterSlaveDetermination_sequence[] = {
2640   { &hf_h245_terminalType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
2641   { &hf_h245_statusDeterminationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
2642   { NULL, 0, 0, NULL }
2643 };
2644
2645 static int
2646 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2647   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2648                                    ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
2649
2650 #line 573 "../../asn1/h245/h245.cnf"
2651
2652 if (h245_pi != NULL)
2653   h245_pi->msg_type = H245_MastSlvDet;
2654
2655   return offset;
2656 }
2657
2658
2659
2660 static int
2661 dissect_h245_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2662   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2663                                                             0U, 255U, NULL, FALSE);
2664
2665   return offset;
2666 }
2667
2668
2669
2670 static int
2671 dissect_h245_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2672   offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
2673
2674   return offset;
2675 }
2676
2677
2678
2679 static int
2680 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_) {
2681   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2682                                                             1U, 256U, NULL, FALSE);
2683
2684   return offset;
2685 }
2686
2687
2688
2689 static int
2690 dissect_h245_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2691   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2692
2693   return offset;
2694 }
2695
2696
2697 static const per_sequence_t T_aal1_sequence[] = {
2698   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2699   { &hf_h245_srtsClockRecovery_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2700   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2701   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2702   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2703   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2704   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2705   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2706   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2707   { NULL, 0, 0, NULL }
2708 };
2709
2710 static int
2711 dissect_h245_T_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2712   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2713                                    ett_h245_T_aal1, T_aal1_sequence);
2714
2715   return offset;
2716 }
2717
2718
2719
2720 static int
2721 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_) {
2722   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2723                                                             0U, 65535U, NULL, FALSE);
2724
2725   return offset;
2726 }
2727
2728
2729 static const per_sequence_t T_aal5_sequence[] = {
2730   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2731   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2732   { NULL, 0, 0, NULL }
2733 };
2734
2735 static int
2736 dissect_h245_T_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2737   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2738                                    ett_h245_T_aal5, T_aal5_sequence);
2739
2740   return offset;
2741 }
2742
2743
2744
2745 static int
2746 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_) {
2747   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2748                                                             1U, 65535U, NULL, FALSE);
2749
2750   return offset;
2751 }
2752
2753
2754 static const per_sequence_t T_rangeOfBitRates_sequence[] = {
2755   { &hf_h245_lowerBitRate   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2756   { &hf_h245_higherBitRate  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2757   { NULL, 0, 0, NULL }
2758 };
2759
2760 static int
2761 dissect_h245_T_rangeOfBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2762   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2763                                    ett_h245_T_rangeOfBitRates, T_rangeOfBitRates_sequence);
2764
2765   return offset;
2766 }
2767
2768
2769 static const value_string h245_Avb_type_vals[] = {
2770   {   0, "singleBitRate" },
2771   {   1, "rangeOfBitRates" },
2772   { 0, NULL }
2773 };
2774
2775 static const per_choice_t Avb_type_choice[] = {
2776   {   0, &hf_h245_singleBitRate  , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_1_65535 },
2777   {   1, &hf_h245_rangeOfBitRates, ASN1_NO_EXTENSIONS     , dissect_h245_T_rangeOfBitRates },
2778   { 0, NULL, 0, NULL }
2779 };
2780
2781 static int
2782 dissect_h245_Avb_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2783   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2784                                  ett_h245_Avb_type, Avb_type_choice,
2785                                  NULL);
2786
2787   return offset;
2788 }
2789
2790
2791 static const per_sequence_t T_availableBitRates_sequence[] = {
2792   { &hf_h245_avb_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Avb_type },
2793   { NULL, 0, 0, NULL }
2794 };
2795
2796 static int
2797 dissect_h245_T_availableBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2798   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2799                                    ett_h245_T_availableBitRates, T_availableBitRates_sequence);
2800
2801   return offset;
2802 }
2803
2804
2805
2806 static int
2807 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_) {
2808   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
2809                                           1, 16, FALSE);
2810
2811   return offset;
2812 }
2813
2814
2815
2816 static int
2817 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_) {
2818   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2819                                        1, 20, FALSE, NULL);
2820
2821   return offset;
2822 }
2823
2824
2825 static const value_string h245_T_address_vals[] = {
2826   {   0, "internationalNumber" },
2827   {   1, "nsapAddress" },
2828   { 0, NULL }
2829 };
2830
2831 static const per_choice_t T_address_choice[] = {
2832   {   0, &hf_h245_internationalNumber, ASN1_EXTENSION_ROOT    , dissect_h245_NumericString_SIZE_1_16 },
2833   {   1, &hf_h245_nsapAddress    , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2834   { 0, NULL, 0, NULL }
2835 };
2836
2837 static int
2838 dissect_h245_T_address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2839   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2840                                  ett_h245_T_address, T_address_choice,
2841                                  NULL);
2842
2843   return offset;
2844 }
2845
2846
2847 static const per_sequence_t Q2931Address_sequence[] = {
2848   { &hf_h245_address        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_address },
2849   { &hf_h245_subaddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2850   { NULL, 0, 0, NULL }
2851 };
2852
2853 static int
2854 dissect_h245_Q2931Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2855   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2856                                    ett_h245_Q2931Address, Q2931Address_sequence);
2857
2858   return offset;
2859 }
2860
2861
2862 static const per_sequence_t SET_SIZE_1_256_OF_Q2931Address_set_of[1] = {
2863   { &hf_h245_gatewayAddress_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Q2931Address },
2864 };
2865
2866 static int
2867 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_) {
2868   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
2869                                              ett_h245_SET_SIZE_1_256_OF_Q2931Address, SET_SIZE_1_256_OF_Q2931Address_set_of,
2870                                              1, 256, FALSE);
2871
2872   return offset;
2873 }
2874
2875
2876 static const per_sequence_t T_aal1ViaGateway_sequence[] = {
2877   { &hf_h245_gatewayAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_Q2931Address },
2878   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2879   { &hf_h245_srtsClockRecoveryflag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2880   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2881   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2882   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2883   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2884   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2885   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2886   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2887   { NULL, 0, 0, NULL }
2888 };
2889
2890 static int
2891 dissect_h245_T_aal1ViaGateway(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2892   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2893                                    ett_h245_T_aal1ViaGateway, T_aal1ViaGateway_sequence);
2894
2895   return offset;
2896 }
2897
2898
2899 static const per_sequence_t VCCapability_sequence[] = {
2900   { &hf_h245_aal1           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal1 },
2901   { &hf_h245_aal5           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal5 },
2902   { &hf_h245_transportStream_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2903   { &hf_h245_programStream  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2904   { &hf_h245_availableBitRates, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_availableBitRates },
2905   { &hf_h245_aal1ViaGateway , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_aal1ViaGateway },
2906   { NULL, 0, 0, NULL }
2907 };
2908
2909 static int
2910 dissect_h245_VCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2911   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2912                                    ett_h245_VCCapability, VCCapability_sequence);
2913
2914   return offset;
2915 }
2916
2917
2918 static const per_sequence_t SET_OF_VCCapability_set_of[1] = {
2919   { &hf_h245_vcCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VCCapability },
2920 };
2921
2922 static int
2923 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_) {
2924   offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
2925                                  ett_h245_SET_OF_VCCapability, SET_OF_VCCapability_set_of);
2926
2927   return offset;
2928 }
2929
2930
2931 static const per_sequence_t H222Capability_sequence[] = {
2932   { &hf_h245_numberOfVCs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
2933   { &hf_h245_vcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_OF_VCCapability },
2934   { NULL, 0, 0, NULL }
2935 };
2936
2937 static int
2938 dissect_h245_H222Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2939   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2940                                    ett_h245_H222Capability, H222Capability_sequence);
2941
2942   return offset;
2943 }
2944
2945
2946
2947 static int
2948 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_) {
2949   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2950                                                             0U, 1023U, NULL, FALSE);
2951
2952   return offset;
2953 }
2954
2955
2956
2957 static int
2958 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2959   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
2960
2961   return offset;
2962 }
2963
2964
2965
2966 static int
2967 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_) {
2968   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2969                                                             1U, 15U, NULL, FALSE);
2970
2971   return offset;
2972 }
2973
2974
2975
2976 static int
2977 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_) {
2978   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2979                                                             2U, 255U, NULL, FALSE);
2980
2981   return offset;
2982 }
2983
2984
2985 static const per_sequence_t T_enhanced_sequence[] = {
2986   { &hf_h245_maximumNestingDepth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_15 },
2987   { &hf_h245_maximumElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2988   { &hf_h245_maximumSubElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2989   { NULL, 0, 0, NULL }
2990 };
2991
2992 static int
2993 dissect_h245_T_enhanced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2994   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2995                                    ett_h245_T_enhanced, T_enhanced_sequence);
2996
2997   return offset;
2998 }
2999
3000
3001 static const value_string h245_T_h223MultiplexTableCapability_vals[] = {
3002   {   0, "basic" },
3003   {   1, "enhanced" },
3004   { 0, NULL }
3005 };
3006
3007 static const per_choice_t T_h223MultiplexTableCapability_choice[] = {
3008   {   0, &hf_h245_basic          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
3009   {   1, &hf_h245_enhanced       , ASN1_NO_EXTENSIONS     , dissect_h245_T_enhanced },
3010   { 0, NULL, 0, NULL }
3011 };
3012
3013 static int
3014 dissect_h245_T_h223MultiplexTableCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3015   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3016                                  ett_h245_T_h223MultiplexTableCapability, T_h223MultiplexTableCapability_choice,
3017                                  NULL);
3018
3019   return offset;
3020 }
3021
3022
3023 static const per_sequence_t T_mobileOperationTransmitCapability_sequence[] = {
3024   { &hf_h245_modeChangeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3025   { &hf_h245_h223AnnexA     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3026   { &hf_h245_h223AnnexADoubleFlagFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3027   { &hf_h245_h223AnnexB     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3028   { &hf_h245_h223AnnexBwithHeader, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3029   { NULL, 0, 0, NULL }
3030 };
3031
3032 static int
3033 dissect_h245_T_mobileOperationTransmitCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3034   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3035                                    ett_h245_T_mobileOperationTransmitCapability, T_mobileOperationTransmitCapability_sequence);
3036
3037   return offset;
3038 }
3039
3040
3041 static const per_sequence_t H223AnnexCCapability_sequence[] = {
3042   { &hf_h245_videoWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3043   { &hf_h245_videoWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3044   { &hf_h245_videoWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3045   { &hf_h245_audioWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3046   { &hf_h245_audioWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3047   { &hf_h245_audioWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3048   { &hf_h245_dataWithAL1M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3049   { &hf_h245_dataWithAL2M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3050   { &hf_h245_dataWithAL3M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3051   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3052   { &hf_h245_maximumAL1MPDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3053   { &hf_h245_maximumAL2MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3054   { &hf_h245_maximumAL3MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3055   { &hf_h245_rsCodeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
3056   { NULL, 0, 0, NULL }
3057 };
3058
3059 static int
3060 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3061   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3062                                    ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
3063
3064   return offset;
3065 }
3066
3067
3068
3069 static int
3070 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_) {
3071   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3072                                                             1U, 19200U, NULL, FALSE);
3073
3074   return offset;
3075 }
3076
3077
3078
3079 static int
3080 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_) {
3081   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3082                                                             1U, 255U, NULL, FALSE);
3083
3084   return offset;
3085 }
3086
3087
3088
3089 static int
3090 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_) {
3091   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3092                                                             1U, 65025U, NULL, FALSE);
3093
3094   return offset;
3095 }
3096
3097
3098 static const per_sequence_t T_mobileMultilinkFrameCapability_sequence[] = {
3099   { &hf_h245_maximumSampleSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
3100   { &hf_h245_maximumPayloadLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65025 },
3101   { NULL, 0, 0, NULL }
3102 };
3103
3104 static int
3105 dissect_h245_T_mobileMultilinkFrameCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3106   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3107                                    ett_h245_T_mobileMultilinkFrameCapability, T_mobileMultilinkFrameCapability_sequence);
3108
3109   return offset;
3110 }
3111
3112
3113 static const per_sequence_t H223Capability_sequence[] = {
3114   { &hf_h245_transportWithI_frames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3115   { &hf_h245_videoWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3116   { &hf_h245_videoWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3117   { &hf_h245_videoWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3118   { &hf_h245_audioWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3119   { &hf_h245_audioWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3120   { &hf_h245_audioWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3121   { &hf_h245_dataWithAL1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3122   { &hf_h245_dataWithAL2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3123   { &hf_h245_dataWithAL3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3124   { &hf_h245_maximumAl2SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3125   { &hf_h245_maximumAl3SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3126   { &hf_h245_maximumDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
3127   { &hf_h245_h223MultiplexTableCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223MultiplexTableCapability },
3128   { &hf_h245_maxMUXPDUSizeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3129   { &hf_h245_nsrpSupport    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3130   { &hf_h245_mobileOperationTransmitCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileOperationTransmitCapability },
3131   { &hf_h245_h223AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H223AnnexCCapability },
3132   { &hf_h245_bitRate_1_19200, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_19200 },
3133   { &hf_h245_mobileMultilinkFrameCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileMultilinkFrameCapability },
3134   { NULL, 0, 0, NULL }
3135 };
3136
3137 int
3138 dissect_h245_H223Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3139   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3140                                    ett_h245_H223Capability, H223Capability_sequence);
3141
3142   return offset;
3143 }
3144
3145
3146
3147 static int
3148 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_) {
3149   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3150                                                             2U, 8191U, NULL, FALSE);
3151
3152   return offset;
3153 }
3154
3155
3156
3157 static int
3158 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_) {
3159   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3160                                                             1U, 4095U, NULL, FALSE);
3161
3162   return offset;
3163 }
3164
3165
3166
3167 static int
3168 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_) {
3169   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3170                                                             1U, 127U, NULL, FALSE);
3171
3172   return offset;
3173 }
3174
3175
3176 static const per_sequence_t V75Capability_sequence[] = {
3177   { &hf_h245_audioHeader    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3178   { NULL, 0, 0, NULL }
3179 };
3180
3181 static int
3182 dissect_h245_V75Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3183   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3184                                    ett_h245_V75Capability, V75Capability_sequence);
3185
3186   return offset;
3187 }
3188
3189
3190 static const per_sequence_t V76Capability_sequence[] = {
3191   { &hf_h245_suspendResumeCapabilitywAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3192   { &hf_h245_suspendResumeCapabilitywoAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3193   { &hf_h245_rejCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3194   { &hf_h245_sREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3195   { &hf_h245_mREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3196   { &hf_h245_crc8bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3197   { &hf_h245_crc16bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3198   { &hf_h245_crc32bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3199   { &hf_h245_uihCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3200   { &hf_h245_numOfDLCS      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_8191 },
3201   { &hf_h245_twoOctetAddressFieldCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3202   { &hf_h245_loopBackTestCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3203   { &hf_h245_n401Capability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
3204   { &hf_h245_maxWindowSizeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
3205   { &hf_h245_v75Capability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Capability },
3206   { NULL, 0, 0, NULL }
3207 };
3208
3209 static int
3210 dissect_h245_V76Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3211   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3212                                    ett_h245_V76Capability, V76Capability_sequence);
3213
3214   return offset;
3215 }
3216
3217
3218
3219 static int
3220 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_) {
3221   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3222                                                             1U, 65536U, NULL, FALSE);
3223
3224   return offset;
3225 }
3226
3227
3228 static const per_sequence_t V42bis_sequence[] = {
3229   { &hf_h245_numberOfCodewords, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
3230   { &hf_h245_maximumStringLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
3231   { NULL, 0, 0, NULL }
3232 };
3233
3234 static int
3235 dissect_h245_V42bis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3236   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3237                                    ett_h245_V42bis, V42bis_sequence);
3238
3239   return offset;
3240 }
3241
3242
3243 static const value_string h245_CompressionType_vals[] = {
3244   {   0, "v42bis" },
3245   { 0, NULL }
3246 };
3247
3248 static const per_choice_t CompressionType_choice[] = {
3249   {   0, &hf_h245_v42bis         , ASN1_EXTENSION_ROOT    , dissect_h245_V42bis },
3250   { 0, NULL, 0, NULL }
3251 };
3252
3253 static int
3254 dissect_h245_CompressionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3255   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3256                                  ett_h245_CompressionType, CompressionType_choice,
3257                                  NULL);
3258
3259   return offset;
3260 }
3261
3262
3263 static const value_string h245_T_v76wCompression_vals[] = {
3264   {   0, "transmitCompression" },
3265   {   1, "receiveCompression" },
3266   {   2, "transmitAndReceiveCompression" },
3267   { 0, NULL }
3268 };
3269
3270 static const per_choice_t T_v76wCompression_choice[] = {
3271   {   0, &hf_h245_transmitCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3272   {   1, &hf_h245_receiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3273   {   2, &hf_h245_transmitAndReceiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3274   { 0, NULL, 0, NULL }
3275 };
3276
3277 static int
3278 dissect_h245_T_v76wCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3279   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3280                                  ett_h245_T_v76wCompression, T_v76wCompression_choice,
3281                                  NULL);
3282
3283   return offset;
3284 }
3285
3286
3287 const value_string DataProtocolCapability_vals[] = {
3288   {   0, "nonStandard" },
3289   {   1, "v14buffered" },
3290   {   2, "v42lapm" },
3291   {   3, "hdlcFrameTunnelling" },
3292   {   4, "h310SeparateVCStack" },
3293   {   5, "h310SingleVCStack" },
3294   {   6, "transparent" },
3295   {   7, "segmentationAndReassembly" },
3296   {   8, "hdlcFrameTunnelingwSAR" },
3297   {   9, "v120" },
3298   {  10, "separateLANStack" },
3299   {  11, "v76wCompression" },
3300   {  12, "tcp" },
3301   {  13, "udp" },
3302   { 0, NULL }
3303 };
3304
3305 static const per_choice_t DataProtocolCapability_choice[] = {
3306   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3307   {   1, &hf_h245_v14buffered    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3308   {   2, &hf_h245_v42lapm        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3309   {   3, &hf_h245_hdlcFrameTunnelling, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3310   {   4, &hf_h245_h310SeparateVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3311   {   5, &hf_h245_h310SingleVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3312   {   6, &hf_h245_transparent    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3313   {   7, &hf_h245_segmentationAndReassembly, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3314   {   8, &hf_h245_hdlcFrameTunnelingwSAR, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3315   {   9, &hf_h245_v120           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3316   {  10, &hf_h245_separateLANStack, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3317   {  11, &hf_h245_v76wCompression, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_v76wCompression },
3318   {  12, &hf_h245_tcp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3319   {  13, &hf_h245_udp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3320   { 0, NULL, 0, NULL }
3321 };
3322
3323 int
3324 dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3325   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3326                                  ett_h245_DataProtocolCapability, DataProtocolCapability_choice,
3327                                  NULL);
3328
3329   return offset;
3330 }
3331
3332
3333 static const per_sequence_t T_t84Restricted_sequence[] = {
3334   { &hf_h245_qcif_bool      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3335   { &hf_h245_cif_bool       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3336   { &hf_h245_ccir601Seq     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3337   { &hf_h245_ccir601Prog    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3338   { &hf_h245_hdtvSeq        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3339   { &hf_h245_hdtvProg       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3340   { &hf_h245_g3FacsMH200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3341   { &hf_h245_g3FacsMH200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3342   { &hf_h245_g4FacsMMR200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3343   { &hf_h245_g4FacsMMR200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3344   { &hf_h245_jbig200x200Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3345   { &hf_h245_jbig200x200Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3346   { &hf_h245_jbig300x300Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3347   { &hf_h245_jbig300x300Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3348   { &hf_h245_digPhotoLow    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3349   { &hf_h245_digPhotoMedSeq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3350   { &hf_h245_digPhotoMedProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3351   { &hf_h245_digPhotoHighSeq, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3352   { &hf_h245_digPhotoHighProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3353   { NULL, 0, 0, NULL }
3354 };
3355
3356 static int
3357 dissect_h245_T_t84Restricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3358   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3359                                    ett_h245_T_t84Restricted, T_t84Restricted_sequence);
3360
3361   return offset;
3362 }
3363
3364
3365 static const value_string h245_T84Profile_vals[] = {
3366   {   0, "t84Unrestricted" },
3367   {   1, "t84Restricted" },
3368   { 0, NULL }
3369 };
3370
3371 static const per_choice_t T84Profile_choice[] = {
3372   {   0, &hf_h245_t84Unrestricted, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
3373   {   1, &hf_h245_t84Restricted  , ASN1_NO_EXTENSIONS     , dissect_h245_T_t84Restricted },
3374   { 0, NULL, 0, NULL }
3375 };
3376
3377 static int
3378 dissect_h245_T84Profile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3379   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3380                                  ett_h245_T84Profile, T84Profile_choice,
3381                                  NULL);
3382
3383   return offset;
3384 }
3385
3386
3387 static const per_sequence_t T_t84_sequence[] = {
3388   { &hf_h245_t84Protocol    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3389   { &hf_h245_t84Profile     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T84Profile },
3390   { NULL, 0, 0, NULL }
3391 };
3392
3393 static int
3394 dissect_h245_T_t84(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3395   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3396                                    ett_h245_T_t84, T_t84_sequence);
3397
3398   return offset;
3399 }
3400
3401
3402
3403 static int
3404 dissect_h245_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3405   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3406                                        NO_BOUND, NO_BOUND, FALSE, NULL);
3407
3408   return offset;
3409 }
3410
3411
3412 static const per_sequence_t Nlpid_sequence[] = {
3413   { &hf_h245_nlpidProtocol  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3414   { &hf_h245_nlpidData      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
3415   { NULL, 0, 0, NULL }
3416 };
3417
3418 static int
3419 dissect_h245_Nlpid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3420   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3421                                    ett_h245_Nlpid, Nlpid_sequence);
3422
3423   return offset;
3424 }
3425
3426
3427 static const value_string h245_T38FaxRateManagement_vals[] = {
3428   {   0, "localTCF" },
3429   {   1, "transferredTCF" },
3430   { 0, NULL }
3431 };
3432
3433 static const per_choice_t T38FaxRateManagement_choice[] = {
3434   {   0, &hf_h245_localTCF       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3435   {   1, &hf_h245_transferredTCF , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3436   { 0, NULL, 0, NULL }
3437 };
3438
3439 static int
3440 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3441   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3442                                  ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice,
3443                                  NULL);
3444
3445   return offset;
3446 }
3447
3448
3449
3450 static int
3451 dissect_h245_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3452   offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
3453
3454   return offset;
3455 }
3456
3457
3458 static const value_string h245_T_t38FaxUdpEC_vals[] = {
3459   {   0, "t38UDPFEC" },
3460   {   1, "t38UDPRedundancy" },
3461   { 0, NULL }
3462 };
3463
3464 static const per_choice_t T_t38FaxUdpEC_choice[] = {
3465   {   0, &hf_h245_t38UDPFEC      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3466   {   1, &hf_h245_t38UDPRedundancy, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3467   { 0, NULL, 0, NULL }
3468 };
3469
3470 static int
3471 dissect_h245_T_t38FaxUdpEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3472   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3473                                  ett_h245_T_t38FaxUdpEC, T_t38FaxUdpEC_choice,
3474                                  NULL);
3475
3476   return offset;
3477 }
3478
3479
3480 static const per_sequence_t T38FaxUdpOptions_sequence[] = {
3481   { &hf_h245_t38FaxMaxBuffer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3482   { &hf_h245_t38FaxMaxDatagram, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3483   { &hf_h245_t38FaxUdpEC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t38FaxUdpEC },
3484   { NULL, 0, 0, NULL }
3485 };
3486
3487 static int
3488 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3489   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3490                                    ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
3491
3492   return offset;
3493 }
3494
3495
3496 static const per_sequence_t T38FaxTcpOptions_sequence[] = {
3497   { &hf_h245_t38TCPBidirectionalMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3498   { NULL, 0, 0, NULL }
3499 };
3500
3501 static int
3502 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3503   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3504                                    ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
3505
3506   return offset;
3507 }
3508
3509
3510 static const per_sequence_t T38FaxProfile_sequence[] = {
3511   { &hf_h245_fillBitRemoval , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3512   { &hf_h245_transcodingJBIG, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3513   { &hf_h245_transcodingMMR , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3514   { &hf_h245_version        , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
3515   { &hf_h245_t38FaxRateManagement, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T38FaxRateManagement },
3516   { &hf_h245_t38FaxUdpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxUdpOptions },
3517   { &hf_h245_t38FaxTcpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxTcpOptions },
3518   { NULL, 0, 0, NULL }
3519 };
3520
3521 int
3522 dissect_h245_T38FaxProfile(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_T38FaxProfile, T38FaxProfile_sequence);
3525
3526   return offset;
3527 }
3528
3529
3530 static const per_sequence_t T_t38fax_sequence[] = {
3531   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3532   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
3533   { NULL, 0, 0, NULL }
3534 };
3535
3536 static int
3537 dissect_h245_T_t38fax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3538   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3539                                    ett_h245_T_t38fax, T_t38fax_sequence);
3540
3541   return offset;
3542 }
3543
3544
3545
3546 static int
3547 dissect_h245_T_standardOid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3548 #line 730 "../../asn1/h245/h245.cnf"
3549   const gchar *standard_oid_str = NULL;
3550   gef_ctx_t *gefx;
3551
3552   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &standard_oid_str);
3553
3554   gefx = gef_ctx_get(actx->private_data);
3555   if (gefx) gefx->id = standard_oid_str;
3556
3557   if(strcmp(standard_oid_str,"0.0.8.235.0.3.76") == 0) {  /* MIKEY */
3558     if (upcoming_channel)
3559           upcoming_channel->srtp_flag = TRUE;
3560   }
3561
3562   if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0)
3563         h245_lc_dissector = amr_handle;
3564
3565
3566   return offset;
3567 }
3568
3569
3570
3571 static int
3572 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_) {
3573   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3574                                        16, 16, FALSE, NULL);
3575
3576   return offset;
3577 }
3578
3579
3580
3581 static int
3582 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_) {
3583   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3584                                           1, 64, FALSE);
3585
3586   return offset;
3587 }
3588
3589
3590 static const value_string h245_CapabilityIdentifier_vals[] = {
3591   {   0, "standard" },
3592   {   1, "h221NonStandard" },
3593   {   2, "uuid" },
3594   {   3, "domainBased" },
3595   { 0, NULL }
3596 };
3597
3598 static const per_choice_t CapabilityIdentifier_choice[] = {
3599   {   0, &hf_h245_standardOid    , ASN1_EXTENSION_ROOT    , dissect_h245_T_standardOid },
3600   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3601   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3602   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3603   { 0, NULL, 0, NULL }
3604 };
3605
3606 static int
3607 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3608 #line 716 "../../asn1/h245/h245.cnf"
3609   gef_ctx_t *gefx;
3610
3611   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3612                                  ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice,
3613                                  NULL);
3614
3615 #line 718 "../../asn1/h245/h245.cnf"
3616   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3617   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG CapabilityIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3618   gefx = gef_ctx_get(actx->private_data);
3619   if (gefx) {
3620     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3621     actx->pinfo->private_data = actx;
3622     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3623   }
3624   actx->private_data = gefx;  /* subdissector could overwrite it */
3625
3626   return offset;
3627 }
3628
3629
3630
3631 static int
3632 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_) {
3633   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3634                                                             0U, 4294967295U, NULL, FALSE);
3635
3636   return offset;
3637 }
3638
3639
3640
3641 static int
3642 dissect_h245_T_standard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3643 #line 761 "../../asn1/h245/h245.cnf"
3644   guint32 value_int = (guint32)-1;
3645   gef_ctx_t *gefx;
3646
3647   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3648                                                             0U, 127U, &value_int, FALSE);
3649
3650   gefx = gef_ctx_get(actx->private_data);
3651   if (gefx) gefx->id = ep_strdup_printf("%d", value_int);
3652
3653
3654   return offset;
3655 }
3656
3657
3658 static const value_string h245_ParameterIdentifier_vals[] = {
3659   {   0, "standard" },
3660   {   1, "h221NonStandard" },
3661   {   2, "uuid" },
3662   {   3, "domainBased" },
3663   { 0, NULL }
3664 };
3665
3666 static const per_choice_t ParameterIdentifier_choice[] = {
3667   {   0, &hf_h245_standard       , ASN1_EXTENSION_ROOT    , dissect_h245_T_standard },
3668   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3669   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3670   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3671   { 0, NULL, 0, NULL }
3672 };
3673
3674 static int
3675 dissect_h245_ParameterIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3676 #line 747 "../../asn1/h245/h245.cnf"
3677   gef_ctx_t *gefx;
3678
3679   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3680                                  ett_h245_ParameterIdentifier, ParameterIdentifier_choice,
3681                                  NULL);
3682
3683 #line 749 "../../asn1/h245/h245.cnf"
3684   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3685   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG ParameterIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3686   gefx = gef_ctx_get(actx->private_data);
3687   if (gefx) {
3688     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3689     actx->pinfo->private_data = actx;
3690     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3691   }
3692   actx->private_data = gefx;  /* subdissector could overwrite it */
3693
3694   return offset;
3695 }
3696
3697
3698
3699 static int
3700 dissect_h245_T_booleanArray(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3701 #line 770 "../../asn1/h245/h245.cnf"
3702   guint32 value;
3703   guint8 *buf;
3704   tvbuff_t *value_tvb;
3705   gef_ctx_t *gefx;
3706
3707   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3708                                                             0U, 255U, &value, FALSE);
3709
3710   gefx = gef_ctx_get(actx->private_data);
3711   if (gefx) {
3712     buf = ep_alloc(sizeof(guint8));
3713     buf[0] = value;
3714     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint8), sizeof(guint8));
3715     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3716     add_new_data_source(actx->pinfo, value_tvb, "booleanArray");
3717     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3718   }
3719
3720
3721   return offset;
3722 }
3723
3724
3725
3726 static int
3727 dissect_h245_T_unsignedMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3728 #line 787 "../../asn1/h245/h245.cnf"
3729   guint32 value;
3730   guint8 *buf;
3731   tvbuff_t *value_tvb;
3732   gef_ctx_t *gefx;
3733
3734   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3735                                                             0U, 65535U, &value, FALSE);
3736
3737   gefx = gef_ctx_get(actx->private_data);
3738   if (gefx) {
3739     buf = ep_alloc(sizeof(guint16));
3740     phtons(buf, value);
3741     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
3742     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3743     add_new_data_source(actx->pinfo, value_tvb, "unsignedMin");
3744     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3745   }
3746
3747
3748   return offset;
3749 }
3750
3751
3752
3753 static int
3754 dissect_h245_T_unsignedMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3755 #line 804 "../../asn1/h245/h245.cnf"
3756   guint32 value;
3757   guint8 *buf;
3758   tvbuff_t *value_tvb;
3759   gef_ctx_t *gefx;
3760
3761   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3762                                                             0U, 65535U, &value, FALSE);
3763
3764   gefx = gef_ctx_get(actx->private_data);
3765   if (gefx) {
3766     buf = ep_alloc(sizeof(guint16));
3767     phtons(buf, value);
3768     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
3769     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3770     add_new_data_source(actx->pinfo, value_tvb, "unsignedMax");
3771     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3772   }
3773
3774
3775   return offset;
3776 }
3777
3778
3779
3780 static int
3781 dissect_h245_T_unsigned32Min(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3782 #line 821 "../../asn1/h245/h245.cnf"
3783   guint32 value;
3784   guint8 *buf;
3785   tvbuff_t *value_tvb;
3786   gef_ctx_t *gefx;
3787
3788   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3789                                                             0U, 4294967295U, &value, FALSE);
3790
3791   gefx = gef_ctx_get(actx->private_data);
3792   if (gefx) {
3793     buf = ep_alloc(sizeof(guint32));
3794     phtonl(buf, value);
3795     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
3796     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3797     add_new_data_source(actx->pinfo, value_tvb, "unsigned32Min");
3798     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3799   }
3800
3801
3802   return offset;
3803 }
3804
3805
3806
3807 static int
3808 dissect_h245_T_unsigned32Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3809 #line 838 "../../asn1/h245/h245.cnf"
3810   guint32 value;
3811   guint8 *buf;
3812   tvbuff_t *value_tvb;
3813   gef_ctx_t *gefx;
3814
3815   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3816                                                             0U, 4294967295U, &value, FALSE);
3817
3818   gefx = gef_ctx_get(actx->private_data);
3819   if (gefx) {
3820     buf = ep_alloc(sizeof(guint32));
3821     phtonl(buf, value);
3822     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
3823     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3824     add_new_data_source(actx->pinfo, value_tvb, "unsigned32Max");
3825     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3826   }
3827
3828
3829   return offset;
3830 }
3831
3832
3833
3834 static int
3835 dissect_h245_T_octetString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3836 #line 855 "../../asn1/h245/h245.cnf"
3837   tvbuff_t *value_tvb;
3838   gef_ctx_t *gefx;
3839
3840   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3841                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3842
3843   gefx = gef_ctx_get(actx->private_data);
3844   if (gefx) {
3845     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3846     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3847   }
3848
3849
3850   return offset;
3851 }
3852
3853
3854 static const per_sequence_t SEQUENCE_OF_GenericParameter_sequence_of[1] = {
3855   { &hf_h245_genericParameters_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericParameter },
3856 };
3857
3858 static int
3859 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_) {
3860   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3861                                       ett_h245_SEQUENCE_OF_GenericParameter, SEQUENCE_OF_GenericParameter_sequence_of);
3862
3863   return offset;
3864 }
3865
3866
3867 static const value_string h245_ParameterValue_vals[] = {
3868   {   0, "logical" },
3869   {   1, "booleanArray" },
3870   {   2, "unsignedMin" },
3871   {   3, "unsignedMax" },
3872   {   4, "unsigned32Min" },
3873   {   5, "unsigned32Max" },
3874   {   6, "octetString" },
3875   {   7, "genericParameter" },
3876   { 0, NULL }
3877 };
3878
3879 static const per_choice_t ParameterValue_choice[] = {
3880   {   0, &hf_h245_logical        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3881   {   1, &hf_h245_booleanArray   , ASN1_EXTENSION_ROOT    , dissect_h245_T_booleanArray },
3882   {   2, &hf_h245_unsignedMin    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMin },
3883   {   3, &hf_h245_unsignedMax    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMax },
3884   {   4, &hf_h245_unsigned32Min  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Min },
3885   {   5, &hf_h245_unsigned32Max  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Max },
3886   {   6, &hf_h245_octetString    , ASN1_EXTENSION_ROOT    , dissect_h245_T_octetString },
3887   {   7, &hf_h245_genericParameters, ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_OF_GenericParameter },
3888   { 0, NULL, 0, NULL }
3889 };
3890
3891 static int
3892 dissect_h245_ParameterValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3893   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3894                                  ett_h245_ParameterValue, ParameterValue_choice,
3895                                  NULL);
3896
3897   return offset;
3898 }
3899
3900
3901 static const per_sequence_t SEQUENCE_OF_ParameterIdentifier_sequence_of[1] = {
3902   { &hf_h245_supersedes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3903 };
3904
3905 static int
3906 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_) {
3907   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3908                                       ett_h245_SEQUENCE_OF_ParameterIdentifier, SEQUENCE_OF_ParameterIdentifier_sequence_of);
3909
3910   return offset;
3911 }
3912
3913
3914 static const per_sequence_t GenericParameter_sequence[] = {
3915   { &hf_h245_parameterIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3916   { &hf_h245_parameterValue , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterValue },
3917   { &hf_h245_supersedes     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_ParameterIdentifier },
3918   { NULL, 0, 0, NULL }
3919 };
3920
3921 static int
3922 dissect_h245_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3923   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3924                                    ett_h245_GenericParameter, GenericParameter_sequence);
3925
3926   return offset;
3927 }
3928
3929
3930
3931 static int
3932 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_) {
3933 #line 672 "../../asn1/h245/h245.cnf"
3934   gef_ctx_t *parent_gefx;
3935
3936   parent_gefx = gef_ctx_get(actx->private_data);
3937   actx->private_data = gef_ctx_alloc(parent_gefx, "collapsing");
3938
3939   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3940
3941 #line 677 "../../asn1/h245/h245.cnf"
3942   actx->private_data = parent_gefx;
3943
3944   return offset;
3945 }
3946
3947
3948 static const per_sequence_t T_collapsing_sequence_of[1] = {
3949   { &hf_h245_collapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_collapsing_item },
3950 };
3951
3952 static int
3953 dissect_h245_T_collapsing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3954   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3955                                       ett_h245_T_collapsing, T_collapsing_sequence_of);
3956
3957   return offset;
3958 }
3959
3960
3961
3962 static int
3963 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_) {
3964 #line 681 "../../asn1/h245/h245.cnf"
3965   gef_ctx_t *parent_gefx;
3966
3967   parent_gefx = gef_ctx_get(actx->private_data);
3968   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsing");
3969
3970   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3971
3972 #line 686 "../../asn1/h245/h245.cnf"
3973   actx->private_data = parent_gefx;
3974
3975   return offset;
3976 }
3977
3978
3979 static const per_sequence_t T_nonCollapsing_sequence_of[1] = {
3980   { &hf_h245_nonCollapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nonCollapsing_item },
3981 };
3982
3983 static int
3984 dissect_h245_T_nonCollapsing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3985   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3986                                       ett_h245_T_nonCollapsing, T_nonCollapsing_sequence_of);
3987
3988   return offset;
3989 }
3990
3991
3992
3993 static int
3994 dissect_h245_T_nonCollapsingRaw(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3995 #line 690 "../../asn1/h245/h245.cnf"
3996   tvbuff_t *value_tvb;
3997   gef_ctx_t *parent_gefx;
3998   gef_ctx_t *gefx;
3999
4000   parent_gefx = gef_ctx_get(actx->private_data);
4001   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsingRaw");
4002   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4003                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
4004
4005   gefx = gef_ctx_get(actx->private_data);
4006   if (gefx) {
4007     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
4008     actx->pinfo->private_data = actx;
4009     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
4010   }
4011   actx->private_data = parent_gefx;
4012
4013
4014   return offset;
4015 }
4016
4017
4018 static const per_sequence_t GenericCapability_sequence[] = {
4019   { &hf_h245_capabilityIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
4020   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4021   { &hf_h245_collapsing     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_collapsing },
4022   { &hf_h245_nonCollapsing  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsing },
4023   { &hf_h245_nonCollapsingRaw, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsingRaw },
4024   { &hf_h245_transport      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataProtocolCapability },
4025   { NULL, 0, 0, NULL }
4026 };
4027
4028 static int
4029 dissect_h245_GenericCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4030 #line 665 "../../asn1/h245/h245.cnf"
4031   void *priv_data = actx->private_data;
4032   actx->private_data = gef_ctx_alloc(NULL, "GenericCapability");
4033
4034   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4035                                    ett_h245_GenericCapability, GenericCapability_sequence);
4036
4037 #line 668 "../../asn1/h245/h245.cnf"
4038   actx->private_data = priv_data;
4039
4040   return offset;
4041 }
4042
4043
4044 static const value_string h245_Application_vals[] = {
4045   {   0, "nonStandard" },
4046   {   1, "t120" },
4047   {   2, "dsm-cc" },
4048   {   3, "userData" },
4049   {   4, "t84" },
4050   {   5, "t434" },
4051   {   6, "h224" },
4052   {   7, "nlpid" },
4053   {   8, "dsvdControl" },
4054   {   9, "h222DataPartitioning" },
4055   {  10, "t30fax" },
4056   {  11, "t140" },
4057   {  12, "t38fax" },
4058   {  13, "genericDataCapability" },
4059   { 0, NULL }
4060 };
4061
4062 static const per_choice_t Application_choice[] = {
4063   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4064   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4065   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4066   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4067   {   4, &hf_h245_t84            , ASN1_EXTENSION_ROOT    , dissect_h245_T_t84 },
4068   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4069   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4070   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
4071   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4072   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4073   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4074   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4075   {  12, &hf_h245_t38fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_t38fax },
4076   {  13, &hf_h245_genericDataCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4077   { 0, NULL, 0, NULL }
4078 };
4079
4080 static int
4081 dissect_h245_Application(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4082 #line 503 "../../asn1/h245/h245.cnf"
4083   gint32 value;
4084
4085   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4086                                  ett_h245_Application, Application_choice,
4087                                  &value);
4088
4089         codec_type = val_to_str(value, h245_Application_vals, "<unknown>");
4090
4091
4092   return offset;
4093 }
4094
4095
4096 static const per_sequence_t DataApplicationCapability_sequence[] = {
4097   { &hf_h245_application    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Application },
4098   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
4099   { NULL, 0, 0, NULL }
4100 };
4101
4102 static int
4103 dissect_h245_DataApplicationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4104   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4105                                    ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
4106
4107   return offset;
4108 }
4109
4110
4111 static const per_sequence_t SEQUENCE_OF_DataApplicationCapability_sequence_of[1] = {
4112   { &hf_h245_centralizedData_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataApplicationCapability },
4113 };
4114
4115 static int
4116 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_) {
4117   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4118                                       ett_h245_SEQUENCE_OF_DataApplicationCapability, SEQUENCE_OF_DataApplicationCapability_sequence_of);
4119
4120   return offset;
4121 }
4122
4123
4124 static const per_sequence_t MediaDistributionCapability_sequence[] = {
4125   { &hf_h245_centralizedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4126   { &hf_h245_distributedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4127   { &hf_h245_centralizedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4128   { &hf_h245_distributedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4129   { &hf_h245_centralizedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4130   { &hf_h245_distributedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4131   { &hf_h245_centralizedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4132   { &hf_h245_distributedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4133   { NULL, 0, 0, NULL }
4134 };
4135
4136 static int
4137 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4138   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4139                                    ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
4140
4141   return offset;
4142 }
4143
4144
4145 static const per_sequence_t SEQUENCE_OF_MediaDistributionCapability_sequence_of[1] = {
4146   { &hf_h245_mediaDistributionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaDistributionCapability },
4147 };
4148
4149 static int
4150 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_) {
4151   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4152                                       ett_h245_SEQUENCE_OF_MediaDistributionCapability, SEQUENCE_OF_MediaDistributionCapability_sequence_of);
4153
4154   return offset;
4155 }
4156
4157
4158 static const per_sequence_t MultipointCapability_sequence[] = {
4159   { &hf_h245_multicastCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4160   { &hf_h245_multiUniCastConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4161   { &hf_h245_mediaDistributionCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MediaDistributionCapability },
4162   { NULL, 0, 0, NULL }
4163 };
4164
4165 static int
4166 dissect_h245_MultipointCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4167   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4168                                    ett_h245_MultipointCapability, MultipointCapability_sequence);
4169
4170   return offset;
4171 }
4172
4173
4174 static const per_sequence_t T_mcCapability_sequence[] = {
4175   { &hf_h245_centralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4176   { &hf_h245_decentralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4177   { NULL, 0, 0, NULL }
4178 };
4179
4180 static int
4181 dissect_h245_T_mcCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4182   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4183                                    ett_h245_T_mcCapability, T_mcCapability_sequence);
4184
4185   return offset;
4186 }
4187
4188
4189
4190 static int
4191 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_) {
4192   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4193                                                             1U, 32768U, &rfc_number, TRUE);
4194
4195   return offset;
4196 }
4197
4198
4199 static const value_string h245_T_payloadDescriptor_vals[] = {
4200   {   0, "nonStandardIdentifier" },
4201   {   1, "rfc-number" },
4202   {   2, "oid" },
4203   { 0, NULL }
4204 };
4205
4206 static const per_choice_t T_payloadDescriptor_choice[] = {
4207   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4208   {   1, &hf_h245_rfc_number     , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc_number },
4209   {   2, &hf_h245_oid            , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
4210   { 0, NULL, 0, NULL }
4211 };
4212
4213 static int
4214 dissect_h245_T_payloadDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4215   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4216                                  ett_h245_T_payloadDescriptor, T_payloadDescriptor_choice,
4217                                  NULL);
4218
4219   return offset;
4220 }
4221
4222
4223
4224 static int
4225 dissect_h245_T_rtpPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4226 #line 936 "../../asn1/h245/h245.cnf"
4227   unsigned int pt;
4228
4229   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4230                                                             0U, 127U, &pt, FALSE);
4231
4232
4233   if ((rfc_number == 2198) && upcoming_channel) {
4234     upcoming_channel->rfc2198 = pt;
4235   }
4236
4237
4238   return offset;
4239 }
4240
4241
4242 static const per_sequence_t RTPPayloadType_sequence[] = {
4243   { &hf_h245_payloadDescriptor, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_payloadDescriptor },
4244   { &hf_h245_rtpPayloadType_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtpPayloadType },
4245   { NULL, 0, 0, NULL }
4246 };
4247
4248 static int
4249 dissect_h245_RTPPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4250 #line 928 "../../asn1/h245/h245.cnf"
4251   rfc_number = 0;
4252
4253   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4254                                    ett_h245_RTPPayloadType, RTPPayloadType_sequence);
4255
4256   return offset;
4257 }
4258
4259
4260 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of[1] = {
4261   { &hf_h245_rtpPayloadTypes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPPayloadType },
4262 };
4263
4264 static int
4265 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_) {
4266   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4267                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType, SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of,
4268                                                   1, 256, FALSE);
4269
4270   return offset;
4271 }
4272
4273
4274 static const per_sequence_t MediaPacketizationCapability_sequence[] = {
4275   { &hf_h245_h261aVideoPacketization, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4276   { &hf_h245_rtpPayloadTypes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType },
4277   { NULL, 0, 0, NULL }
4278 };
4279
4280 static int
4281 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4282   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4283                                    ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
4284
4285   return offset;
4286 }
4287
4288
4289 static const value_string h245_QOSMode_vals[] = {
4290   {   0, "guaranteedQOS" },
4291   {   1, "controlledLoad" },
4292   { 0, NULL }
4293 };
4294
4295 static const per_choice_t QOSMode_choice[] = {
4296   {   0, &hf_h245_guaranteedQOS  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4297   {   1, &hf_h245_controlledLoad , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4298   { 0, NULL, 0, NULL }
4299 };
4300
4301 static int
4302 dissect_h245_QOSMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4303   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4304                                  ett_h245_QOSMode, QOSMode_choice,
4305                                  NULL);
4306
4307   return offset;
4308 }
4309
4310
4311
4312 static int
4313 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_) {
4314   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4315                                                             1U, 4294967295U, NULL, FALSE);
4316
4317   return offset;
4318 }
4319
4320
4321 static const per_sequence_t RSVPParameters_sequence[] = {
4322   { &hf_h245_qosMode        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_QOSMode },
4323   { &hf_h245_tokenRate      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4324   { &hf_h245_bucketSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4325   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4326   { &hf_h245_minPoliced     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4327   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4328   { NULL, 0, 0, NULL }
4329 };
4330
4331 static int
4332 dissect_h245_RSVPParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4333   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4334                                    ett_h245_RSVPParameters, RSVPParameters_sequence);
4335
4336   return offset;
4337 }
4338
4339
4340 static const per_sequence_t ATMParameters_sequence[] = {
4341   { &hf_h245_maxNTUSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
4342   { &hf_h245_atmUBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4343   { &hf_h245_atmrtVBR       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4344   { &hf_h245_atmnrtVBR      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4345   { &hf_h245_atmABR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4346   { &hf_h245_atmCBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4347   { NULL, 0, 0, NULL }
4348 };
4349
4350 static int
4351 dissect_h245_ATMParameters(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_ATMParameters, ATMParameters_sequence);
4354
4355   return offset;
4356 }
4357
4358
4359 static const per_sequence_t GenericTransportParameters_sequence[] = {
4360   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4361   { &hf_h245_averageRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4362   { &hf_h245_burst          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4363   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4364   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4365   { NULL, 0, 0, NULL }
4366 };
4367
4368 static int
4369 dissect_h245_GenericTransportParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4370   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4371                                    ett_h245_GenericTransportParameters, GenericTransportParameters_sequence);
4372
4373   return offset;
4374 }
4375
4376
4377 static const per_sequence_t ServicePriorityValue_sequence[] = {
4378   { &hf_h245_nonStandardParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4379   { &hf_h245_value          , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4380   { NULL, 0, 0, NULL }
4381 };
4382
4383 static int
4384 dissect_h245_ServicePriorityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4385   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4386                                    ett_h245_ServicePriorityValue, ServicePriorityValue_sequence);
4387
4388   return offset;
4389 }
4390
4391
4392
4393 static int
4394 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_) {
4395   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4396                                                             0U, 4095U, NULL, FALSE);
4397
4398   return offset;
4399 }
4400
4401
4402 static const per_sequence_t ServicePriority_sequence[] = {
4403   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4404   { &hf_h245_servicePrioritySignalled, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4405   { &hf_h245_servicePriorityValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ServicePriorityValue },
4406   { &hf_h245_serviceClass   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4095 },
4407   { &hf_h245_serviceSubclass, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
4408   { NULL, 0, 0, NULL }
4409 };
4410
4411 static int
4412 dissect_h245_ServicePriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4413   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4414                                    ett_h245_ServicePriority, ServicePriority_sequence);
4415
4416   return offset;
4417 }
4418
4419
4420 static const per_sequence_t AuthorizationParameters_sequence[] = {
4421   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4422   { NULL, 0, 0, NULL }
4423 };
4424
4425 static int
4426 dissect_h245_AuthorizationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4427   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4428                                    ett_h245_AuthorizationParameters, AuthorizationParameters_sequence);
4429
4430   return offset;
4431 }
4432
4433
4434 static const value_string h245_QOSType_vals[] = {
4435   {   0, "desired" },
4436   {   1, "required" },
4437   { 0, NULL }
4438 };
4439
4440 static const per_choice_t QOSType_choice[] = {
4441   {   0, &hf_h245_desired        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4442   {   1, &hf_h245_required       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4443   { 0, NULL, 0, NULL }
4444 };
4445
4446 static int
4447 dissect_h245_QOSType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4448   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4449                                  ett_h245_QOSType, QOSType_choice,
4450                                  NULL);
4451
4452   return offset;
4453 }
4454
4455
4456 static const value_string h245_QOSClass_vals[] = {
4457   {   0, "class0" },
4458   {   1, "class1" },
4459   {   2, "class2" },
4460   {   3, "class3" },
4461   {   4, "class4" },
4462   {   5, "class5" },
4463   { 0, NULL }
4464 };
4465
4466 static const per_choice_t QOSClass_choice[] = {
4467   {   0, &hf_h245_class0         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4468   {   1, &hf_h245_class1         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4469   {   2, &hf_h245_class2         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4470   {   3, &hf_h245_class3         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4471   {   4, &hf_h245_class4         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4472   {   5, &hf_h245_class5         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4473   { 0, NULL, 0, NULL }
4474 };
4475
4476 static int
4477 dissect_h245_QOSClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4478   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4479                                  ett_h245_QOSClass, QOSClass_choice,
4480                                  NULL);
4481
4482   return offset;
4483 }
4484
4485
4486 static const per_sequence_t QOSDescriptor_sequence[] = {
4487   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4488   { &hf_h245_qosType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSType },
4489   { &hf_h245_qosClass       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSClass },
4490   { NULL, 0, 0, NULL }
4491 };
4492
4493 static int
4494 dissect_h245_QOSDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4495   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4496                                    ett_h245_QOSDescriptor, QOSDescriptor_sequence);
4497
4498   return offset;
4499 }
4500
4501
4502
4503 static int
4504 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_) {
4505   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4506                                                             0U, 63U, NULL, FALSE);
4507
4508   return offset;
4509 }
4510
4511
4512 static const per_sequence_t QOSCapability_sequence[] = {
4513   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4514   { &hf_h245_rsvpParameters , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RSVPParameters },
4515   { &hf_h245_atmParameters  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ATMParameters },
4516   { &hf_h245_localQoS       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
4517   { &hf_h245_genericTransportParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericTransportParameters },
4518   { &hf_h245_servicePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_ServicePriority },
4519   { &hf_h245_authorizationParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_AuthorizationParameters },
4520   { &hf_h245_qosDescriptor  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSDescriptor },
4521   { &hf_h245_dscpValue      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_63 },
4522   { NULL, 0, 0, NULL }
4523 };
4524
4525 int
4526 dissect_h245_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4527   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4528                                    ett_h245_QOSCapability, QOSCapability_sequence);
4529
4530   return offset;
4531 }
4532
4533
4534 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = {
4535   { &hf_h245_qOSCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability },
4536 };
4537
4538 static int
4539 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_) {
4540   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4541                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of,
4542                                                   1, 256, FALSE);
4543
4544   return offset;
4545 }
4546
4547
4548 static const per_sequence_t T_atm_AAL5_compressed_sequence[] = {
4549   { &hf_h245_variable_delta , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4550   { NULL, 0, 0, NULL }
4551 };
4552
4553 static int
4554 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_) {
4555   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4556                                    ett_h245_T_atm_AAL5_compressed, T_atm_AAL5_compressed_sequence);
4557
4558   return offset;
4559 }
4560
4561
4562 static const value_string h245_MediaTransportType_vals[] = {
4563   {   0, "ip-UDP" },
4564   {   1, "ip-TCP" },
4565   {   2, "atm-AAL5-UNIDIR" },
4566   {   3, "atm-AAL5-BIDIR" },
4567   {   4, "atm-AAL5-compressed" },
4568   { 0, NULL }
4569 };
4570
4571 static const per_choice_t MediaTransportType_choice[] = {
4572   {   0, &hf_h245_ip_UDP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4573   {   1, &hf_h245_ip_TCP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4574   {   2, &hf_h245_atm_AAL5_UNIDIR, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4575   {   3, &hf_h245_atm_AAL5_BIDIR , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4576   {   4, &hf_h245_atm_AAL5_compressed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_atm_AAL5_compressed },
4577   { 0, NULL, 0, NULL }
4578 };
4579
4580 static int
4581 dissect_h245_MediaTransportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4582   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4583                                  ett_h245_MediaTransportType, MediaTransportType_choice,
4584                                  NULL);
4585
4586   return offset;
4587 }
4588
4589
4590 static const per_sequence_t MediaChannelCapability_sequence[] = {
4591   { &hf_h245_mediaTransport , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MediaTransportType },
4592   { NULL, 0, 0, NULL }
4593 };
4594
4595 static int
4596 dissect_h245_MediaChannelCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4597   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4598                                    ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4599
4600   return offset;
4601 }
4602
4603
4604 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of[1] = {
4605   { &hf_h245_mediaChannelCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaChannelCapability },
4606 };
4607
4608 static int
4609 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_) {
4610   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4611                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability, SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of,
4612                                                   1, 256, FALSE);
4613
4614   return offset;
4615 }
4616
4617
4618 static const per_sequence_t TransportCapability_sequence[] = {
4619   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4620   { &hf_h245_qOSCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability },
4621   { &hf_h245_mediaChannelCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability },
4622   { NULL, 0, 0, NULL }
4623 };
4624
4625 static int
4626 dissect_h245_TransportCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4627   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4628                                    ett_h245_TransportCapability, TransportCapability_sequence);
4629
4630   return offset;
4631 }
4632
4633
4634
4635 static int
4636 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_) {
4637   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4638                                                             1U, 16U, NULL, FALSE);
4639
4640   return offset;
4641 }
4642
4643
4644
4645 static int
4646 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_) {
4647   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4648                                                             0U, 15U, NULL, FALSE);
4649
4650   return offset;
4651 }
4652
4653
4654 static const per_sequence_t T_frameSequence_sequence_of[1] = {
4655   { &hf_h245_frameSequence_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4656 };
4657
4658 static int
4659 dissect_h245_T_frameSequence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4660   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4661                                                   ett_h245_T_frameSequence, T_frameSequence_sequence_of,
4662                                                   1, 256, FALSE);
4663
4664   return offset;
4665 }
4666
4667
4668 static const per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
4669   { &hf_h245_threadNumber   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4670   { &hf_h245_frameSequence  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameSequence },
4671   { NULL, 0, 0, NULL }
4672 };
4673
4674 static int
4675 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4676   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4677                                    ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
4678
4679   return offset;
4680 }
4681
4682
4683 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of[1] = {
4684   { &hf_h245_custom_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPH263VideoRedundancyFrameMapping },
4685 };
4686
4687 static int
4688 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_) {
4689   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4690                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping, SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of,
4691                                                   1, 256, FALSE);
4692
4693   return offset;
4694 }
4695
4696
4697 static const value_string h245_T_frameToThreadMapping_vals[] = {
4698   {   0, "roundrobin" },
4699   {   1, "custom" },
4700   { 0, NULL }
4701 };
4702
4703 static const per_choice_t T_frameToThreadMapping_choice[] = {
4704   {   0, &hf_h245_roundrobin     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4705   {   1, &hf_h245_custom         , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping },
4706   { 0, NULL, 0, NULL }
4707 };
4708
4709 static int
4710 dissect_h245_T_frameToThreadMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4711   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4712                                  ett_h245_T_frameToThreadMapping, T_frameToThreadMapping_choice,
4713                                  NULL);
4714
4715   return offset;
4716 }
4717
4718
4719 static const per_sequence_t T_containedThreads_sequence_of[1] = {
4720   { &hf_h245_containedThreads_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4721 };
4722
4723 static int
4724 dissect_h245_T_containedThreads(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4725   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4726                                                   ett_h245_T_containedThreads, T_containedThreads_sequence_of,
4727                                                   1, 256, FALSE);
4728
4729   return offset;
4730 }
4731
4732
4733 static const per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
4734   { &hf_h245_numberOfThreads, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_16 },
4735   { &hf_h245_framesBetweenSyncPoints, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
4736   { &hf_h245_frameToThreadMapping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameToThreadMapping },
4737   { &hf_h245_containedThreads, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_containedThreads },
4738   { NULL, 0, 0, NULL }
4739 };
4740
4741 static int
4742 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4743   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4744                                    ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
4745
4746   return offset;
4747 }
4748
4749
4750 static const value_string h245_RedundancyEncodingMethod_vals[] = {
4751   {   0, "nonStandard" },
4752   {   1, "rtpAudioRedundancyEncoding" },
4753   {   2, "rtpH263VideoRedundancyEncoding" },
4754   { 0, NULL }
4755 };
4756
4757 static const per_choice_t RedundancyEncodingMethod_choice[] = {
4758   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4759   {   1, &hf_h245_rtpAudioRedundancyEncoding, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4760   {   2, &hf_h245_rtpH263VideoRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPH263VideoRedundancyEncoding },
4761   { 0, NULL, 0, NULL }
4762 };
4763
4764 static int
4765 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4766   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4767                                  ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice,
4768                                  NULL);
4769
4770   return offset;
4771 }
4772
4773
4774
4775 static int
4776 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4777   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4778                                                             1U, 65535U, NULL, FALSE);
4779
4780   return offset;
4781 }
4782
4783
4784 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of[1] = {
4785   { &hf_h245_secondaryEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4786 };
4787
4788 static int
4789 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_) {
4790   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4791                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber, SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of,
4792                                                   1, 256, FALSE);
4793
4794   return offset;
4795 }
4796
4797
4798 static const per_sequence_t RedundancyEncodingCapability_sequence[] = {
4799   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
4800   { &hf_h245_primaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4801   { &hf_h245_secondaryEncodingCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber },
4802   { NULL, 0, 0, NULL }
4803 };
4804
4805 static int
4806 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4807   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4808                                    ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
4809
4810   return offset;
4811 }
4812
4813
4814 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of[1] = {
4815   { &hf_h245_redundancyEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingCapability },
4816 };
4817
4818 static int
4819 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_) {
4820   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4821                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability, SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of,
4822                                                   1, 256, FALSE);
4823
4824   return offset;
4825 }
4826
4827
4828 static const per_sequence_t H2250Capability_sequence[] = {
4829   { &hf_h245_maximumAudioDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
4830   { &hf_h245_receiveMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4831   { &hf_h245_transmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4832   { &hf_h245_receiveAndTransmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4833   { &hf_h245_mcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mcCapability },
4834   { &hf_h245_rtcpVideoControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4835   { &hf_h245_mediaPacketizationCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MediaPacketizationCapability },
4836   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
4837   { &hf_h245_redundancyEncodingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability },
4838   { &hf_h245_logicalChannelSwitchingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4839   { &hf_h245_t120DynamicPortCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4840   { NULL, 0, 0, NULL }
4841 };
4842
4843 static int
4844 dissect_h245_H2250Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4845   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4846                                    ett_h245_H2250Capability, H2250Capability_sequence);
4847
4848   return offset;
4849 }
4850
4851
4852 static const value_string h245_MultiplexCapability_vals[] = {
4853   {   0, "nonStandard" },
4854   {   1, "h222Capability" },
4855   {   2, "h223Capability" },
4856   {   3, "v76Capability" },
4857   {   4, "h2250Capability" },
4858   {   5, "genericMultiplexCapability" },
4859   { 0, NULL }
4860 };
4861
4862 static const per_choice_t MultiplexCapability_choice[] = {
4863   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4864   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
4865   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
4866   {   3, &hf_h245_v76Capability  , ASN1_EXTENSION_ROOT    , dissect_h245_V76Capability },
4867   {   4, &hf_h245_h2250Capability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250Capability },
4868   {   5, &hf_h245_genericMultiplexCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4869   { 0, NULL, 0, NULL }
4870 };
4871
4872 static int
4873 dissect_h245_MultiplexCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4874   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4875                                  ett_h245_MultiplexCapability, MultiplexCapability_choice,
4876                                  NULL);
4877
4878   return offset;
4879 }
4880
4881
4882
4883 static int
4884 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_) {
4885   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4886                                                             1U, 4U, NULL, FALSE);
4887
4888   return offset;
4889 }
4890
4891
4892 static const per_sequence_t H261VideoCapability_sequence[] = {
4893   { &hf_h245_qcifMPI_1_4    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4894   { &hf_h245_cifMPI_1_4     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4895   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4896   { &hf_h245_maxBitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
4897   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4898   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4899   { NULL, 0, 0, NULL }
4900 };
4901
4902 static int
4903 dissect_h245_H261VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4904   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4905                                    ett_h245_H261VideoCapability, H261VideoCapability_sequence);
4906
4907   return offset;
4908 }
4909
4910
4911
4912 static int
4913 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_) {
4914   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4915                                                             0U, 1073741823U, NULL, FALSE);
4916
4917   return offset;
4918 }
4919
4920
4921
4922 static int
4923 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_) {
4924   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4925                                                             0U, 262143U, NULL, FALSE);
4926
4927   return offset;
4928 }
4929
4930
4931
4932 static int
4933 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_) {
4934   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4935                                                             0U, 16383U, NULL, FALSE);
4936
4937   return offset;
4938 }
4939
4940
4941 static const per_sequence_t H262VideoCapability_sequence[] = {
4942   { &hf_h245_profileAndLevel_SPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4943   { &hf_h245_profileAndLevel_MPatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4944   { &hf_h245_profileAndLevel_MPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4945   { &hf_h245_profileAndLevel_MPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4946   { &hf_h245_profileAndLevel_MPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4947   { &hf_h245_profileAndLevel_SNRatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4948   { &hf_h245_profileAndLevel_SNRatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4949   { &hf_h245_profileAndLevel_SpatialatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4950   { &hf_h245_profileAndLevel_HPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4951   { &hf_h245_profileAndLevel_HPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4952   { &hf_h245_profileAndLevel_HPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4953   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
4954   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
4955   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4956   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4957   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
4958   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4959   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4960   { NULL, 0, 0, NULL }
4961 };
4962
4963 static int
4964 dissect_h245_H262VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4965   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4966                                    ett_h245_H262VideoCapability, H262VideoCapability_sequence);
4967
4968   return offset;
4969 }
4970
4971
4972
4973 static int
4974 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_) {
4975   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4976                                                             1U, 32U, NULL, FALSE);
4977
4978   return offset;
4979 }
4980
4981
4982
4983 static int
4984 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_) {
4985   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4986                                                             1U, 192400U, NULL, FALSE);
4987
4988   return offset;
4989 }
4990
4991
4992
4993 static int
4994 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_) {
4995   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4996                                                             0U, 524287U, NULL, FALSE);
4997
4998   return offset;
4999 }
5000
5001
5002
5003 static int
5004 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_) {
5005   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5006                                                             1U, 3600U, NULL, FALSE);
5007
5008   return offset;
5009 }
5010
5011
5012
5013 static int
5014 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_) {
5015   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5016                                                             -262144, 262143U, NULL, FALSE);
5017
5018   return offset;
5019 }
5020
5021
5022 static const per_sequence_t TransparencyParameters_sequence[] = {
5023   { &hf_h245_presentationOrder, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5024   { &hf_h245_offset_x       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
5025   { &hf_h245_offset_y       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
5026   { &hf_h245_scale_x        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5027   { &hf_h245_scale_y        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5028   { NULL, 0, 0, NULL }
5029 };
5030
5031 static int
5032 dissect_h245_TransparencyParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5033   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5034                                    ett_h245_TransparencyParameters, TransparencyParameters_sequence);
5035
5036   return offset;
5037 }
5038
5039
5040 static const per_sequence_t T_additionalPictureMemory_sequence[] = {
5041   { &hf_h245_sqcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5042   { &hf_h245_qcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5043   { &hf_h245_cifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5044   { &hf_h245_cif4AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5045   { &hf_h245_cif16AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5046   { &hf_h245_bigCpfAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5047   { NULL, 0, 0, NULL }
5048 };
5049
5050 static int
5051 dissect_h245_T_additionalPictureMemory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5052   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5053                                    ett_h245_T_additionalPictureMemory, T_additionalPictureMemory_sequence);
5054
5055   return offset;
5056 }
5057
5058
5059 static const value_string h245_T_videoBackChannelSend_vals[] = {
5060   {   0, "none" },
5061   {   1, "ackMessageOnly" },
5062   {   2, "nackMessageOnly" },
5063   {   3, "ackOrNackMessageOnly" },
5064   {   4, "ackAndNackMessage" },
5065   { 0, NULL }
5066 };
5067
5068 static const per_choice_t T_videoBackChannelSend_choice[] = {
5069   {   0, &hf_h245_none           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5070   {   1, &hf_h245_ackMessageOnly , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5071   {   2, &hf_h245_nackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5072   {   3, &hf_h245_ackOrNackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5073   {   4, &hf_h245_ackAndNackMessage, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5074   { 0, NULL, 0, NULL }
5075 };
5076
5077 static int
5078 dissect_h245_T_videoBackChannelSend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5079   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5080                                  ett_h245_T_videoBackChannelSend, T_videoBackChannelSend_choice,
5081                                  NULL);
5082
5083   return offset;
5084 }
5085
5086
5087
5088 static int
5089 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_) {
5090   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5091                                                             1U, 128U, NULL, FALSE);
5092
5093   return offset;
5094 }
5095
5096
5097
5098 static int
5099 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_) {
5100   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5101                                                             1U, 72U, NULL, FALSE);
5102
5103   return offset;
5104 }
5105
5106
5107 static const per_sequence_t T_subPictureRemovalParameters_sequence[] = {
5108   { &hf_h245_mpuHorizMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_128 },
5109   { &hf_h245_mpuVertMBs     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_72 },
5110   { &hf_h245_mpuTotalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
5111   { NULL, 0, 0, NULL }
5112 };
5113
5114 static int
5115 dissect_h245_T_subPictureRemovalParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5116   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5117                                    ett_h245_T_subPictureRemovalParameters, T_subPictureRemovalParameters_sequence);
5118
5119   return offset;
5120 }
5121
5122
5123 static const per_sequence_t T_enhancedReferencePicSelect_sequence[] = {
5124   { &hf_h245_subPictureRemovalParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subPictureRemovalParameters },
5125   { NULL, 0, 0, NULL }
5126 };
5127
5128 static int
5129 dissect_h245_T_enhancedReferencePicSelect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5130   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5131                                    ett_h245_T_enhancedReferencePicSelect, T_enhancedReferencePicSelect_sequence);
5132
5133   return offset;
5134 }
5135
5136
5137 static const per_sequence_t RefPictureSelection_sequence[] = {
5138   { &hf_h245_additionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_additionalPictureMemory },
5139   { &hf_h245_videoMux       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5140   { &hf_h245_videoBackChannelSend, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_videoBackChannelSend },
5141   { &hf_h245_enhancedReferencePicSelect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_enhancedReferencePicSelect },
5142   { NULL, 0, 0, NULL }
5143 };
5144
5145 static int
5146 dissect_h245_RefPictureSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5147   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5148                                    ett_h245_RefPictureSelection, RefPictureSelection_sequence);
5149
5150   return offset;
5151 }
5152
5153
5154
5155 static int
5156 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_) {
5157   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5158                                                             1000U, 1001U, NULL, FALSE);
5159
5160   return offset;
5161 }
5162
5163
5164
5165 static int
5166 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_) {
5167   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5168                                                             1U, 2048U, NULL, FALSE);
5169
5170   return offset;
5171 }
5172
5173
5174 static const per_sequence_t CustomPictureClockFrequency_sequence[] = {
5175   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5176   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5177   { &hf_h245_sqcifMPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5178   { &hf_h245_qcifMPI_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5179   { &hf_h245_cifMPI2_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5180   { &hf_h245_cif4MPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5181   { &hf_h245_cif16MPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5182   { NULL, 0, 0, NULL }
5183 };
5184
5185 static int
5186 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5187   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5188                                    ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
5189
5190   return offset;
5191 }
5192
5193
5194 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of[1] = {
5195   { &hf_h245_customPictureClockFrequency_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureClockFrequency },
5196 };
5197
5198 static int
5199 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_) {
5200   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5201                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency, SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of,
5202                                              1, 16, FALSE);
5203
5204   return offset;
5205 }
5206
5207
5208
5209 static int
5210 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_) {
5211   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5212                                                             1U, 31U, NULL, FALSE);
5213
5214   return offset;
5215 }
5216
5217
5218 static const per_sequence_t T_customPCF_item_sequence[] = {
5219   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5220   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5221   { &hf_h245_customMPI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5222   { NULL, 0, 0, NULL }
5223 };
5224
5225 static int
5226 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_) {
5227   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5228                                    ett_h245_T_customPCF_item, T_customPCF_item_sequence);
5229
5230   return offset;
5231 }
5232
5233
5234 static const per_sequence_t T_customPCF_set_of[1] = {
5235   { &hf_h245_customPCF_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_customPCF_item },
5236 };
5237
5238 static int
5239 dissect_h245_T_customPCF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5240   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5241                                              ett_h245_T_customPCF, T_customPCF_set_of,
5242                                              1, 16, FALSE);
5243
5244   return offset;
5245 }
5246
5247
5248 static const per_sequence_t T_mPI_sequence[] = {
5249   { &hf_h245_standardMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_31 },
5250   { &hf_h245_customPCF      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_customPCF },
5251   { NULL, 0, 0, NULL }
5252 };
5253
5254 static int
5255 dissect_h245_T_mPI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5256   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5257                                    ett_h245_T_mPI, T_mPI_sequence);
5258
5259   return offset;
5260 }
5261
5262
5263
5264 static int
5265 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_) {
5266   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5267                                                             1U, 14U, NULL, FALSE);
5268
5269   return offset;
5270 }
5271
5272
5273 static const per_sequence_t T_pixelAspectCode_set_of[1] = {
5274   { &hf_h245_pixelAspectCode_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_14 },
5275 };
5276
5277 static int
5278 dissect_h245_T_pixelAspectCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5279   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5280                                              ett_h245_T_pixelAspectCode, T_pixelAspectCode_set_of,
5281                                              1, 14, FALSE);
5282
5283   return offset;
5284 }
5285
5286
5287 static const per_sequence_t T_extendedPAR_item_sequence[] = {
5288   { &hf_h245_width          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5289   { &hf_h245_height         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5290   { NULL, 0, 0, NULL }
5291 };
5292
5293 static int
5294 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_) {
5295   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5296                                    ett_h245_T_extendedPAR_item, T_extendedPAR_item_sequence);
5297
5298   return offset;
5299 }
5300
5301
5302 static const per_sequence_t T_extendedPAR_set_of[1] = {
5303   { &hf_h245_extendedPAR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_extendedPAR_item },
5304 };
5305
5306 static int
5307 dissect_h245_T_extendedPAR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5308   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5309                                              ett_h245_T_extendedPAR, T_extendedPAR_set_of,
5310                                              1, 256, FALSE);
5311
5312   return offset;
5313 }
5314
5315
5316 static const value_string h245_T_pixelAspectInformation_vals[] = {
5317   {   0, "anyPixelAspectRatio" },
5318   {   1, "pixelAspectCode" },
5319   {   2, "extendedPAR" },
5320   { 0, NULL }
5321 };
5322
5323 static const per_choice_t T_pixelAspectInformation_choice[] = {
5324   {   0, &hf_h245_anyPixelAspectRatio, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
5325   {   1, &hf_h245_pixelAspectCode, ASN1_EXTENSION_ROOT    , dissect_h245_T_pixelAspectCode },
5326   {   2, &hf_h245_extendedPAR    , ASN1_EXTENSION_ROOT    , dissect_h245_T_extendedPAR },
5327   { 0, NULL, 0, NULL }
5328 };
5329
5330 static int
5331 dissect_h245_T_pixelAspectInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5332   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5333                                  ett_h245_T_pixelAspectInformation, T_pixelAspectInformation_choice,
5334                                  NULL);
5335
5336   return offset;
5337 }
5338
5339
5340 static const per_sequence_t CustomPictureFormat_sequence[] = {
5341   { &hf_h245_maxCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5342   { &hf_h245_maxCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5343   { &hf_h245_minCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5344   { &hf_h245_minCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5345   { &hf_h245_mPI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mPI },
5346   { &hf_h245_pixelAspectInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pixelAspectInformation },
5347   { NULL, 0, 0, NULL }
5348 };
5349
5350 static int
5351 dissect_h245_CustomPictureFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5352   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5353                                    ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
5354
5355   return offset;
5356 }
5357
5358
5359 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureFormat_set_of[1] = {
5360   { &hf_h245_customPictureFormat_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureFormat },
5361 };
5362
5363 static int
5364 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_) {
5365   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5366                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat, SET_SIZE_1_16_OF_CustomPictureFormat_set_of,
5367                                              1, 16, FALSE);
5368
5369   return offset;
5370 }
5371
5372
5373 static const per_sequence_t H263Version3Options_sequence[] = {
5374   { &hf_h245_dataPartitionedSlices, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5375   { &hf_h245_fixedPointIDCT0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5376   { &hf_h245_interlacedFields, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5377   { &hf_h245_currentPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5378   { &hf_h245_previousPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5379   { &hf_h245_nextPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5380   { &hf_h245_pictureNumberBoolean, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5381   { &hf_h245_spareReferencePictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5382   { NULL, 0, 0, NULL }
5383 };
5384
5385 static int
5386 dissect_h245_H263Version3Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5387   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5388                                    ett_h245_H263Version3Options, H263Version3Options_sequence);
5389
5390   return offset;
5391 }
5392
5393
5394 static const per_sequence_t H263ModeComboFlags_sequence[] = {
5395   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5396   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5397   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5398   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5399   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5400   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5401   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5402   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5403   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5404   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5405   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5406   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5407   { &hf_h245_referencePicSelect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5408   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5409   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5410   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5411   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5412   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5413   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5414   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5415   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5416   { &hf_h245_enhancedReferencePicSelectBool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5417   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5418   { NULL, 0, 0, NULL }
5419 };
5420
5421 static int
5422 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5423   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5424                                    ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5425
5426   return offset;
5427 }
5428
5429
5430 static const per_sequence_t SET_SIZE_1_16_OF_H263ModeComboFlags_set_of[1] = {
5431   { &hf_h245_h263VideoCoupledModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5432 };
5433
5434 static int
5435 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_) {
5436   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5437                                              ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags, SET_SIZE_1_16_OF_H263ModeComboFlags_set_of,
5438                                              1, 16, FALSE);
5439
5440   return offset;
5441 }
5442
5443
5444 static const per_sequence_t H263VideoModeCombos_sequence[] = {
5445   { &hf_h245_h263VideoUncoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5446   { &hf_h245_h263VideoCoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags },
5447   { NULL, 0, 0, NULL }
5448 };
5449
5450 static int
5451 dissect_h245_H263VideoModeCombos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5452   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5453                                    ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
5454
5455   return offset;
5456 }
5457
5458
5459 static const per_sequence_t SET_SIZE_1_16_OF_H263VideoModeCombos_set_of[1] = {
5460   { &hf_h245_modeCombos_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263VideoModeCombos },
5461 };
5462
5463 static int
5464 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_) {
5465   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5466                                              ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos, SET_SIZE_1_16_OF_H263VideoModeCombos_set_of,
5467                                              1, 16, FALSE);
5468
5469   return offset;
5470 }
5471
5472
5473 static const per_sequence_t H263Options_sequence[] = {
5474   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5475   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5476   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5477   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5478   { &hf_h245_fullPictureFreeze, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5479   { &hf_h245_partialPictureFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5480   { &hf_h245_resizingPartPicFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5481   { &hf_h245_fullPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5482   { &hf_h245_partialPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5483   { &hf_h245_videoSegmentTagging, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5484   { &hf_h245_progressiveRefinement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5485   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5486   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5487   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5488   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5489   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5490   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5491   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5492   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5493   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5494   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5495   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5496   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5497   { &hf_h245_transparencyParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransparencyParameters },
5498   { &hf_h245_separateVideoBackChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5499   { &hf_h245_refPictureSelection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RefPictureSelection },
5500   { &hf_h245_customPictureClockFrequency, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency },
5501   { &hf_h245_customPictureFormat, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat },
5502   { &hf_h245_modeCombos     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos },
5503   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5504   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5505   { NULL, 0, 0, NULL }
5506 };
5507
5508 static int
5509 dissect_h245_H263Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5510   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5511                                    ett_h245_H263Options, H263Options_sequence);
5512
5513   return offset;
5514 }
5515
5516
5517 static const per_sequence_t EnhancementOptions_sequence[] = {
5518   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5519   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5520   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5521   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5522   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5523   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5524   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5525   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5526   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5527   { &hf_h245_slowSqcifMPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5528   { &hf_h245_slowQcifMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5529   { &hf_h245_slowCifMPI     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5530   { &hf_h245_slowCif4MPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5531   { &hf_h245_slowCif16MPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5532   { &hf_h245_errorCompensation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5533   { &hf_h245_h263Options    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H263Options },
5534   { NULL, 0, 0, NULL }
5535 };
5536
5537 static int
5538 dissect_h245_EnhancementOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5539   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5540                                    ett_h245_EnhancementOptions, EnhancementOptions_sequence);
5541
5542   return offset;
5543 }
5544
5545
5546 static const per_sequence_t SET_SIZE_1_14_OF_EnhancementOptions_set_of[1] = {
5547   { &hf_h245_snrEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5548 };
5549
5550 static int
5551 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_) {
5552   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5553                                              ett_h245_SET_SIZE_1_14_OF_EnhancementOptions, SET_SIZE_1_14_OF_EnhancementOptions_set_of,
5554                                              1, 14, FALSE);
5555
5556   return offset;
5557 }
5558
5559
5560
5561 static int
5562 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_) {
5563   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5564                                                             1U, 64U, NULL, FALSE);
5565
5566   return offset;
5567 }
5568
5569
5570 static const per_sequence_t BEnhancementParameters_sequence[] = {
5571   { &hf_h245_enhancementOptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5572   { &hf_h245_numberOfBPictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_64 },
5573   { NULL, 0, 0, NULL }
5574 };
5575
5576 static int
5577 dissect_h245_BEnhancementParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5578   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5579                                    ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
5580
5581   return offset;
5582 }
5583
5584
5585 static const per_sequence_t SET_SIZE_1_14_OF_BEnhancementParameters_set_of[1] = {
5586   { &hf_h245_bPictureEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BEnhancementParameters },
5587 };
5588
5589 static int
5590 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_) {
5591   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5592                                              ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters, SET_SIZE_1_14_OF_BEnhancementParameters_set_of,
5593                                              1, 14, FALSE);
5594
5595   return offset;
5596 }
5597
5598
5599 static const per_sequence_t EnhancementLayerInfo_sequence[] = {
5600   { &hf_h245_baseBitRateConstrained, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5601   { &hf_h245_snrEnhancement , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5602   { &hf_h245_spatialEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5603   { &hf_h245_bPictureEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters },
5604   { NULL, 0, 0, NULL }
5605 };
5606
5607 static int
5608 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5609   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5610                                    ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
5611
5612   return offset;
5613 }
5614
5615
5616 static const per_sequence_t H263VideoCapability_sequence[] = {
5617   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5618   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5619   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5620   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5621   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5622   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5623   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5624   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5625   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5626   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5627   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5628   { &hf_h245_hrd_B          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_524287 },
5629   { &hf_h245_bppMaxKb       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
5630   { &hf_h245_slowSqcifMPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5631   { &hf_h245_slowQcifMPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5632   { &hf_h245_slowCifMPI     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5633   { &hf_h245_slowCif4MPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5634   { &hf_h245_slowCif16MPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5635   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5636   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
5637   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
5638   { NULL, 0, 0, NULL }
5639 };
5640
5641 static int
5642 dissect_h245_H263VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5643   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5644                                    ett_h245_H263VideoCapability, H263VideoCapability_sequence);
5645
5646 #line 364 "../../asn1/h245/h245.cnf"
5647   h245_lc_dissector = h263_handle;
5648
5649   return offset;
5650 }
5651
5652
5653 static const per_sequence_t IS11172VideoCapability_sequence[] = {
5654   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5655   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
5656   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
5657   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5658   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5659   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
5660   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
5661   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5662   { NULL, 0, 0, NULL }
5663 };
5664
5665 static int
5666 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5667   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5668                                    ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
5669
5670   return offset;
5671 }
5672
5673
5674 static const per_sequence_t SEQUENCE_OF_VideoCapability_sequence_of[1] = {
5675   { &hf_h245_videoCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VideoCapability },
5676 };
5677
5678 static int
5679 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_) {
5680   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5681                                       ett_h245_SEQUENCE_OF_VideoCapability, SEQUENCE_OF_VideoCapability_sequence_of);
5682
5683   return offset;
5684 }
5685
5686
5687 static const per_sequence_t SEQUENCE_OF_GenericCapability_sequence_of[1] = {
5688   { &hf_h245_videoCapabilityExtension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericCapability },
5689 };
5690
5691 static int
5692 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_) {
5693   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5694                                       ett_h245_SEQUENCE_OF_GenericCapability, SEQUENCE_OF_GenericCapability_sequence_of);
5695
5696   return offset;
5697 }
5698
5699
5700 static const per_sequence_t ExtendedVideoCapability_sequence[] = {
5701   { &hf_h245_videoCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_VideoCapability },
5702   { &hf_h245_videoCapabilityExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericCapability },
5703   { NULL, 0, 0, NULL }
5704 };
5705
5706 static int
5707 dissect_h245_ExtendedVideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5708   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5709                                    ett_h245_ExtendedVideoCapability, ExtendedVideoCapability_sequence);
5710
5711   return offset;
5712 }
5713
5714
5715 static const value_string h245_VideoCapability_vals[] = {
5716   {   0, "nonStandard" },
5717   {   1, "h261VideoCapability" },
5718   {   2, "h262VideoCapability" },
5719   {   3, "h263VideoCapability" },
5720   {   4, "is11172VideoCapability" },
5721   {   5, "genericVideoCapability" },
5722   {   6, "extendedVideoCapability" },
5723   { 0, NULL }
5724 };
5725
5726 static const per_choice_t VideoCapability_choice[] = {
5727   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
5728   {   1, &hf_h245_h261VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoCapability },
5729   {   2, &hf_h245_h262VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoCapability },
5730   {   3, &hf_h245_h263VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoCapability },
5731   {   4, &hf_h245_is11172VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoCapability },
5732   {   5, &hf_h245_genericVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
5733   {   6, &hf_h245_extendedVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ExtendedVideoCapability },
5734   { 0, NULL, 0, NULL }
5735 };
5736
5737 static int
5738 dissect_h245_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5739 #line 495 "../../asn1/h245/h245.cnf"
5740   gint32 value;
5741
5742   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5743                                  ett_h245_VideoCapability, VideoCapability_choice,
5744                                  &value);
5745
5746         codec_type = val_to_str(value, h245_VideoCapability_vals, "<unknown>");
5747
5748
5749
5750   return offset;
5751 }
5752
5753
5754 static const per_sequence_t T_g7231_sequence[] = {
5755   { &hf_h245_maxAl_sduAudioFrames, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5756   { &hf_h245_silenceSuppression, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5757   { NULL, 0, 0, NULL }
5758 };
5759
5760 static int
5761 dissect_h245_T_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5762   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5763                                    ett_h245_T_g7231, T_g7231_sequence);
5764
5765   return offset;
5766 }
5767
5768
5769
5770 static int
5771 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_) {
5772   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5773                                                             1U, 448U, NULL, FALSE);
5774
5775   return offset;
5776 }
5777
5778
5779 static const per_sequence_t IS11172AudioCapability_sequence[] = {
5780   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5781   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5782   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5783   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5784   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5785   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5786   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5787   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5788   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
5789   { NULL, 0, 0, NULL }
5790 };
5791
5792 static int
5793 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5794   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5795                                    ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
5796
5797   return offset;
5798 }
5799
5800
5801
5802 static int
5803 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_) {
5804   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5805                                                             1U, 1130U, NULL, FALSE);
5806
5807   return offset;
5808 }
5809
5810
5811 static const per_sequence_t IS13818AudioCapability_sequence[] = {
5812   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5813   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5814   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5815   { &hf_h245_audioSampling16k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5816   { &hf_h245_audioSampling22k05, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5817   { &hf_h245_audioSampling24k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5818   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5819   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5820   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5821   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5822   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5823   { &hf_h245_threeChannels2_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5824   { &hf_h245_threeChannels3_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5825   { &hf_h245_fourChannels2_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5826   { &hf_h245_fourChannels2_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5827   { &hf_h245_fourChannels3_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5828   { &hf_h245_fiveChannels3_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5829   { &hf_h245_fiveChannels3_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5830   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5831   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5832   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
5833   { NULL, 0, 0, NULL }
5834 };
5835
5836 static int
5837 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5838   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5839                                    ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
5840
5841   return offset;
5842 }
5843
5844
5845
5846 static int
5847 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_) {
5848   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5849                                                             27U, 78U, NULL, FALSE);
5850
5851   return offset;
5852 }
5853
5854
5855
5856 static int
5857 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_) {
5858   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5859                                                             23U, 66U, NULL, FALSE);
5860
5861   return offset;
5862 }
5863
5864
5865
5866 static int
5867 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_) {
5868   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5869                                                             6U, 17U, NULL, FALSE);
5870
5871   return offset;
5872 }
5873
5874
5875 static const per_sequence_t G723AnnexCAudioMode_sequence[] = {
5876   { &hf_h245_highRateMode0  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5877   { &hf_h245_highRateMode1  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5878   { &hf_h245_lowRateMode0   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5879   { &hf_h245_lowRateMode1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5880   { &hf_h245_sidMode0       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5881   { &hf_h245_sidMode1       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5882   { NULL, 0, 0, NULL }
5883 };
5884
5885 static int
5886 dissect_h245_G723AnnexCAudioMode(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_G723AnnexCAudioMode, G723AnnexCAudioMode_sequence);
5889
5890   return offset;
5891 }
5892
5893
5894 static const per_sequence_t G7231AnnexCCapability_sequence[] = {
5895   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5896   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5897   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_G723AnnexCAudioMode },
5898   { NULL, 0, 0, NULL }
5899 };
5900
5901 static int
5902 dissect_h245_G7231AnnexCCapability(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_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
5905
5906   return offset;
5907 }
5908
5909
5910 static const per_sequence_t GSMAudioCapability_sequence[] = {
5911   { &hf_h245_audioUnitSize  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5912   { &hf_h245_comfortNoise   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5913   { &hf_h245_scrambled      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5914   { NULL, 0, 0, NULL }
5915 };
5916
5917 static int
5918 dissect_h245_GSMAudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5919   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5920                                    ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
5921
5922   return offset;
5923 }
5924
5925
5926 static const per_sequence_t G729Extensions_sequence[] = {
5927   { &hf_h245_audioUnit      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5928   { &hf_h245_annexA         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5929   { &hf_h245_annexB         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5930   { &hf_h245_annexD         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5931   { &hf_h245_annexE         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5932   { &hf_h245_annexF         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5933   { &hf_h245_annexG         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5934   { &hf_h245_annexH         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5935   { NULL, 0, 0, NULL }
5936 };
5937
5938 static int
5939 dissect_h245_G729Extensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5940   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5941                                    ett_h245_G729Extensions, G729Extensions_sequence);
5942
5943   return offset;
5944 }
5945
5946
5947 static const per_sequence_t VBDCapability_sequence[] = {
5948   { &hf_h245_vbd_cap_type   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioCapability },
5949   { NULL, 0, 0, NULL }
5950 };
5951
5952 static int
5953 dissect_h245_VBDCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5954   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5955                                    ett_h245_VBDCapability, VBDCapability_sequence);
5956
5957   return offset;
5958 }
5959
5960
5961
5962 static int
5963 dissect_h245_GeneralString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5964   offset = dissect_per_GeneralString(tvb, offset, actx, tree, hf_index);
5965
5966   return offset;
5967 }
5968
5969
5970 static const per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
5971   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
5972   { NULL, 0, 0, NULL }
5973 };
5974
5975 static int
5976 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5977   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5978                                    ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
5979
5980   return offset;
5981 }
5982
5983
5984 static const per_sequence_t NoPTAudioToneCapability_sequence[] = {
5985   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
5986 };
5987
5988 static int
5989 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5990   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5991                                    ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
5992
5993   return offset;
5994 }
5995
5996
5997 static const value_string h245_AudioCapability_vals[] = {
5998   { AudioCapability_nonStandard, "nonStandard" },
5999   { AudioCapability_g711Alaw64k, "g711Alaw64k" },
6000   { AudioCapability_g711Alaw56k, "g711Alaw56k" },
6001   { AudioCapability_g711Ulaw64k, "g711Ulaw64k" },
6002   { AudioCapability_g711Ulaw56k, "g711Ulaw56k" },
6003   { AudioCapability_g722_64k, "g722-64k" },
6004   { AudioCapability_g722_56k, "g722-56k" },
6005   { AudioCapability_g722_48k, "g722-48k" },
6006   { AudioCapability_g7231, "g7231" },
6007   { AudioCapability_g728, "g728" },
6008   { AudioCapability_g729, "g729" },
6009   { AudioCapability_g729AnnexA, "g729AnnexA" },
6010   { AudioCapability_is11172AudioCapability, "is11172AudioCapability" },
6011   { AudioCapability_is13818AudioCapability, "is13818AudioCapability" },
6012   { AudioCapability_g729wAnnexB, "g729wAnnexB" },
6013   { AudioCapability_g729AnnexAwAnnexB, "g729AnnexAwAnnexB" },
6014   { AudioCapability_g7231AnnexCCapability, "g7231AnnexCCapability" },
6015   { AudioCapability_gsmFullRate, "gsmFullRate" },
6016   { AudioCapability_gsmHalfRate, "gsmHalfRate" },
6017   { AudioCapability_gsmEnhancedFullRate, "gsmEnhancedFullRate" },
6018   { AudioCapability_genericAudioCapability, "genericAudioCapability" },
6019   { AudioCapability_g729Extensions, "g729Extensions" },
6020   { AudioCapability_vbd, "vbd" },
6021   { AudioCapability_audioTelephonyEvent, "audioTelephonyEvent" },
6022   { AudioCapability_audioTone, "audioTone" },
6023   { 0, NULL }
6024 };
6025
6026 static const per_choice_t AudioCapability_choice[] = {
6027   { AudioCapability_nonStandard, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6028   { AudioCapability_g711Alaw64k, &hf_h245_g711Alaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6029   { AudioCapability_g711Alaw56k, &hf_h245_g711Alaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6030   { AudioCapability_g711Ulaw64k, &hf_h245_g711Ulaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6031   { AudioCapability_g711Ulaw56k, &hf_h245_g711Ulaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6032   { AudioCapability_g722_64k, &hf_h245_g722_64k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6033   { AudioCapability_g722_56k, &hf_h245_g722_56k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6034   { AudioCapability_g722_48k, &hf_h245_g722_48k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6035   { AudioCapability_g7231, &hf_h245_g7231          , ASN1_EXTENSION_ROOT    , dissect_h245_T_g7231 },
6036   { AudioCapability_g728, &hf_h245_g728           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6037   { AudioCapability_g729, &hf_h245_g729           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6038   { AudioCapability_g729AnnexA, &hf_h245_g729AnnexA     , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6039   { AudioCapability_is11172AudioCapability, &hf_h245_is11172AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioCapability },
6040   { AudioCapability_is13818AudioCapability, &hf_h245_is13818AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioCapability },
6041   { AudioCapability_g729wAnnexB, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
6042   { AudioCapability_g729AnnexAwAnnexB, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
6043   { AudioCapability_g7231AnnexCCapability, &hf_h245_g7231AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCCapability },
6044   { AudioCapability_gsmFullRate, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6045   { AudioCapability_gsmHalfRate, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6046   { AudioCapability_gsmEnhancedFullRate, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6047   { AudioCapability_genericAudioCapability, &hf_h245_genericAudioCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6048   { AudioCapability_g729Extensions, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
6049   { AudioCapability_vbd, &hf_h245_vbd            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDCapability },
6050   { AudioCapability_audioTelephonyEvent, &hf_h245_audioTelephonyEvent, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioTelephonyEventCapability },
6051   { AudioCapability_audioTone, &hf_h245_audioTone      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioToneCapability },
6052   { 0, NULL, 0, NULL }
6053 };
6054
6055 static int
6056 dissect_h245_AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6057 #line 488 "../../asn1/h245/h245.cnf"
6058   gint32 value;
6059
6060   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6061                                  ett_h245_AudioCapability, AudioCapability_choice,
6062                                  &value);
6063
6064         codec_type = val_to_str(value, h245_AudioCapability_short_vals, "<unknown>");
6065
6066
6067   return offset;
6068 }
6069
6070
6071 static const per_sequence_t T_h233EncryptionReceiveCapability_sequence[] = {
6072   { &hf_h245_h233IVResponseTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
6073   { NULL, 0, 0, NULL }
6074 };
6075
6076 static int
6077 dissect_h245_T_h233EncryptionReceiveCapability(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(tvb, offset, actx, tree, hf_index,
6079                                    ett_h245_T_h233EncryptionReceiveCapability, T_h233EncryptionReceiveCapability_sequence);
6080
6081   return offset;
6082 }
6083
6084
6085 static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
6086   { &hf_h245_nonStandardParams_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6087 };
6088
6089 static int
6090 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_) {
6091   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6092                                       ett_h245_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
6093
6094   return offset;
6095 }
6096
6097
6098 static const per_sequence_t ConferenceCapability_sequence[] = {
6099   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
6100   { &hf_h245_chairControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6101   { &hf_h245_videoIndicateMixingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6102   { &hf_h245_multipointVisualizationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
6103   { NULL, 0, 0, NULL }
6104 };
6105
6106 static int
6107 dissect_h245_ConferenceCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6108   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6109                                    ett_h245_ConferenceCapability, ConferenceCapability_sequence);
6110
6111   return offset;
6112 }
6113
6114
6115 static const value_string h245_MediaEncryptionAlgorithm_vals[] = {
6116   {   0, "nonStandard" },
6117   {   1, "algorithm" },
6118   { 0, NULL }
6119 };
6120
6121 static const per_choice_t MediaEncryptionAlgorithm_choice[] = {
6122   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6123   {   1, &hf_h245_algorithm      , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
6124   { 0, NULL, 0, NULL }
6125 };
6126
6127 static int
6128 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6129   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6130                                  ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice,
6131                                  NULL);
6132
6133   return offset;
6134 }
6135
6136
6137 static const per_sequence_t EncryptionCapability_sequence_of[1] = {
6138   { &hf_h245_EncryptionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaEncryptionAlgorithm },
6139 };
6140
6141 static int
6142 dissect_h245_EncryptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6143   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6144                                                   ett_h245_EncryptionCapability, EncryptionCapability_sequence_of,
6145                                                   1, 256, FALSE);
6146
6147   return offset;
6148 }
6149
6150
6151 static const per_sequence_t AuthenticationCapability_sequence[] = {
6152   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6153   { &hf_h245_antiSpamAlgorithm, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6154   { NULL, 0, 0, NULL }
6155 };
6156
6157 static int
6158 dissect_h245_AuthenticationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6159   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6160                                    ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
6161
6162   return offset;
6163 }
6164
6165
6166 static const per_sequence_t IntegrityCapability_sequence[] = {
6167   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6168   { NULL, 0, 0, NULL }
6169 };
6170
6171 static int
6172 dissect_h245_IntegrityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6173   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6174                                    ett_h245_IntegrityCapability, IntegrityCapability_sequence);
6175
6176   return offset;
6177 }
6178
6179
6180 static const per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
6181   { &hf_h245_encryptionCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_EncryptionCapability },
6182   { &hf_h245_authenticationCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_AuthenticationCapability },
6183   { &hf_h245_integrityCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IntegrityCapability },
6184   { &hf_h245_genericH235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
6185   { NULL, 0, 0, NULL }
6186 };
6187
6188 static int
6189 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6190   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6191                                    ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
6192
6193   return offset;
6194 }
6195
6196
6197 static const per_sequence_t H235SecurityCapability_sequence[] = {
6198   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
6199   { &hf_h245_mediaCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6200   { NULL, 0, 0, NULL }
6201 };
6202
6203 static int
6204 dissect_h245_H235SecurityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6205   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6206                                    ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
6207
6208   return offset;
6209 }
6210
6211
6212 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of[1] = {
6213   { &hf_h245_ui_nonStandard_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6214 };
6215
6216 static int
6217 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_) {
6218   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6219                                                   ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter, SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of,
6220                                                   1, 16, FALSE);
6221
6222   return offset;
6223 }
6224
6225
6226 static const value_string h245_UserInputCapability_vals[] = {
6227   {   0, "nonStandard" },
6228   {   1, "basicString" },
6229   {   2, "iA5String" },
6230   {   3, "generalString" },
6231   {   4, "dtmf" },
6232   {   5, "hookflash" },
6233   {   6, "extendedAlphanumeric" },
6234   {   7, "encryptedBasicString" },
6235   {   8, "encryptedIA5String" },
6236   {   9, "encryptedGeneralString" },
6237   {  10, "secureDTMF" },
6238   {  11, "genericUserInputCapability" },
6239   { 0, NULL }
6240 };
6241
6242 static const per_choice_t UserInputCapability_choice[] = {
6243   {   0, &hf_h245_ui_nonStandard , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter },
6244   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6245   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6246   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6247   {   4, &hf_h245_dtmf           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6248   {   5, &hf_h245_hookflash      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6249   {   6, &hf_h245_extendedAlphanumericFlag, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6250   {   7, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6251   {   8, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6252   {   9, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6253   {  10, &hf_h245_secureDTMF     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6254   {  11, &hf_h245_genericUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6255   { 0, NULL, 0, NULL }
6256 };
6257
6258 static int
6259 dissect_h245_UserInputCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6260   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6261                                  ett_h245_UserInputCapability, UserInputCapability_choice,
6262                                  NULL);
6263
6264   return offset;
6265 }
6266
6267
6268 static const value_string h245_MultiplexFormat_vals[] = {
6269   {   0, "nonStandard" },
6270   {   1, "h222Capability" },
6271   {   2, "h223Capability" },
6272   { 0, NULL }
6273 };
6274
6275 static const per_choice_t MultiplexFormat_choice[] = {
6276   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6277   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
6278   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
6279   { 0, NULL, 0, NULL }
6280 };
6281
6282 static int
6283 dissect_h245_MultiplexFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6284   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6285                                  ett_h245_MultiplexFormat, MultiplexFormat_choice,
6286                                  NULL);
6287
6288   return offset;
6289 }
6290
6291
6292 static const per_sequence_t AlternativeCapabilitySet_sequence_of[1] = {
6293   { &hf_h245_AlternativeCapabilitySet_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6294 };
6295
6296 static int
6297 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6298   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6299                                                   ett_h245_AlternativeCapabilitySet, AlternativeCapabilitySet_sequence_of,
6300                                                   1, 256, FALSE);
6301
6302   return offset;
6303 }
6304
6305
6306 static const per_sequence_t SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of[1] = {
6307   { &hf_h245_simultaneousCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_AlternativeCapabilitySet },
6308 };
6309
6310 static int
6311 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_) {
6312   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6313                                              ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet, SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of,
6314                                              1, 256, FALSE);
6315
6316   return offset;
6317 }
6318
6319
6320 static const per_sequence_t MultiplexedStreamCapability_sequence[] = {
6321   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
6322   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6323   { &hf_h245_capabilityOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6324   { NULL, 0, 0, NULL }
6325 };
6326
6327 static int
6328 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6329   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6330                                    ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
6331
6332   return offset;
6333 }
6334
6335
6336
6337 static int
6338 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_) {
6339   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6340                                                             96U, 127U, NULL, FALSE);
6341
6342   return offset;
6343 }
6344
6345
6346 static const per_sequence_t AudioTelephonyEventCapability_sequence[] = {
6347   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6348   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
6349   { NULL, 0, 0, NULL }
6350 };
6351
6352 static int
6353 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6354   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6355                                    ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
6356
6357   return offset;
6358 }
6359
6360
6361 static const per_sequence_t AudioToneCapability_sequence[] = {
6362   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6363   { NULL, 0, 0, NULL }
6364 };
6365
6366 static int
6367 dissect_h245_AudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6368   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6369                                    ett_h245_AudioToneCapability, AudioToneCapability_sequence);
6370
6371   return offset;
6372 }
6373
6374
6375 static const per_sequence_t T_separateStreamBool_sequence[] = {
6376   { &hf_h245_separatePort   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6377   { &hf_h245_samePortBool   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6378   { NULL, 0, 0, NULL }
6379 };
6380
6381 static int
6382 dissect_h245_T_separateStreamBool(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6383   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6384                                    ett_h245_T_separateStreamBool, T_separateStreamBool_sequence);
6385
6386   return offset;
6387 }
6388
6389
6390 static const per_sequence_t FECC_rfc2733_sequence[] = {
6391   { &hf_h245_redundancyEncodingBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6392   { &hf_h245_separateStreamBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_separateStreamBool },
6393   { NULL, 0, 0, NULL }
6394 };
6395
6396 static int
6397 dissect_h245_FECC_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6398   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6399                                    ett_h245_FECC_rfc2733, FECC_rfc2733_sequence);
6400
6401   return offset;
6402 }
6403
6404
6405 static const value_string h245_DepFECCapability_vals[] = {
6406   {   0, "rfc2733" },
6407   { 0, NULL }
6408 };
6409
6410 static const per_choice_t DepFECCapability_choice[] = {
6411   {   0, &hf_h245_fecc_rfc2733   , ASN1_EXTENSION_ROOT    , dissect_h245_FECC_rfc2733 },
6412   { 0, NULL, 0, NULL }
6413 };
6414
6415 static int
6416 dissect_h245_DepFECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6417   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6418                                  ett_h245_DepFECCapability, DepFECCapability_choice,
6419                                  NULL);
6420
6421   return offset;
6422 }
6423
6424
6425 static const per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
6426   { &hf_h245_capabilities   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6427   { NULL, 0, 0, NULL }
6428 };
6429
6430 static int
6431 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6432   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6433                                    ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
6434
6435   return offset;
6436 }
6437
6438
6439
6440 static int
6441 dissect_h245_MaxRedundancy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6442   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6443                                                             1U, NO_BOUND, NULL, FALSE);
6444
6445   return offset;
6446 }
6447
6448
6449 static const value_string h245_Rfc2733Format_vals[] = {
6450   {   0, "rfc2733rfc2198" },
6451   {   1, "rfc2733sameport" },
6452   {   2, "rfc2733diffport" },
6453   { 0, NULL }
6454 };
6455
6456 static const per_choice_t Rfc2733Format_choice[] = {
6457   {   0, &hf_h245_rfc2733rfc2198 , ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6458   {   1, &hf_h245_rfc2733sameport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6459   {   2, &hf_h245_rfc2733diffport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6460   { 0, NULL, 0, NULL }
6461 };
6462
6463 static int
6464 dissect_h245_Rfc2733Format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6465   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6466                                  ett_h245_Rfc2733Format, Rfc2733Format_choice,
6467                                  NULL);
6468
6469   return offset;
6470 }
6471
6472
6473 static const per_sequence_t FECCapability_sequence[] = {
6474   { &hf_h245_protectedCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6475   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6476   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
6477   { NULL, 0, 0, NULL }
6478 };
6479
6480 static int
6481 dissect_h245_FECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6482   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6483                                    ett_h245_FECCapability, FECCapability_sequence);
6484
6485   return offset;
6486 }
6487
6488
6489 const value_string h245_Capability_vals[] = {
6490   {   0, "nonStandard" },
6491   {   1, "receiveVideoCapability" },
6492   {   2, "transmitVideoCapability" },
6493   {   3, "receiveAndTransmitVideoCapability" },
6494   {   4, "receiveAudioCapability" },
6495   {   5, "transmitAudioCapability" },
6496   {   6, "receiveAndTransmitAudioCapability" },
6497   {   7, "receiveDataApplicationCapability" },
6498   {   8, "transmitDataApplicationCapability" },
6499   {   9, "receiveAndTransmitDataApplicationCapability" },
6500   {  10, "h233EncryptionTransmitCapability" },
6501   {  11, "h233EncryptionReceiveCapability" },
6502   {  12, "conferenceCapability" },
6503   {  13, "h235SecurityCapability" },
6504   {  14, "maxPendingReplacementFor" },
6505   {  15, "receiveUserInputCapability" },
6506   {  16, "transmitUserInputCapability" },
6507   {  17, "receiveAndTransmitUserInputCapability" },
6508   {  18, "genericControlCapability" },
6509   {  19, "receiveMultiplexedStreamCapability" },
6510   {  20, "transmitMultiplexedStreamCapability" },
6511   {  21, "receiveAndTransmitMultiplexedStreamCapability" },
6512   {  22, "receiveRTPAudioTelephonyEventCapability" },
6513   {  23, "receiveRTPAudioToneCapability" },
6514   {  24, "depFecCapability" },
6515   {  25, "multiplePayloadStreamCapability" },
6516   {  26, "fecCapability" },
6517   {  27, "redundancyEncodingCap" },
6518   {  28, "oneOfCapabilities" },
6519   { 0, NULL }
6520 };
6521
6522 static const per_choice_t Capability_choice[] = {
6523   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6524   {   1, &hf_h245_receiveVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6525   {   2, &hf_h245_transmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6526   {   3, &hf_h245_receiveAndTransmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6527   {   4, &hf_h245_receiveAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6528   {   5, &hf_h245_transmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6529   {   6, &hf_h245_receiveAndTransmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6530   {   7, &hf_h245_receiveDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6531   {   8, &hf_h245_transmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6532   {   9, &hf_h245_receiveAndTransmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6533   {  10, &hf_h245_h233EncryptionTransmitCapability, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
6534   {  11, &hf_h245_h233EncryptionReceiveCapability, ASN1_EXTENSION_ROOT    , dissect_h245_T_h233EncryptionReceiveCapability },
6535   {  12, &hf_h245_conferenceCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCapability },
6536   {  13, &hf_h245_h235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235SecurityCapability },
6537   {  14, &hf_h245_maxPendingReplacementFor, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
6538   {  15, &hf_h245_receiveUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6539   {  16, &hf_h245_transmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6540   {  17, &hf_h245_receiveAndTransmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6541   {  18, &hf_h245_genericControlCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6542   {  19, &hf_h245_receiveMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6543   {  20, &hf_h245_transmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6544   {  21, &hf_h245_receiveAndTransmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6545   {  22, &hf_h245_receiveRTPAudioTelephonyEventCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioTelephonyEventCapability },
6546   {  23, &hf_h245_receiveRTPAudioToneCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioToneCapability },
6547   {  24, &hf_h245_depFecCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECCapability },
6548   {  25, &hf_h245_multiplePayloadStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamCapability },
6549   {  26, &hf_h245_fecCapability  , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECCapability },
6550   {  27, &hf_h245_redundancyEncodingCap, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingCapability },
6551   {  28, &hf_h245_oneOfCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AlternativeCapabilitySet },
6552   { 0, NULL, 0, NULL }
6553 };
6554
6555 int
6556 dissect_h245_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6557   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6558                                  ett_h245_Capability, Capability_choice,
6559                                  NULL);
6560
6561   return offset;
6562 }
6563
6564
6565 static const per_sequence_t CapabilityTableEntry_sequence[] = {
6566   { &hf_h245_capabilityTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6567   { &hf_h245_capability     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_Capability },
6568   { NULL, 0, 0, NULL }
6569 };
6570
6571 static int
6572 dissect_h245_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_sequence(tvb, offset, actx, tree, hf_index,
6574                                    ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
6575
6576   return offset;
6577 }
6578
6579
6580 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityTableEntry_set_of[1] = {
6581   { &hf_h245_capabilityTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntry },
6582 };
6583
6584 static int
6585 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_) {
6586   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6587                                              ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry, SET_SIZE_1_256_OF_CapabilityTableEntry_set_of,
6588                                              1, 256, FALSE);
6589
6590   return offset;
6591 }
6592
6593
6594
6595 static int
6596 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6597   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6598                                                             0U, 255U, NULL, FALSE);
6599
6600   return offset;
6601 }
6602
6603
6604 static const per_sequence_t CapabilityDescriptor_sequence[] = {
6605   { &hf_h245_capabilityDescriptorNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
6606   { &hf_h245_simultaneousCapabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6607   { NULL, 0, 0, NULL }
6608 };
6609
6610 static int
6611 dissect_h245_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_sequence(tvb, offset, actx, tree, hf_index,
6613                                    ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
6614
6615   return offset;
6616 }
6617
6618
6619 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptor_set_of[1] = {
6620   { &hf_h245_capabilityDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptor },
6621 };
6622
6623 static int
6624 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_) {
6625   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6626                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor, SET_SIZE_1_256_OF_CapabilityDescriptor_set_of,
6627                                              1, 256, FALSE);
6628
6629   return offset;
6630 }
6631
6632
6633
6634 static int
6635 dissect_h245_T_subMessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6636 #line 620 "../../asn1/h245/h245.cnf"
6637   guint32 subMessageIdentifer;
6638   gef_ctx_t *gefx;
6639
6640   gefx = gef_ctx_get(actx->private_data);
6641   if (gefx) {
6642         /* If this is a standard generic message use hf_h245_subMessageIdentifier_standard to get
6643          * the value translated and make it fileterable.
6644          */
6645     if (strcmp("GenericMessage/0.0.8.239.2", gefx->key) == 0) {
6646       hf_index = hf_h245_subMessageIdentifier_standard;
6647     }
6648   }
6649   
6650   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6651                                                             0U, 127U, &subMessageIdentifer, FALSE);
6652
6653   if (gefx) {
6654     gefx->subid = ep_strdup_printf("%u", subMessageIdentifer);
6655     gef_ctx_update_key(gef_ctx_get(actx->private_data));
6656     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG CapabilityIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
6657   }
6658   if (hf_index == hf_h245_subMessageIdentifier_standard)
6659   {
6660     col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s", val_to_str(subMessageIdentifer, h245_h239subMessageIdentifier_vals, "<unknown>") );
6661     g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(subMessageIdentifer, h245_h239subMessageIdentifier_vals, "<unknown>"));
6662   }
6663
6664
6665   return offset;
6666 }
6667
6668
6669
6670 static int
6671 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_) {
6672 #line 647 "../../asn1/h245/h245.cnf"
6673   gef_ctx_t *parent_gefx;
6674
6675   parent_gefx = gef_ctx_get(actx->private_data);
6676   actx->private_data = gef_ctx_alloc(parent_gefx, NULL);
6677
6678   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
6679
6680 #line 652 "../../asn1/h245/h245.cnf"
6681   actx->private_data = parent_gefx;
6682
6683   return offset;
6684 }
6685
6686
6687 static const per_sequence_t T_messageContent_sequence_of[1] = {
6688   { &hf_h245_messageContent_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_messageContent_item },
6689 };
6690
6691 static int
6692 dissect_h245_T_messageContent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6693   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6694                                       ett_h245_T_messageContent, T_messageContent_sequence_of);
6695
6696   return offset;
6697 }
6698
6699
6700 static const per_sequence_t GenericMessage_sequence[] = {
6701   { &hf_h245_messageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
6702   { &hf_h245_subMessageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subMessageIdentifier },
6703   { &hf_h245_messageContent , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_messageContent },
6704   { NULL, 0, 0, NULL }
6705 };
6706
6707 static int
6708 dissect_h245_GenericMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6709 #line 606 "../../asn1/h245/h245.cnf"
6710   void *priv_data = actx->private_data;
6711   gef_ctx_t *gefx;
6712
6713   /* check if not inherited from GenericInformation */
6714   gefx = gef_ctx_get(actx->private_data);
6715   if (!gefx) {
6716     gefx = gef_ctx_alloc(NULL, "GenericMessage");
6717     actx->private_data = gefx;
6718   }
6719
6720   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6721                                    ett_h245_GenericMessage, GenericMessage_sequence);
6722
6723 #line 616 "../../asn1/h245/h245.cnf"
6724   actx->private_data = priv_data;
6725
6726   return offset;
6727 }
6728
6729
6730
6731 static int
6732 dissect_h245_GenericInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6733 #line 657 "../../asn1/h245/h245.cnf"
6734   void *priv_data = actx->private_data;
6735   actx->private_data = gef_ctx_alloc(NULL, "GenericInformation");
6736
6737   offset = dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_index);
6738
6739 #line 660 "../../asn1/h245/h245.cnf"
6740   actx->private_data = priv_data;
6741
6742   return offset;
6743 }
6744
6745
6746 static const per_sequence_t SEQUENCE_OF_GenericInformation_sequence_of[1] = {
6747   { &hf_h245_genericInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericInformation },
6748 };
6749
6750 static int
6751 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_) {
6752   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6753                                       ett_h245_SEQUENCE_OF_GenericInformation, SEQUENCE_OF_GenericInformation_sequence_of);
6754
6755   return offset;
6756 }
6757
6758
6759 static const per_sequence_t TerminalCapabilitySet_sequence[] = {
6760   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
6761   { &hf_h245_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
6762   { &hf_h245_multiplexCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplexCapability },
6763   { &hf_h245_capabilityTable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry },
6764   { &hf_h245_capabilityDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor },
6765   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
6766   { NULL, 0, 0, NULL }
6767 };
6768
6769 static int
6770 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6771   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6772                                    ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
6773
6774 #line 591 "../../asn1/h245/h245.cnf"
6775
6776 if (h245_pi != NULL)
6777   h245_pi->msg_type = H245_TermCapSet;
6778
6779   return offset;
6780 }
6781
6782
6783
6784 static int
6785 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6786 #line 123 "../../asn1/h245/h245.cnf"
6787   guint32 value;
6788   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6789                                                             1U, 65535U, &value, FALSE);
6790
6791   h245_lc_temp = value & 0xfff;
6792
6793
6794   return offset;
6795 }
6796
6797
6798
6799 static int
6800 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_) {
6801   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
6802
6803 #line 164 "../../asn1/h245/h245.cnf"
6804   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
6805   h223_fw_lc_num = h245_lc_temp;
6806
6807   return offset;
6808 }
6809
6810
6811 static const value_string h245_EncryptionMode_vals[] = {
6812   {   0, "nonStandard" },
6813   {   1, "h233Encryption" },
6814   { 0, NULL }
6815 };
6816
6817 static const per_choice_t EncryptionMode_choice[] = {
6818   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6819   {   1, &hf_h245_h233Encryption , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6820   { 0, NULL, 0, NULL }
6821 };
6822
6823 static int
6824 dissect_h245_EncryptionMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6825   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6826                                  ett_h245_EncryptionMode, EncryptionMode_choice,
6827                                  NULL);
6828
6829   return offset;
6830 }
6831
6832
6833
6834 static int
6835 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_) {
6836   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6837                                                             0U, 127U, NULL, FALSE);
6838
6839   return offset;
6840 }
6841
6842
6843 static const per_sequence_t RedundancyEncodingElement_sequence[] = {
6844   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6845   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6846   { NULL, 0, 0, NULL }
6847 };
6848
6849 static int
6850 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6851   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6852                                    ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
6853
6854   return offset;
6855 }
6856
6857
6858 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingElement_sequence_of[1] = {
6859   { &hf_h245_secondary_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingElement },
6860 };
6861
6862 static int
6863 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_) {
6864   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6865                                       ett_h245_SEQUENCE_OF_RedundancyEncodingElement, SEQUENCE_OF_RedundancyEncodingElement_sequence_of);
6866
6867   return offset;
6868 }
6869
6870
6871 static const per_sequence_t T_rtpRedundancyEncoding_sequence[] = {
6872   { &hf_h245_primary        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingElement },
6873   { &hf_h245_secondary      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_RedundancyEncodingElement },
6874   { NULL, 0, 0, NULL }
6875 };
6876
6877 static int
6878 dissect_h245_T_rtpRedundancyEncoding(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_T_rtpRedundancyEncoding, T_rtpRedundancyEncoding_sequence);
6881
6882   return offset;
6883 }
6884
6885
6886 static const per_sequence_t RedundancyEncoding_sequence[] = {
6887   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
6888   { &hf_h245_secondaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataType },
6889   { &hf_h245_rtpRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_rtpRedundancyEncoding },
6890   { NULL, 0, 0, NULL }
6891 };
6892
6893 static int
6894 dissect_h245_RedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6895   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6896                                    ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
6897
6898   return offset;
6899 }
6900
6901
6902 static const per_sequence_t MultiplePayloadStreamElement_sequence[] = {
6903   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6904   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6905   { NULL, 0, 0, NULL }
6906 };
6907
6908 static int
6909 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6910   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6911                                    ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
6912
6913   return offset;
6914 }
6915
6916
6917 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of[1] = {
6918   { &hf_h245_elements_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElement },
6919 };
6920
6921 static int
6922 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_) {
6923   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6924                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement, SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of);
6925
6926   return offset;
6927 }
6928
6929
6930 static const per_sequence_t MultiplePayloadStream_sequence[] = {
6931   { &hf_h245_elements       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement },
6932   { NULL, 0, 0, NULL }
6933 };
6934
6935 static int
6936 dissect_h245_MultiplePayloadStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6937   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6938                                    ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
6939
6940   return offset;
6941 }
6942
6943
6944 static const per_sequence_t T_differentPort_sequence[] = {
6945   { &hf_h245_protectedSessionID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
6946   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6947   { NULL, 0, 0, NULL }
6948 };
6949
6950 static int
6951 dissect_h245_T_differentPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6952   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6953                                    ett_h245_T_differentPort, T_differentPort_sequence);
6954
6955   return offset;
6956 }
6957
6958
6959 static const per_sequence_t T_samePort_sequence[] = {
6960   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
6961   { NULL, 0, 0, NULL }
6962 };
6963
6964 static int
6965 dissect_h245_T_samePort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6966   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6967                                    ett_h245_T_samePort, T_samePort_sequence);
6968
6969   return offset;
6970 }
6971
6972
6973 static const value_string h245_DepSeparateStream_vals[] = {
6974   {   0, "differentPort" },
6975   {   1, "samePort" },
6976   { 0, NULL }
6977 };
6978
6979 static const per_choice_t DepSeparateStream_choice[] = {
6980   {   0, &hf_h245_differentPort  , ASN1_EXTENSION_ROOT    , dissect_h245_T_differentPort },
6981   {   1, &hf_h245_samePort       , ASN1_EXTENSION_ROOT    , dissect_h245_T_samePort },
6982   { 0, NULL, 0, NULL }
6983 };
6984
6985 static int
6986 dissect_h245_DepSeparateStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6987   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6988                                  ett_h245_DepSeparateStream, DepSeparateStream_choice,
6989                                  NULL);
6990
6991   return offset;
6992 }
6993
6994
6995 static const value_string h245_FECdata_mode_vals[] = {
6996   {   0, "redundancyEncoding" },
6997   {   1, "separateStream" },
6998   { 0, NULL }
6999 };
7000
7001 static const per_choice_t FECdata_mode_choice[] = {
7002   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7003   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
7004   { 0, NULL, 0, NULL }
7005 };
7006
7007 static int
7008 dissect_h245_FECdata_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7009   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7010                                  ett_h245_FECdata_mode, FECdata_mode_choice,
7011                                  NULL);
7012
7013   return offset;
7014 }
7015
7016
7017 static const per_sequence_t RFC2733Data_sequence[] = {
7018   { &hf_h245_fec_data_mode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FECdata_mode },
7019   { NULL, 0, 0, NULL }
7020 };
7021
7022 static int
7023 dissect_h245_RFC2733Data(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7024   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7025                                    ett_h245_RFC2733Data, RFC2733Data_sequence);
7026
7027   return offset;
7028 }
7029
7030
7031 static const value_string h245_DepFECData_vals[] = {
7032   {   0, "rfc2733" },
7033   { 0, NULL }
7034 };
7035
7036 static const per_choice_t DepFECData_choice[] = {
7037   {   0, &hf_h245_dep_rfc2733    , ASN1_NO_EXTENSIONS     , dissect_h245_RFC2733Data },
7038   { 0, NULL, 0, NULL }
7039 };
7040
7041 static int
7042 dissect_h245_DepFECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7043   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7044                                  ett_h245_DepFECData, DepFECData_choice,
7045                                  NULL);
7046
7047   return offset;
7048 }
7049
7050
7051 static const per_sequence_t T_mode_rfc2733sameport_sequence[] = {
7052   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
7053 };
7054
7055 static int
7056 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_) {
7057   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7058                                    ett_h245_T_mode_rfc2733sameport, T_mode_rfc2733sameport_sequence);
7059
7060   return offset;
7061 }
7062
7063
7064 static const per_sequence_t T_mode_rfc2733diffport_sequence[] = {
7065   { &hf_h245_protectedChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
7066   { NULL, 0, 0, NULL }
7067 };
7068
7069 static int
7070 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_) {
7071   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7072                                    ett_h245_T_mode_rfc2733diffport, T_mode_rfc2733diffport_sequence);
7073
7074   return offset;
7075 }
7076
7077
7078 static const value_string h245_T_pktMode_vals[] = {
7079   {   0, "rfc2198coding" },
7080   {   1, "rfc2733sameport" },
7081   {   2, "rfc2733diffport" },
7082   { 0, NULL }
7083 };
7084
7085 static const per_choice_t T_pktMode_choice[] = {
7086   {   0, &hf_h245_rfc2198coding  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7087   {   1, &hf_h245_mode_rfc2733sameport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733sameport },
7088   {   2, &hf_h245_mode_rfc2733diffport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733diffport },
7089   { 0, NULL, 0, NULL }
7090 };
7091
7092 static int
7093 dissect_h245_T_pktMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7094   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7095                                  ett_h245_T_pktMode, T_pktMode_choice,
7096                                  NULL);
7097
7098   return offset;
7099 }
7100
7101
7102 static const per_sequence_t T_rfc2733_sequence[] = {
7103   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
7104   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
7105   { &hf_h245_pktMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pktMode },
7106   { NULL, 0, 0, NULL }
7107 };
7108
7109 static int
7110 dissect_h245_T_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7111   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7112                                    ett_h245_T_rfc2733, T_rfc2733_sequence);
7113
7114   return offset;
7115 }
7116
7117
7118 static const value_string h245_FECData_vals[] = {
7119   {   0, "rfc2733" },
7120   { 0, NULL }
7121 };
7122
7123 static const per_choice_t FECData_choice[] = {
7124   {   0, &hf_h245_rfc2733        , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733 },
7125   { 0, NULL, 0, NULL }
7126 };
7127
7128 static int
7129 dissect_h245_FECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7130   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7131                                  ett_h245_FECData, FECData_choice,
7132                                  NULL);
7133
7134   return offset;
7135 }
7136
7137
7138 static const value_string h245_T_mediaType_vals[] = {
7139   {   0, "nonStandard" },
7140   {   1, "videoData" },
7141   {   2, "audioData" },
7142   {   3, "data" },
7143   {   4, "redundancyEncoding" },
7144   {   5, "multiplePayloadStream" },
7145   {   6, "depFec" },
7146   {   7, "fec" },
7147   { 0, NULL }
7148 };
7149
7150 static const per_choice_t T_mediaType_choice[] = {
7151   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7152   {   1, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7153   {   2, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7154   {   3, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7155   {   4, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7156   {   5, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7157   {   6, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7158   {   7, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7159   { 0, NULL, 0, NULL }
7160 };
7161
7162 static int
7163 dissect_h245_T_mediaType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7164   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7165                                  ett_h245_T_mediaType, T_mediaType_choice,
7166                                  NULL);
7167
7168   return offset;
7169 }
7170
7171
7172 static const per_sequence_t H235Media_sequence[] = {
7173   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
7174   { &hf_h245_mediaType      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaType },
7175   { NULL, 0, 0, NULL }
7176 };
7177
7178 static int
7179 dissect_h245_H235Media(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7180   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7181                                    ett_h245_H235Media, H235Media_sequence);
7182
7183   return offset;
7184 }
7185
7186
7187 static const per_sequence_t MultiplexedStreamParameter_sequence[] = {
7188   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
7189   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7190   { NULL, 0, 0, NULL }
7191 };
7192
7193 static int
7194 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7195   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7196                                    ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
7197
7198   return offset;
7199 }
7200
7201
7202 static const value_string h245_DataType_vals[] = {
7203   {   0, "nonStandard" },
7204   {   1, "nullData" },
7205   {   2, "videoData" },
7206   {   3, "audioData" },
7207   {   4, "data" },
7208   {   5, "encryptionData" },
7209   {   6, "h235Control" },
7210   {   7, "h235Media" },
7211   {   8, "multiplexedStream" },
7212   {   9, "redundancyEncoding" },
7213   {  10, "multiplePayloadStream" },
7214   {  11, "depFec" },
7215   {  12, "fec" },
7216   { 0, NULL }
7217 };
7218
7219 static const per_choice_t DataType_choice[] = {
7220   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7221   {   1, &hf_h245_nullData       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7222   {   2, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7223   {   3, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7224   {   4, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7225   {   5, &hf_h245_encryptionData , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
7226   {   6, &hf_h245_h235Control    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
7227   {   7, &hf_h245_h235Media      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Media },
7228   {   8, &hf_h245_multiplexedStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
7229   {   9, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7230   {  10, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7231   {  11, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7232   {  12, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7233   { 0, NULL, 0, NULL }
7234 };
7235
7236 static int
7237 dissect_h245_DataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7238 #line 1012 "../../asn1/h245/h245.cnf"
7239 gint choice_index;
7240
7241   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7242                                  ett_h245_DataType, DataType_choice,
7243                                  &choice_index);
7244
7245
7246 if (upcoming_channel){
7247         if (choice_index==2){
7248                 upcoming_channel->is_video=TRUE;
7249         }else{
7250                 upcoming_channel->is_video=FALSE;
7251         }
7252 }
7253
7254
7255
7256   return offset;
7257 }
7258
7259
7260
7261 static int
7262 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_) {
7263   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7264                                                             0U, 8191U, NULL, FALSE);
7265
7266   return offset;
7267 }
7268
7269
7270 static const per_sequence_t H222LogicalChannelParameters_sequence[] = {
7271   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
7272   { &hf_h245_subChannelID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_8191 },
7273   { &hf_h245_pcr_pid        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_8191 },
7274   { &hf_h245_programDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7275   { &hf_h245_streamDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7276   { NULL, 0, 0, NULL }
7277 };
7278
7279 static int
7280 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7281   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7282                                    ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
7283
7284   return offset;
7285 }
7286
7287
7288
7289 static int
7290 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_) {
7291 #line 295 "../../asn1/h245/h245.cnf"
7292   if(h223_lc_params_temp)
7293         h223_lc_params_temp->al_type = al1Framed;
7294
7295   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7296
7297   return offset;
7298 }
7299
7300
7301
7302 static int
7303 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_) {
7304 #line 300 "../../asn1/h245/h245.cnf"
7305   if(h223_lc_params_temp)
7306         h223_lc_params_temp->al_type = al1NotFramed;
7307
7308   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7309
7310   return offset;
7311 }
7312
7313
7314
7315 static int
7316 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_) {
7317 #line 305 "../../asn1/h245/h245.cnf"
7318   if(h223_lc_params_temp)
7319         h223_lc_params_temp->al_type = al2WithoutSequenceNumbers;
7320
7321   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7322
7323   return offset;
7324 }
7325
7326
7327
7328 static int
7329 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_) {
7330 #line 310 "../../asn1/h245/h245.cnf"
7331   if(h223_lc_params_temp)
7332         h223_lc_params_temp->al_type = al2WithSequenceNumbers;
7333
7334   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7335
7336   return offset;
7337 }
7338
7339
7340
7341 static int
7342 dissect_h245_T_controlFieldOctets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7343 #line 324 "../../asn1/h245/h245.cnf"
7344   guint32 value;
7345   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7346                                                             0U, 2U, &value, FALSE);
7347
7348   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7349         ((h223_al3_params*)h223_lc_params_temp->al_params)->control_field_octets = value & 3 ;
7350
7351
7352   return offset;
7353 }
7354
7355
7356
7357 static int
7358 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_) {
7359 #line 333 "../../asn1/h245/h245.cnf"
7360   guint32 value;
7361   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7362                                                             0U, 16777215U, &value, FALSE);
7363
7364   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7365         ((h223_al3_params*)h223_lc_params_temp->al_params)->send_buffer_size = value & 0xfffff;
7366
7367
7368   return offset;
7369 }
7370
7371
7372 static const per_sequence_t Al3_sequence[] = {
7373   { &hf_h245_controlFieldOctets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_controlFieldOctets },
7374   { &hf_h245_al3_sendBufferSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_al3_sendBufferSize },
7375   { NULL, 0, 0, NULL }
7376 };
7377
7378 static int
7379 dissect_h245_Al3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7380   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7381                                    ett_h245_Al3, Al3_sequence);
7382
7383   return offset;
7384 }
7385
7386
7387
7388 static int
7389 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_) {
7390 #line 315 "../../asn1/h245/h245.cnf"
7391  if(h223_lc_params_temp) {
7392         h223_lc_params_temp->al_type = al3;
7393         h223_lc_params_temp->al_params = se_alloc(sizeof(h223_al3_params));
7394   }
7395
7396   offset = dissect_h245_Al3(tvb, offset, actx, tree, hf_index);
7397
7398   return offset;
7399 }
7400
7401
7402 static const value_string h245_T_transferMode_vals[] = {
7403   {   0, "framed" },
7404   {   1, "unframed" },
7405   { 0, NULL }
7406 };
7407
7408 static const per_choice_t T_transferMode_choice[] = {
7409   {   0, &hf_h245_framed         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7410   {   1, &hf_h245_unframed       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7411   { 0, NULL, 0, NULL }
7412 };
7413
7414 static int
7415 dissect_h245_T_transferMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7416   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7417                                  ett_h245_T_transferMode, T_transferMode_choice,
7418                                  NULL);
7419
7420   return offset;
7421 }
7422
7423
7424 static const value_string h245_AL1HeaderFEC_vals[] = {
7425   {   0, "sebch16-7" },
7426   {   1, "golay24-12" },
7427   { 0, NULL }
7428 };
7429
7430 static const per_choice_t AL1HeaderFEC_choice[] = {
7431   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7432   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7433   { 0, NULL, 0, NULL }
7434 };
7435
7436 static int
7437 dissect_h245_AL1HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7438   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7439                                  ett_h245_AL1HeaderFEC, AL1HeaderFEC_choice,
7440                                  NULL);
7441
7442   return offset;
7443 }
7444
7445
7446 static const value_string h245_AL1CrcLength_vals[] = {
7447   {   0, "crc4bit" },
7448   {   1, "crc12bit" },
7449   {   2, "crc20bit" },
7450   {   3, "crc28bit" },
7451   {   4, "crc8bit" },
7452   {   5, "crc16bit" },
7453   {   6, "crc32bit" },
7454   {   7, "crcNotUsed" },
7455   { 0, NULL }
7456 };
7457
7458 static const per_choice_t AL1CrcLength_choice[] = {
7459   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7460   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7461   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7462   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7463   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7464   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7465   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7466   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7467   { 0, NULL, 0, NULL }
7468 };
7469
7470 static int
7471 dissect_h245_AL1CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7472   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7473                                  ett_h245_AL1CrcLength, AL1CrcLength_choice,
7474                                  NULL);
7475
7476   return offset;
7477 }
7478
7479
7480
7481 static int
7482 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_) {
7483   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7484                                                             8U, 32U, NULL, FALSE);
7485
7486   return offset;
7487 }
7488
7489
7490
7491 static int
7492 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_) {
7493   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7494                                                             0U, 16U, NULL, FALSE);
7495
7496   return offset;
7497 }
7498
7499
7500 static const value_string h245_T_numberOfRetransmissions_vals[] = {
7501   {   0, "finite" },
7502   {   1, "infinite" },
7503   { 0, NULL }
7504 };
7505
7506 static const per_choice_t T_numberOfRetransmissions_choice[] = {
7507   {   0, &hf_h245_finite         , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_16 },
7508   {   1, &hf_h245_infinite       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7509   { 0, NULL, 0, NULL }
7510 };
7511
7512 static int
7513 dissect_h245_T_numberOfRetransmissions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7514   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7515                                  ett_h245_T_numberOfRetransmissions, T_numberOfRetransmissions_choice,
7516                                  NULL);
7517
7518   return offset;
7519 }
7520
7521
7522 static const per_sequence_t H223AnnexCArqParameters_sequence[] = {
7523   { &hf_h245_numberOfRetransmissions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_numberOfRetransmissions },
7524   { &hf_h245_sendBufferSize , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
7525   { NULL, 0, 0, NULL }
7526 };
7527
7528 static int
7529 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7530   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7531                                    ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
7532
7533   return offset;
7534 }
7535
7536
7537 static const value_string h245_ArqType_vals[] = {
7538   {   0, "noArq" },
7539   {   1, "typeIArq" },
7540   {   2, "typeIIArq" },
7541   { 0, NULL }
7542 };
7543
7544 static const per_choice_t ArqType_choice[] = {
7545   {   0, &hf_h245_noArq          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7546   {   1, &hf_h245_typeIArq       , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7547   {   2, &hf_h245_typeIIArq      , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7548   { 0, NULL, 0, NULL }
7549 };
7550
7551 static int
7552 dissect_h245_ArqType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7553   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7554                                  ett_h245_ArqType, ArqType_choice,
7555                                  NULL);
7556
7557   return offset;
7558 }
7559
7560
7561 static const per_sequence_t H223AL1MParameters_sequence[] = {
7562   { &hf_h245_transferMode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_transferMode },
7563   { &hf_h245_aL1HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1HeaderFEC },
7564   { &hf_h245_crcLength2     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1CrcLength },
7565   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7566   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7567   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7568   { &hf_h245_alsduSplitting , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7569   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7570   { NULL, 0, 0, NULL }
7571 };
7572
7573 static int
7574 dissect_h245_H223AL1MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7575   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7576                                    ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
7577
7578   return offset;
7579 }
7580
7581
7582
7583 static int
7584 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_) {
7585 #line 340 "../../asn1/h245/h245.cnf"
7586   if(h223_lc_params_temp)
7587         h223_lc_params_temp->al_type = al1M;
7588
7589   offset = dissect_h245_H223AL1MParameters(tvb, offset, actx, tree, hf_index);
7590
7591   return offset;
7592 }
7593
7594
7595 static const value_string h245_AL2HeaderFEC_vals[] = {
7596   {   0, "sebch16-5" },
7597   {   1, "golay24-12" },
7598   { 0, NULL }
7599 };
7600
7601 static const per_choice_t AL2HeaderFEC_choice[] = {
7602   {   0, &hf_h245_sebch16_5      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7603   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7604   { 0, NULL, 0, NULL }
7605 };
7606
7607 static int
7608 dissect_h245_AL2HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7609   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7610                                  ett_h245_AL2HeaderFEC, AL2HeaderFEC_choice,
7611                                  NULL);
7612
7613   return offset;
7614 }
7615
7616
7617 static const per_sequence_t H223AL2MParameters_sequence[] = {
7618   { &hf_h245_aL2HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL2HeaderFEC },
7619   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7620   { NULL, 0, 0, NULL }
7621 };
7622
7623 static int
7624 dissect_h245_H223AL2MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7625   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7626                                    ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
7627
7628   return offset;
7629 }
7630
7631
7632
7633 static int
7634 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_) {
7635 #line 345 "../../asn1/h245/h245.cnf"
7636   if(h223_lc_params_temp)
7637         h223_lc_params_temp->al_type = al2M;
7638
7639   offset = dissect_h245_H223AL2MParameters(tvb, offset, actx, tree, hf_index);
7640
7641   return offset;
7642 }
7643
7644
7645 static const value_string h245_T_headerFormat_vals[] = {
7646   {   0, "sebch16-7" },
7647   {   1, "golay24-12" },
7648   { 0, NULL }
7649 };
7650
7651 static const per_choice_t T_headerFormat_choice[] = {
7652   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7653   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7654   { 0, NULL, 0, NULL }
7655 };
7656
7657 static int
7658 dissect_h245_T_headerFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7659   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7660                                  ett_h245_T_headerFormat, T_headerFormat_choice,
7661                                  NULL);
7662
7663   return offset;
7664 }
7665
7666
7667 static const value_string h245_AL3CrcLength_vals[] = {
7668   {   0, "crc4bit" },
7669   {   1, "crc12bit" },
7670   {   2, "crc20bit" },
7671   {   3, "crc28bit" },
7672   {   4, "crc8bit" },
7673   {   5, "crc16bit" },
7674   {   6, "crc32bit" },
7675   {   7, "crcNotUsed" },
7676   { 0, NULL }
7677 };
7678
7679 static const per_choice_t AL3CrcLength_choice[] = {
7680   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7681   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7682   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7683   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7684   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7685   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7686   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7687   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7688   { 0, NULL, 0, NULL }
7689 };
7690
7691 static int
7692 dissect_h245_AL3CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7693   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7694                                  ett_h245_AL3CrcLength, AL3CrcLength_choice,
7695                                  NULL);
7696
7697   return offset;
7698 }
7699
7700
7701 static const per_sequence_t H223AL3MParameters_sequence[] = {
7702   { &hf_h245_headerFormat   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_headerFormat },
7703   { &hf_h245_crlength2      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL3CrcLength },
7704   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7705   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7706   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7707   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7708   { NULL, 0, 0, NULL }
7709 };
7710
7711 static int
7712 dissect_h245_H223AL3MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7713   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7714                                    ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
7715
7716   return offset;
7717 }
7718
7719
7720
7721 static int
7722 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_) {
7723 #line 350 "../../asn1/h245/h245.cnf"
7724   if(h223_lc_params_temp)
7725         h223_lc_params_temp->al_type = al3M;
7726
7727   offset = dissect_h245_H223AL3MParameters(tvb, offset, actx, tree, hf_index);
7728
7729   return offset;
7730 }
7731
7732
7733 static const value_string h245_T_adaptationLayerType_vals[] = {
7734   {   0, "nonStandard" },
7735   {   1, "al1Framed" },
7736   {   2, "al1NotFramed" },
7737   {   3, "al2WithoutSequenceNumbers" },
7738   {   4, "al2WithSequenceNumbers" },
7739   {   5, "al3" },
7740   {   6, "al1M" },
7741   {   7, "al2M" },
7742   {   8, "al3M" },
7743   { 0, NULL }
7744 };
7745
7746 static const per_choice_t T_adaptationLayerType_choice[] = {
7747   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7748   {   1, &hf_h245_h223_al_type_al1Framed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1Framed },
7749   {   2, &hf_h245_h223_al_type_al1NotFramed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1NotFramed },
7750   {   3, &hf_h245_h223_al_type_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers },
7751   {   4, &hf_h245_h223_al_type_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithSequenceNumbers },
7752   {   5, &hf_h245_h223_al_type_al3, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al3 },
7753   {   6, &hf_h245_h223_al_type_al1M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al1M },
7754   {   7, &hf_h245_h223_al_type_al2M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al2M },
7755   {   8, &hf_h245_h223_al_type_al3M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al3M },
7756   { 0, NULL, 0, NULL }
7757 };
7758
7759 static int
7760 dissect_h245_T_adaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7761   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7762                                  ett_h245_T_adaptationLayerType, T_adaptationLayerType_choice,
7763                                  NULL);
7764
7765   return offset;
7766 }
7767
7768
7769
7770 static int
7771 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_) {
7772 #line 357 "../../asn1/h245/h245.cnf"
7773   gboolean value;
7774   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &value);
7775
7776   if(h223_lc_params_temp)
7777         h223_lc_params_temp->segmentable = value;
7778
7779
7780   return offset;
7781 }
7782
7783
7784 static const per_sequence_t H223LogicalChannelParameters_sequence[] = {
7785   { &hf_h245_adaptationLayerType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_adaptationLayerType },
7786   { &hf_h245_h223_lc_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223_lc_segmentableFlag },
7787   { NULL, 0, 0, NULL }
7788 };
7789
7790 int
7791 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7792   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7793                                    ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
7794
7795   return offset;
7796 }
7797
7798
7799
7800 static int
7801 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_) {
7802 #line 186 "../../asn1/h245/h245.cnf"
7803   h223_fw_lc_params = se_alloc(sizeof(h223_lc_params));
7804   h223_fw_lc_params->al_type = al_nonStandard;
7805   h223_fw_lc_params->al_params = NULL;
7806   h223_fw_lc_params->segmentable = 0;
7807   h223_fw_lc_params->subdissector = NULL;
7808   h223_lc_params_temp = h223_fw_lc_params;
7809
7810   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
7811
7812   return offset;
7813 }
7814
7815
7816 static const value_string h245_CRCLength_vals[] = {
7817   {   0, "crc8bit" },
7818   {   1, "crc16bit" },
7819   {   2, "crc32bit" },
7820   { 0, NULL }
7821 };
7822
7823 static const per_choice_t CRCLength_choice[] = {
7824   {   0, &hf_h245_crc8bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7825   {   1, &hf_h245_crc16bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7826   {   2, &hf_h245_crc32bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7827   { 0, NULL, 0, NULL }
7828 };
7829
7830 static int
7831 dissect_h245_CRCLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7832   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7833                                  ett_h245_CRCLength, CRCLength_choice,
7834                                  NULL);
7835
7836   return offset;
7837 }
7838
7839
7840 static const per_sequence_t V76HDLCParameters_sequence[] = {
7841   { &hf_h245_crcLength      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CRCLength },
7842   { &hf_h245_n401           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
7843   { &hf_h245_loopbackTestProcedure, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7844   { NULL, 0, 0, NULL }
7845 };
7846
7847 static int
7848 dissect_h245_V76HDLCParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7849   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7850                                    ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
7851
7852   return offset;
7853 }
7854
7855
7856 static const value_string h245_T_suspendResume_vals[] = {
7857   {   0, "noSuspendResume" },
7858   {   1, "suspendResumewAddress" },
7859   {   2, "suspendResumewoAddress" },
7860   { 0, NULL }
7861 };
7862
7863 static const per_choice_t T_suspendResume_choice[] = {
7864   {   0, &hf_h245_noSuspendResume, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7865   {   1, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7866   {   2, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7867   { 0, NULL, 0, NULL }
7868 };
7869
7870 static int
7871 dissect_h245_T_suspendResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7872   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7873                                  ett_h245_T_suspendResume, T_suspendResume_choice,
7874                                  NULL);
7875
7876   return offset;
7877 }
7878
7879
7880 static const value_string h245_T_recovery_vals[] = {
7881   {   0, "rej" },
7882   {   1, "sREJ" },
7883   {   2, "mSREJ" },
7884   { 0, NULL }
7885 };
7886
7887 static const per_choice_t T_recovery_choice[] = {
7888   {   0, &hf_h245_rej            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7889   {   1, &hf_h245_sREJ           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7890   {   2, &hf_h245_mSREJ          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7891   { 0, NULL, 0, NULL }
7892 };
7893
7894 static int
7895 dissect_h245_T_recovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7896   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7897                                  ett_h245_T_recovery, T_recovery_choice,
7898                                  NULL);
7899
7900   return offset;
7901 }
7902
7903
7904 static const per_sequence_t T_eRM_sequence[] = {
7905   { &hf_h245_windowSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
7906   { &hf_h245_recovery       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_recovery },
7907   { NULL, 0, 0, NULL }
7908 };
7909
7910 static int
7911 dissect_h245_T_eRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7912   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7913                                    ett_h245_T_eRM, T_eRM_sequence);
7914
7915   return offset;
7916 }
7917
7918
7919 static const value_string h245_V76LCP_mode_vals[] = {
7920   {   0, "eRM" },
7921   {   1, "uNERM" },
7922   { 0, NULL }
7923 };
7924
7925 static const per_choice_t V76LCP_mode_choice[] = {
7926   {   0, &hf_h245_eRM            , ASN1_EXTENSION_ROOT    , dissect_h245_T_eRM },
7927   {   1, &hf_h245_uNERM          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7928   { 0, NULL, 0, NULL }
7929 };
7930
7931 static int
7932 dissect_h245_V76LCP_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7933   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7934                                  ett_h245_V76LCP_mode, V76LCP_mode_choice,
7935                                  NULL);
7936
7937   return offset;
7938 }
7939
7940
7941 static const per_sequence_t V75Parameters_sequence[] = {
7942   { &hf_h245_audioHeaderPresent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7943   { NULL, 0, 0, NULL }
7944 };
7945
7946 static int
7947 dissect_h245_V75Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7948   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7949                                    ett_h245_V75Parameters, V75Parameters_sequence);
7950
7951   return offset;
7952 }
7953
7954
7955 static const per_sequence_t V76LogicalChannelParameters_sequence[] = {
7956   { &hf_h245_hdlcParameters , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76HDLCParameters },
7957   { &hf_h245_suspendResume  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_suspendResume },
7958   { &hf_h245_uIH            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7959   { &hf_h245_v76_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76LCP_mode },
7960   { &hf_h245_v75Parameters  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Parameters },
7961   { NULL, 0, 0, NULL }
7962 };
7963
7964 static int
7965 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7966   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7967                                    ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
7968
7969   return offset;
7970 }
7971
7972
7973
7974 static int
7975 dissect_h245_Ipv4_network(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7976 #line 870 "../../asn1/h245/h245.cnf"
7977   tvbuff_t *value_tvb;
7978
7979   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7980                                        4, 4, FALSE, &value_tvb);
7981
7982
7983   if (upcoming_channel && upcoming_channel->upcoming_addr) {
7984     tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 4);
7985     SET_ADDRESS(&upcoming_channel->upcoming_addr->addr, AT_IPv4, 4, upcoming_channel->upcoming_addr->addr_buf);
7986   }
7987
7988
7989   return offset;
7990 }
7991
7992
7993
7994 static int
7995 dissect_h245_TsapIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7996 #line 881 "../../asn1/h245/h245.cnf"
7997   guint32 tsapIdentifier;
7998
7999   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8000                                                             0U, 65535U, &tsapIdentifier, FALSE);
8001
8002
8003   if (upcoming_channel && upcoming_channel->upcoming_addr) {
8004     upcoming_channel->upcoming_addr->port = tsapIdentifier;
8005   }
8006
8007
8008   return offset;
8009 }
8010
8011
8012 static const per_sequence_t T_iPAddress_sequence[] = {
8013   { &hf_h245_ip4_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ipv4_network },
8014   { &hf_h245_tsapIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TsapIdentifier },
8015   { NULL, 0, 0, NULL }
8016 };
8017
8018 static int
8019 dissect_h245_T_iPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8020   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8021                                    ett_h245_T_iPAddress, T_iPAddress_sequence);
8022
8023   return offset;
8024 }
8025
8026
8027
8028 static int
8029 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_) {
8030   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8031                                        6, 6, FALSE, NULL);
8032
8033   return offset;
8034 }
8035
8036
8037
8038 static int
8039 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_) {
8040   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8041                                        4, 4, FALSE, NULL);
8042
8043   return offset;
8044 }
8045
8046
8047
8048 static int
8049 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_) {
8050   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8051                                        2, 2, FALSE, NULL);
8052
8053   return offset;
8054 }
8055
8056
8057 static const per_sequence_t T_iPXAddress_sequence[] = {
8058   { &hf_h245_node           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_6 },
8059   { &hf_h245_netnum         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8060   { &hf_h245_ipx_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_2 },
8061   { NULL, 0, 0, NULL }
8062 };
8063
8064 static int
8065 dissect_h245_T_iPXAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8066   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8067                                    ett_h245_T_iPXAddress, T_iPXAddress_sequence);
8068
8069   return offset;
8070 }
8071
8072
8073 static const per_sequence_t T_iP6Address_sequence[] = {
8074   { &hf_h245_ip6_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8075   { &hf_h245_ipv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8076   { NULL, 0, 0, NULL }
8077 };
8078
8079 static int
8080 dissect_h245_T_iP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8081   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8082                                    ett_h245_T_iP6Address, T_iP6Address_sequence);
8083
8084   return offset;
8085 }
8086
8087
8088 static const value_string h245_T_routing_vals[] = {
8089   {   0, "strict" },
8090   {   1, "loose" },
8091   { 0, NULL }
8092 };
8093
8094 static const per_choice_t T_routing_choice[] = {
8095   {   0, &hf_h245_strict         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8096   {   1, &hf_h245_loose          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8097   { 0, NULL, 0, NULL }
8098 };
8099
8100 static int
8101 dissect_h245_T_routing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8102   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8103                                  ett_h245_T_routing, T_routing_choice,
8104                                  NULL);
8105
8106   return offset;
8107 }
8108
8109
8110 static const per_sequence_t T_route_sequence_of[1] = {
8111   { &hf_h245_route_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8112 };
8113
8114 static int
8115 dissect_h245_T_route(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8116   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
8117                                       ett_h245_T_route, T_route_sequence_of);
8118
8119   return offset;
8120 }
8121
8122
8123 static const per_sequence_t T_iPSourceRouteAddress_sequence[] = {
8124   { &hf_h245_routing        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_routing },
8125   { &hf_h245_network        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8126   { &hf_h245_iPSrcRoute_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8127   { &hf_h245_route          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_route },
8128   { NULL, 0, 0, NULL }
8129 };
8130
8131 static int
8132 dissect_h245_T_iPSourceRouteAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8133   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8134                                    ett_h245_T_iPSourceRouteAddress, T_iPSourceRouteAddress_sequence);
8135
8136   return offset;
8137 }
8138
8139
8140 const value_string h245_UnicastAddress_vals[] = {
8141   {   0, "iPAddress" },
8142   {   1, "iPXAddress" },
8143   {   2, "iP6Address" },
8144   {   3, "netBios" },
8145   {   4, "iPSourceRouteAddress" },
8146   {   5, "nsap" },
8147   {   6, "nonStandardAddress" },
8148   { 0, NULL }
8149 };
8150
8151 static const per_choice_t UnicastAddress_choice[] = {
8152   {   0, &hf_h245_iPAddress      , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPAddress },
8153   {   1, &hf_h245_iPXAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPXAddress },
8154   {   2, &hf_h245_iP6Address     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iP6Address },
8155   {   3, &hf_h245_netBios        , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
8156   {   4, &hf_h245_iPSourceRouteAddress, ASN1_EXTENSION_ROOT    , dissect_h245_T_iPSourceRouteAddress },
8157   {   5, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8158   {   6, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8159   { 0, NULL, 0, NULL }
8160 };
8161
8162 int
8163 dissect_h245_UnicastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8164   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8165                                  ett_h245_UnicastAddress, UnicastAddress_choice,
8166                                  NULL);
8167
8168   return offset;
8169 }
8170
8171
8172 static const per_sequence_t MIPAddress_sequence[] = {
8173   { &hf_h245_mip4_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8174   { &hf_h245_multicast_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8175   { NULL, 0, 0, NULL }
8176 };
8177
8178 static int
8179 dissect_h245_MIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8180   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8181                                    ett_h245_MIPAddress, MIPAddress_sequence);
8182
8183   return offset;
8184 }
8185
8186
8187 static const per_sequence_t MIP6Address_sequence[] = {
8188   { &hf_h245_mip6_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8189   { &hf_h245_multicast_IPv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8190   { NULL, 0, 0, NULL }
8191 };
8192
8193 static int
8194 dissect_h245_MIP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8195   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8196                                    ett_h245_MIP6Address, MIP6Address_sequence);
8197
8198   return offset;
8199 }
8200
8201
8202 const value_string h245_MulticastAddress_vals[] = {
8203   {   0, "iPAddress" },
8204   {   1, "iP6Address" },
8205   {   2, "nsap" },
8206   {   3, "nonStandardAddress" },
8207   { 0, NULL }
8208 };
8209
8210 static const per_choice_t MulticastAddress_choice[] = {
8211   {   0, &hf_h245_mIPAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_MIPAddress },
8212   {   1, &hf_h245_mIP6Address    , ASN1_EXTENSION_ROOT    , dissect_h245_MIP6Address },
8213   {   2, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8214   {   3, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8215   { 0, NULL, 0, NULL }
8216 };
8217
8218 int
8219 dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8220   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8221                                  ett_h245_MulticastAddress, MulticastAddress_choice,
8222                                  NULL);
8223
8224   return offset;
8225 }
8226
8227
8228 const value_string h245_TransportAddress_vals[] = {
8229   {   0, "unicastAddress" },
8230   {   1, "multicastAddress" },
8231   { 0, NULL }
8232 };
8233
8234 static const per_choice_t TransportAddress_choice[] = {
8235   {   0, &hf_h245_unicastAddress , ASN1_EXTENSION_ROOT    , dissect_h245_UnicastAddress },
8236   {   1, &hf_h245_multicastAddress, ASN1_EXTENSION_ROOT    , dissect_h245_MulticastAddress },
8237   { 0, NULL, 0, NULL }
8238 };
8239
8240 int
8241 dissect_h245_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8242   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8243                                  ett_h245_TransportAddress, TransportAddress_choice,
8244                                  NULL);
8245
8246   return offset;
8247 }
8248
8249
8250
8251 static int
8252 dissect_h245_T_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8253 #line 900 "../../asn1/h245/h245.cnf"
8254   if (upcoming_channel)
8255     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
8256
8257   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8258
8259 #line 904 "../../asn1/h245/h245.cnf"
8260   if (upcoming_channel)
8261     upcoming_channel->upcoming_addr = NULL;
8262
8263   return offset;
8264 }
8265
8266
8267
8268 static int
8269 dissect_h245_T_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8270 #line 918 "../../asn1/h245/h245.cnf"
8271   if (upcoming_channel)
8272     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
8273
8274   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8275
8276 #line 922 "../../asn1/h245/h245.cnf"
8277   if (upcoming_channel)
8278     upcoming_channel->upcoming_addr = NULL;
8279
8280   return offset;
8281 }
8282
8283
8284
8285 static int
8286 dissect_h245_McuNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8287   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8288                                                             0U, 192U, NULL, FALSE);
8289
8290   return offset;
8291 }
8292
8293
8294
8295 static int
8296 dissect_h245_TerminalNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8297   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8298                                                             0U, 192U, NULL, FALSE);
8299
8300   return offset;
8301 }
8302
8303
8304 static const per_sequence_t TerminalLabel_sequence[] = {
8305   { &hf_h245_mcuNumber      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
8306   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
8307   { NULL, 0, 0, NULL }
8308 };
8309
8310 static int
8311 dissect_h245_TerminalLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8312   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8313                                    ett_h245_TerminalLabel, TerminalLabel_sequence);
8314
8315   return offset;
8316 }
8317
8318
8319 static const value_string h245_T_mediaPacketization_vals[] = {
8320   {   0, "h261aVideoPacketization" },
8321   {   1, "rtpPayloadType" },
8322   { 0, NULL }
8323 };
8324
8325 static const per_choice_t T_mediaPacketization_choice[] = {
8326   {   0, &hf_h245_h261aVideoPacketizationFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8327   {   1, &hf_h245_rtpPayloadType , ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPPayloadType },
8328   { 0, NULL, 0, NULL }
8329 };
8330
8331 static int
8332 dissect_h245_T_mediaPacketization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8333   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8334                                  ett_h245_T_mediaPacketization, T_mediaPacketization_choice,
8335                                  NULL);
8336
8337   return offset;
8338 }
8339
8340
8341 static const per_sequence_t H2250LogicalChannelParameters_sequence[] = {
8342   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
8343   { &hf_h245_sessionID_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8344   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
8345   { &hf_h245_mediaChannel   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaChannel },
8346   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8347   { &hf_h245_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaControlChannel },
8348   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8349   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8350   { &hf_h245_destination    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8351   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
8352   { &hf_h245_mediaPacketization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaPacketization },
8353   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
8354   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
8355   { &hf_h245_source         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8356   { NULL, 0, 0, NULL }
8357 };
8358
8359 static int
8360 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8361   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8362                                    ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
8363
8364   return offset;
8365 }
8366
8367
8368 static const value_string h245_OLC_forw_multiplexParameters_vals[] = {
8369   {   0, "h222LogicalChannelParameters" },
8370   {   1, "h223LogicalChannelParameters" },
8371   {   2, "v76LogicalChannelParameters" },
8372   {   3, "h2250LogicalChannelParameters" },
8373   {   4, "none" },
8374   { 0, NULL }
8375 };
8376
8377 static const per_choice_t OLC_forw_multiplexParameters_choice[] = {
8378   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
8379   {   1, &hf_h245_olc_fw_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_fw_h223_params },
8380   {   2, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8381   {   3, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8382   {   4, &hf_h245_none           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
8383   { 0, NULL, 0, NULL }
8384 };
8385
8386 static int
8387 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_) {
8388   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8389                                  ett_h245_OLC_forw_multiplexParameters, OLC_forw_multiplexParameters_choice,
8390                                  NULL);
8391
8392   return offset;
8393 }
8394
8395
8396 static const per_sequence_t T_forwardLogicalChannelParameters_sequence[] = {
8397   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
8398   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8399   { &hf_h245_olc_forw_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_forw_multiplexParameters },
8400   { &hf_h245_forwardLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8401   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8402   { NULL, 0, 0, NULL }
8403 };
8404
8405 static int
8406 dissect_h245_T_forwardLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8407 #line 169 "../../asn1/h245/h245.cnf"
8408
8409   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
8410
8411   h245_lc_dissector = NULL;
8412   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8413                                    ett_h245_T_forwardLogicalChannelParameters, T_forwardLogicalChannelParameters_sequence);
8414
8415   if(h223_lc_params_temp && h245_lc_dissector)
8416         h223_lc_params_temp->subdissector = h245_lc_dissector;
8417   else if(h223_lc_params_temp)
8418         h223_lc_params_temp->subdissector = data_handle;
8419
8420   if (upcoming_channel && codec_type) {
8421     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8422   }
8423   upcoming_channel = NULL;
8424
8425
8426   return offset;
8427 }
8428
8429
8430
8431 static int
8432 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_) {
8433 #line 207 "../../asn1/h245/h245.cnf"
8434   h223_rev_lc_params = se_alloc(sizeof(h223_lc_params));
8435   h223_rev_lc_params->al_type = al_nonStandard;
8436   h223_rev_lc_params->al_params = NULL;
8437   h223_rev_lc_params->segmentable = 0;
8438   h223_rev_lc_params->subdissector = NULL;
8439   h223_lc_params_temp = h223_rev_lc_params;
8440
8441   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
8442
8443   return offset;
8444 }
8445
8446
8447 static const value_string h245_OLC_rev_multiplexParameters_vals[] = {
8448   {   0, "h223LogicalChannelParameters" },
8449   {   1, "v76LogicalChannelParameters" },
8450   {   2, "h2250LogicalChannelParameters" },
8451   { 0, NULL }
8452 };
8453
8454 static const per_choice_t OLC_rev_multiplexParameters_choice[] = {
8455   {   0, &hf_h245_olc_rev_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_rev_h223_params },
8456   {   1, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8457   {   2, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8458   { 0, NULL, 0, NULL }
8459 };
8460
8461 static int
8462 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_) {
8463   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8464                                  ett_h245_OLC_rev_multiplexParameters, OLC_rev_multiplexParameters_choice,
8465                                  NULL);
8466
8467   return offset;
8468 }
8469
8470
8471 static const per_sequence_t OLC_reverseLogicalChannelParameters_sequence[] = {
8472   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8473   { &hf_h245_olc_rev_multiplexParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_rev_multiplexParameters },
8474   { &hf_h245_reverseLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8475   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8476   { NULL, 0, 0, NULL }
8477 };
8478
8479 static int
8480 dissect_h245_OLC_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8481 #line 195 "../../asn1/h245/h245.cnf"
8482
8483   upcoming_channel = (upcoming_olc) ? &upcoming_olc->rev_lc : NULL;
8484
8485   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8486                                    ett_h245_OLC_reverseLogicalChannelParameters, OLC_reverseLogicalChannelParameters_sequence);
8487
8488         
8489   if (upcoming_channel && codec_type) {
8490     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8491   }
8492   upcoming_channel = NULL;
8493
8494
8495   return offset;
8496 }
8497
8498
8499 static const value_string h245_T_distribution_vals[] = {
8500   {   0, "unicast" },
8501   {   1, "multicast" },
8502   { 0, NULL }
8503 };
8504
8505 static const per_choice_t T_distribution_choice[] = {
8506   {   0, &hf_h245_unicast        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8507   {   1, &hf_h245_multicast      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8508   { 0, NULL, 0, NULL }
8509 };
8510
8511 static int
8512 dissect_h245_T_distribution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8513   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8514                                  ett_h245_T_distribution, T_distribution_choice,
8515                                  NULL);
8516
8517   return offset;
8518 }
8519
8520
8521
8522 static int
8523 dissect_h245_T_e164Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8524   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
8525                                                       1, 128, FALSE, "0123456789#*,", 13,
8526                                                       NULL);
8527
8528   return offset;
8529 }
8530
8531
8532 static const value_string h245_T_networkAddress_vals[] = {
8533   {   0, "q2931Address" },
8534   {   1, "e164Address" },
8535   {   2, "localAreaAddress" },
8536   { 0, NULL }
8537 };
8538
8539 static const per_choice_t T_networkAddress_choice[] = {
8540   {   0, &hf_h245_q2931Address   , ASN1_EXTENSION_ROOT    , dissect_h245_Q2931Address },
8541   {   1, &hf_h245_e164Address    , ASN1_EXTENSION_ROOT    , dissect_h245_T_e164Address },
8542   {   2, &hf_h245_localAreaAddress, ASN1_EXTENSION_ROOT    , dissect_h245_TransportAddress },
8543   { 0, NULL, 0, NULL }
8544 };
8545
8546 static int
8547 dissect_h245_T_networkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8548   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8549                                  ett_h245_T_networkAddress, T_networkAddress_choice,
8550                                  NULL);
8551
8552   return offset;
8553 }
8554
8555
8556
8557 static int
8558 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_) {
8559   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8560                                        1, 255, FALSE, NULL);
8561
8562   return offset;
8563 }
8564
8565
8566 static const value_string h245_T_t120SetupProcedure_vals[] = {
8567   {   0, "originateCall" },
8568   {   1, "waitForCall" },
8569   {   2, "issueQuery" },
8570   { 0, NULL }
8571 };
8572
8573 static const per_choice_t T_t120SetupProcedure_choice[] = {
8574   {   0, &hf_h245_originateCall  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8575   {   1, &hf_h245_waitForCall    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8576   {   2, &hf_h245_issueQuery     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8577   { 0, NULL, 0, NULL }
8578 };
8579
8580 static int
8581 dissect_h245_T_t120SetupProcedure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8582   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8583                                  ett_h245_T_t120SetupProcedure, T_t120SetupProcedure_choice,
8584                                  NULL);
8585
8586   return offset;
8587 }
8588
8589
8590 static const per_sequence_t NetworkAccessParameters_sequence[] = {
8591   { &hf_h245_distribution   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_distribution },
8592   { &hf_h245_networkAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_networkAddress },
8593   { &hf_h245_associateConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
8594   { &hf_h245_externalReference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_255 },
8595   { &hf_h245_t120SetupProcedure, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_t120SetupProcedure },
8596   { NULL, 0, 0, NULL }
8597 };
8598
8599 static int
8600 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8601   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8602                                    ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
8603
8604   return offset;
8605 }
8606
8607
8608
8609 static int
8610 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_) {
8611   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8612                                        1, 65535, FALSE, NULL);
8613
8614   return offset;
8615 }
8616
8617
8618
8619 static int
8620 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_) {
8621   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8622                                      1, 65535, FALSE, NULL);
8623
8624   return offset;
8625 }
8626
8627
8628 static const per_sequence_t EscrowData_sequence[] = {
8629   { &hf_h245_escrowID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
8630   { &hf_h245_escrowValue    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BIT_STRING_SIZE_1_65535 },
8631   { NULL, 0, 0, NULL }
8632 };
8633
8634 static int
8635 dissect_h245_EscrowData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8636   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8637                                    ett_h245_EscrowData, EscrowData_sequence);
8638
8639   return offset;
8640 }
8641
8642
8643 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of[1] = {
8644   { &hf_h245_escrowentry_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EscrowData },
8645 };
8646
8647 static int
8648 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_) {
8649   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8650                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData, SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of,
8651                                                   1, 256, FALSE);
8652
8653   return offset;
8654 }
8655
8656
8657 static const per_sequence_t EncryptionSync_sequence[] = {
8658   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
8659   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8660   { &hf_h245_h235Key        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
8661   { &hf_h245_escrowentry    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData },
8662   { &hf_h245_genericParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericParameter },
8663   { NULL, 0, 0, NULL }
8664 };
8665
8666 static int
8667 dissect_h245_EncryptionSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8668 #line 708 "../../asn1/h245/h245.cnf"
8669   void *priv_data = actx->private_data;
8670   actx->private_data = gef_ctx_alloc(NULL, "EncryptionSync");
8671
8672   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8673                                    ett_h245_EncryptionSync, EncryptionSync_sequence);
8674
8675 #line 711 "../../asn1/h245/h245.cnf"
8676   actx->private_data = priv_data;
8677
8678   return offset;
8679 }
8680
8681
8682 static const per_sequence_t OpenLogicalChannel_sequence[] = {
8683   { &hf_h245_olc_fw_lcn     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_fw_lcn },
8684   { &hf_h245_forwardLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_forwardLogicalChannelParameters },
8685   { &hf_h245_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_reverseLogicalChannelParameters },
8686   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
8687   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
8688   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
8689   { NULL, 0, 0, NULL }
8690 };
8691
8692 int
8693 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8694 #line 130 "../../asn1/h245/h245.cnf"
8695   gint32 temp;
8696
8697   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? se_alloc0(sizeof(olc_info_t)) : NULL;
8698
8699   h223_fw_lc_num = 0;
8700   h223_lc_params_temp = NULL;
8701
8702   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8703                                    ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
8704
8705
8706   if(h223_fw_lc_num != 0 && h223_fw_lc_params) {
8707         h223_pending_olc *pending = se_alloc(sizeof(h223_pending_olc));
8708         pending->fw_channel_params = h223_fw_lc_params;
8709         pending->rev_channel_params = h223_rev_lc_params;
8710         temp = h223_fw_lc_num;
8711         if (actx->pinfo->p2p_dir > -1)
8712                 g_hash_table_insert(h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp), pending);
8713   }
8714
8715   if (upcoming_olc) {
8716     if (fast_start) {
8717       h245_setup_channels(actx->pinfo, &upcoming_olc->rev_lc);
8718     } else {
8719       g_hash_table_insert(h245_pending_olc_reqs, 
8720         se_strdup(gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->dst, &actx->pinfo->src)), 
8721         upcoming_olc);
8722     }
8723   }
8724   upcoming_olc = NULL;
8725
8726   if (h245_pi != NULL)
8727     h245_pi->msg_type = H245_OpenLogChn;
8728
8729
8730   return offset;
8731 }
8732
8733
8734 static const value_string h245_T_cLC_source_vals[] = {
8735   {   0, "user" },
8736   {   1, "lcse" },
8737   { 0, NULL }
8738 };
8739
8740 static const per_choice_t T_cLC_source_choice[] = {
8741   {   0, &hf_h245_user           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8742   {   1, &hf_h245_lcse           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8743   { 0, NULL, 0, NULL }
8744 };
8745
8746 static int
8747 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_) {
8748   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8749                                  ett_h245_T_cLC_source, T_cLC_source_choice,
8750                                  NULL);
8751
8752   return offset;
8753 }
8754
8755
8756 static const value_string h245_Clc_reason_vals[] = {
8757   {   0, "unknown" },
8758   {   1, "reopen" },
8759   {   2, "reservationFailure" },
8760   {   3, "networkErrorCode" },
8761   { 0, NULL }
8762 };
8763
8764 static const per_choice_t Clc_reason_choice[] = {
8765   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8766   {   1, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8767   {   2, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8768   {   3, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8769   { 0, NULL, 0, NULL }
8770 };
8771
8772 static int
8773 dissect_h245_Clc_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8774   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8775                                  ett_h245_Clc_reason, Clc_reason_choice,
8776                                  NULL);
8777
8778   return offset;
8779 }
8780
8781
8782 static const per_sequence_t CloseLogicalChannel_sequence[] = {
8783   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8784   { &hf_h245_cLC_source     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_cLC_source },
8785   { &hf_h245_clc_reason     , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Clc_reason },
8786   { NULL, 0, 0, NULL }
8787 };
8788
8789 static int
8790 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8791   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8792                                    ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
8793
8794 #line 549 "../../asn1/h245/h245.cnf"
8795
8796 if (h245_pi != NULL)
8797   h245_pi->msg_type = H245_CloseLogChn;
8798
8799   return offset;
8800 }
8801
8802
8803 static const value_string h245_T_reason_vals[] = {
8804   {   0, "unknown" },
8805   {   1, "normal" },
8806   {   2, "reopen" },
8807   {   3, "reservationFailure" },
8808   {   4, "networkErrorCode" },
8809   { 0, NULL }
8810 };
8811
8812 static const per_choice_t T_reason_choice[] = {
8813   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8814   {   1, &hf_h245_normal         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8815   {   2, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8816   {   3, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8817   {   4, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8818   { 0, NULL, 0, NULL }
8819 };
8820
8821 static int
8822 dissect_h245_T_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8823   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8824                                  ett_h245_T_reason, T_reason_choice,
8825                                  NULL);
8826
8827   return offset;
8828 }
8829
8830
8831 static const per_sequence_t RequestChannelClose_sequence[] = {
8832   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8833   { &hf_h245_qosCapability  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSCapability },
8834   { &hf_h245_reason         , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_reason },
8835   { NULL, 0, 0, NULL }
8836 };
8837
8838 static int
8839 dissect_h245_RequestChannelClose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8840   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8841                                    ett_h245_RequestChannelClose, RequestChannelClose_sequence);
8842
8843   return offset;
8844 }
8845
8846
8847
8848 static int
8849 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8850 #line 66 "../../asn1/h245/h245.cnf"
8851   guint32 value;
8852   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8853                                                             1U, 15U, &value, FALSE);
8854
8855   h223_mc = value & 0xf;
8856
8857
8858   return offset;
8859 }
8860
8861
8862
8863 static int
8864 dissect_h245_T_logicalChannelNum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8865 #line 93 "../../asn1/h245/h245.cnf"
8866   /*MultiplexElement/type/logicalChannelNumber*/
8867   guint32 value;
8868   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8869                                                             0U, 65535U, &value, FALSE);
8870
8871   h223_me->sublist = NULL;
8872   h223_me->vc = value & 0xffff;
8873
8874
8875   return offset;
8876 }
8877
8878
8879 static const per_sequence_t T_subElementList_sequence_of[1] = {
8880   { &hf_h245_subElementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8881 };
8882
8883 static int
8884 dissect_h245_T_subElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8885 #line 101 "../../asn1/h245/h245.cnf"
8886   h223_mux_element dummy_me, *parent_me = h223_me;
8887   memset (&dummy_me, 0, sizeof (h223_mux_element));
8888   h223_me = &dummy_me;
8889   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8890                                                   ett_h245_T_subElementList, T_subElementList_sequence_of,
8891                                                   2, 255, FALSE);
8892
8893   parent_me->sublist = dummy_me.next;
8894   h223_me = parent_me;
8895   h223_me->vc = 0;
8896
8897
8898   return offset;
8899 }
8900
8901
8902 static const value_string h245_Me_type_vals[] = {
8903   {   0, "logicalChannelNumber" },
8904   {   1, "subElementList" },
8905   { 0, NULL }
8906 };
8907
8908 static const per_choice_t Me_type_choice[] = {
8909   {   0, &hf_h245_logicalChannelNum, ASN1_NO_EXTENSIONS     , dissect_h245_T_logicalChannelNum },
8910   {   1, &hf_h245_subElementList , ASN1_NO_EXTENSIONS     , dissect_h245_T_subElementList },
8911   { 0, NULL, 0, NULL }
8912 };
8913
8914 static int
8915 dissect_h245_Me_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8916   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8917                                  ett_h245_Me_type, Me_type_choice,
8918                                  NULL);
8919
8920   return offset;
8921 }
8922
8923
8924
8925 static int
8926 dissect_h245_ME_finiteRepeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8927 #line 117 "../../asn1/h245/h245.cnf"
8928   guint32 value;
8929   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8930                                                             1U, 65535U, &value, FALSE);
8931
8932   h223_me->repeat_count = value & 0xffff;
8933
8934
8935   return offset;
8936 }
8937
8938
8939
8940 static int
8941 dissect_h245_T_untilClosingFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8942   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
8943
8944 #line 111 "../../asn1/h245/h245.cnf"
8945   h223_me->repeat_count = 0;
8946
8947   return offset;
8948 }
8949
8950
8951 static const value_string h245_ME_repeatCount_vals[] = {
8952   {   0, "finite" },
8953   {   1, "untilClosingFlag" },
8954   { 0, NULL }
8955 };
8956
8957 static const per_choice_t ME_repeatCount_choice[] = {
8958   {   0, &hf_h245_me_repeatCount_finite, ASN1_NO_EXTENSIONS     , dissect_h245_ME_finiteRepeatCount },
8959   {   1, &hf_h245_untilClosingFlag, ASN1_NO_EXTENSIONS     , dissect_h245_T_untilClosingFlag },
8960   { 0, NULL, 0, NULL }
8961 };
8962
8963 static int
8964 dissect_h245_ME_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8965   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8966                                  ett_h245_ME_repeatCount, ME_repeatCount_choice,
8967                                  NULL);
8968
8969   return offset;
8970 }
8971
8972
8973 static const per_sequence_t MultiplexElement_sequence[] = {
8974   { &hf_h245_me_type        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Me_type },
8975   { &hf_h245_me_repeatCount , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ME_repeatCount },
8976   { NULL, 0, 0, NULL }
8977 };
8978
8979 static int
8980 dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8981 #line 83 "../../asn1/h245/h245.cnf"
8982   /*MultiplexElement*/
8983   h223_mux_element* me = se_alloc(sizeof(h223_mux_element));
8984   h223_me->next = me;
8985   h223_me = me;
8986   h223_me->next = NULL;
8987
8988   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8989                                    ett_h245_MultiplexElement, MultiplexElement_sequence);
8990
8991   return offset;
8992 }
8993
8994
8995 static const per_sequence_t T_elementList_sequence_of[1] = {
8996   { &hf_h245_elementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8997 };
8998
8999 static int
9000 dissect_h245_T_elementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9001 #line 72 "../../asn1/h245/h245.cnf"
9002   /* create a h223_mux_element to hold onto the head of the list, since
9003    * h223_me will track the tail */
9004   h223_mux_element dummy_me;
9005   memset (&dummy_me, 0, sizeof (h223_mux_element));
9006   h223_me = &dummy_me;
9007   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9008                                                   ett_h245_T_elementList, T_elementList_sequence_of,
9009                                                   1, 256, FALSE);
9010
9011   /* set h223_me to the head of the list for MEDescriptor to pick up */
9012   h223_me = dummy_me.next;
9013
9014
9015   return offset;
9016 }
9017
9018
9019 static const per_sequence_t MultiplexEntryDescriptor_sequence[] = {
9020   { &hf_h245_multiplexTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
9021   { &hf_h245_elementList    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_T_elementList },
9022   { NULL, 0, 0, NULL }
9023 };
9024
9025 static int
9026 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9027 #line 54 "../../asn1/h245/h245.cnf"
9028   /*MultiplexEntryDescriptor*/
9029   h223_me = NULL;
9030   h223_mc = 0;
9031   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9032                                    ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
9033
9034   if(h223_set_mc_handle)
9035     (*h223_set_mc_handle)(actx->pinfo, h223_mc, h223_me);
9036  /* stuff */
9037
9038
9039   return offset;
9040 }
9041
9042
9043 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of[1] = {
9044   { &hf_h245_multiplexEntryDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryDescriptor },
9045 };
9046
9047 static int
9048 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_) {
9049   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
9050                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor, SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of,
9051                                              1, 15, FALSE);
9052
9053   return offset;
9054 }
9055
9056
9057 static const per_sequence_t MultiplexEntrySend_sequence[] = {
9058   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
9059   { &hf_h245_multiplexEntryDescriptors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor },
9060   { NULL, 0, 0, NULL }
9061 };
9062
9063 static int
9064 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9065   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9066                                    ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
9067
9068   return offset;
9069 }
9070
9071
9072 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of[1] = {
9073   { &hf_h245_multiplexTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
9074 };
9075
9076 static int
9077 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_) {
9078   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
9079                                              ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber, SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of,
9080                                              1, 15, FALSE);
9081
9082   return offset;
9083 }
9084
9085
9086 static const per_sequence_t RequestMultiplexEntry_sequence[] = {
9087   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
9088   { NULL, 0, 0, NULL }
9089 };
9090
9091 static int
9092 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9093   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9094                                    ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
9095
9096   return offset;
9097 }
9098
9099
9100 static const value_string h245_H261Resolution_vals[] = {
9101   {   0, "qcif" },
9102   {   1, "cif" },
9103   { 0, NULL }
9104 };
9105
9106 static const per_choice_t H261Resolution_choice[] = {
9107   {   0, &hf_h245_qcif           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9108   {   1, &hf_h245_cif            , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9109   { 0, NULL, 0, NULL }
9110 };
9111
9112 static int
9113 dissect_h245_H261Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9114   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9115                                  ett_h245_H261Resolution, H261Resolution_choice,
9116                                  NULL);
9117
9118   return offset;
9119 }
9120
9121
9122 static const per_sequence_t H261VideoMode_sequence[] = {
9123   { &hf_h245_h261_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H261Resolution },
9124   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9125   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9126   { NULL, 0, 0, NULL }
9127 };
9128
9129 static int
9130 dissect_h245_H261VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9131   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9132                                    ett_h245_H261VideoMode, H261VideoMode_sequence);
9133
9134   return offset;
9135 }
9136
9137
9138 static const value_string h245_T_profileAndLevel_vals[] = {
9139   {   0, "profileAndLevel-SPatML" },
9140   {   1, "profileAndLevel-MPatLL" },
9141   {   2, "profileAndLevel-MPatML" },
9142   {   3, "profileAndLevel-MPatH-14" },
9143   {   4, "profileAndLevel-MPatHL" },
9144   {   5, "profileAndLevel-SNRatLL" },
9145   {   6, "profileAndLevel-SNRatML" },
9146   {   7, "profileAndLevel-SpatialatH-14" },
9147   {   8, "profileAndLevel-HPatML" },
9148   {   9, "profileAndLevel-HPatH-14" },
9149   {  10, "profileAndLevel-HPatHL" },
9150   { 0, NULL }
9151 };
9152
9153 static const per_choice_t T_profileAndLevel_choice[] = {
9154   {   0, &hf_h245_profileAndLevel_SPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9155   {   1, &hf_h245_profileAndLevel_MPatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9156   {   2, &hf_h245_profileAndLevel_MPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9157   {   3, &hf_h245_profileAndLevel_MPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9158   {   4, &hf_h245_profileAndLevel_MPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9159   {   5, &hf_h245_profileAndLevel_SNRatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9160   {   6, &hf_h245_profileAndLevel_SNRatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9161   {   7, &hf_h245_profileAndLevel_SpatialatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9162   {   8, &hf_h245_profileAndLevel_HPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9163   {   9, &hf_h245_profileAndLevel_HPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9164   {  10, &hf_h245_profileAndLevel_HPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9165   { 0, NULL, 0, NULL }
9166 };
9167
9168 static int
9169 dissect_h245_T_profileAndLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9170   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9171                                  ett_h245_T_profileAndLevel, T_profileAndLevel_choice,
9172                                  NULL);
9173
9174   return offset;
9175 }
9176
9177
9178 static const per_sequence_t H262VideoMode_sequence[] = {
9179   { &hf_h245_profileAndLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_profileAndLevel },
9180   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9181   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9182   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9183   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9184   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9185   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9186   { NULL, 0, 0, NULL }
9187 };
9188
9189 static int
9190 dissect_h245_H262VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9191   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9192                                    ett_h245_H262VideoMode, H262VideoMode_sequence);
9193
9194   return offset;
9195 }
9196
9197
9198 static const value_string h245_H263Resolution_vals[] = {
9199   {   0, "sqcif" },
9200   {   1, "qcif" },
9201   {   2, "cif" },
9202   {   3, "cif4" },
9203   {   4, "cif16" },
9204   {   5, "custom" },
9205   { 0, NULL }
9206 };
9207
9208 static const per_choice_t H263Resolution_choice[] = {
9209   {   0, &hf_h245_sqcif          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9210   {   1, &hf_h245_qcif           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9211   {   2, &hf_h245_cif            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9212   {   3, &hf_h245_cif4           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9213   {   4, &hf_h245_cif16          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9214   {   5, &hf_h245_custom_res     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
9215   { 0, NULL, 0, NULL }
9216 };
9217
9218 static int
9219 dissect_h245_H263Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9220   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9221                                  ett_h245_H263Resolution, H263Resolution_choice,
9222                                  NULL);
9223
9224   return offset;
9225 }
9226
9227
9228 static const per_sequence_t H263VideoMode_sequence[] = {
9229   { &hf_h245_h263_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263Resolution },
9230   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9231   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9232   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9233   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9234   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9235   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9236   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
9237   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
9238   { NULL, 0, 0, NULL }
9239 };
9240
9241 static int
9242 dissect_h245_H263VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9243   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9244                                    ett_h245_H263VideoMode, H263VideoMode_sequence);
9245
9246   return offset;
9247 }
9248
9249
9250 static const per_sequence_t IS11172VideoMode_sequence[] = {
9251   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9252   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9253   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9254   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9255   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9256   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9257   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9258   { NULL, 0, 0, NULL }
9259 };
9260
9261 static int
9262 dissect_h245_IS11172VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9263   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9264                                    ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9265
9266   return offset;
9267 }
9268
9269
9270 static const value_string h245_VideoMode_vals[] = {
9271   {   0, "nonStandard" },
9272   {   1, "h261VideoMode" },
9273   {   2, "h262VideoMode" },
9274   {   3, "h263VideoMode" },
9275   {   4, "is11172VideoMode" },
9276   {   5, "genericVideoMode" },
9277   { 0, NULL }
9278 };
9279
9280 static const per_choice_t VideoMode_choice[] = {
9281   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9282   {   1, &hf_h245_h261VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoMode },
9283   {   2, &hf_h245_h262VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoMode },
9284   {   3, &hf_h245_h263VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoMode },
9285   {   4, &hf_h245_is11172VideoMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoMode },
9286   {   5, &hf_h245_genericVideoMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9287   { 0, NULL, 0, NULL }
9288 };
9289
9290 static int
9291 dissect_h245_VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9292 #line 517 "../../asn1/h245/h245.cnf"
9293   gint32 value;
9294
9295   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9296                                  ett_h245_VideoMode, VideoMode_choice,
9297                                  &value);
9298
9299   codec_type = val_to_str(value, h245_VideoMode_vals, "<unknown>");
9300
9301
9302   return offset;
9303 }
9304
9305
9306 static const value_string h245_Mode_g7231_vals[] = {
9307   {   0, "noSilenceSuppressionLowRate" },
9308   {   1, "noSilenceSuppressionHighRate" },
9309   {   2, "silenceSuppressionLowRate" },
9310   {   3, "silenceSuppressionHighRate" },
9311   { 0, NULL }
9312 };
9313
9314 static const per_choice_t Mode_g7231_choice[] = {
9315   {   0, &hf_h245_noSilenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9316   {   1, &hf_h245_noSilenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9317   {   2, &hf_h245_silenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9318   {   3, &hf_h245_silenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9319   { 0, NULL, 0, NULL }
9320 };
9321
9322 static int
9323 dissect_h245_Mode_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9324   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9325                                  ett_h245_Mode_g7231, Mode_g7231_choice,
9326                                  NULL);
9327
9328   return offset;
9329 }
9330
9331
9332 static const value_string h245_T_audioLayer_vals[] = {
9333   {   0, "audioLayer1" },
9334   {   1, "audioLayer2" },
9335   {   2, "audioLayer3" },
9336   { 0, NULL }
9337 };
9338
9339 static const per_choice_t T_audioLayer_choice[] = {
9340   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9341   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9342   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9343   { 0, NULL, 0, NULL }
9344 };
9345
9346 static int
9347 dissect_h245_T_audioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9348   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9349                                  ett_h245_T_audioLayer, T_audioLayer_choice,
9350                                  NULL);
9351
9352   return offset;
9353 }
9354
9355
9356 static const value_string h245_T_audioSampling_vals[] = {
9357   {   0, "audioSampling32k" },
9358   {   1, "audioSampling44k1" },
9359   {   2, "audioSampling48k" },
9360   { 0, NULL }
9361 };
9362
9363 static const per_choice_t T_audioSampling_choice[] = {
9364   {   0, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9365   {   1, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9366   {   2, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9367   { 0, NULL, 0, NULL }
9368 };
9369
9370 static int
9371 dissect_h245_T_audioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9372   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9373                                  ett_h245_T_audioSampling, T_audioSampling_choice,
9374                                  NULL);
9375
9376   return offset;
9377 }
9378
9379
9380 static const value_string h245_IS11172_multichannelType_vals[] = {
9381   {   0, "singleChannel" },
9382   {   1, "twoChannelStereo" },
9383   {   2, "twoChannelDual" },
9384   { 0, NULL }
9385 };
9386
9387 static const per_choice_t IS11172_multichannelType_choice[] = {
9388   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9389   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9390   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9391   { 0, NULL, 0, NULL }
9392 };
9393
9394 static int
9395 dissect_h245_IS11172_multichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9396   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9397                                  ett_h245_IS11172_multichannelType, IS11172_multichannelType_choice,
9398                                  NULL);
9399
9400   return offset;
9401 }
9402
9403
9404 static const per_sequence_t IS11172AudioMode_sequence[] = {
9405   { &hf_h245_audioLayer     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioLayer },
9406   { &hf_h245_audioSampling  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioSampling },
9407   { &hf_h245_is11172multichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS11172_multichannelType },
9408   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
9409   { NULL, 0, 0, NULL }
9410 };
9411
9412 static int
9413 dissect_h245_IS11172AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9414   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9415                                    ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
9416
9417   return offset;
9418 }
9419
9420
9421 static const value_string h245_IS13818AudioLayer_vals[] = {
9422   {   0, "audioLayer1" },
9423   {   1, "audioLayer2" },
9424   {   2, "audioLayer3" },
9425   { 0, NULL }
9426 };
9427
9428 static const per_choice_t IS13818AudioLayer_choice[] = {
9429   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9430   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9431   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9432   { 0, NULL, 0, NULL }
9433 };
9434
9435 static int
9436 dissect_h245_IS13818AudioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9437   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9438                                  ett_h245_IS13818AudioLayer, IS13818AudioLayer_choice,
9439                                  NULL);
9440
9441   return offset;
9442 }
9443
9444
9445 static const value_string h245_IS13818AudioSampling_vals[] = {
9446   {   0, "audioSampling16k" },
9447   {   1, "audioSampling22k05" },
9448   {   2, "audioSampling24k" },
9449   {   3, "audioSampling32k" },
9450   {   4, "audioSampling44k1" },
9451   {   5, "audioSampling48k" },
9452   { 0, NULL }
9453 };
9454
9455 static const per_choice_t IS13818AudioSampling_choice[] = {
9456   {   0, &hf_h245_audioSampling16kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9457   {   1, &hf_h245_audioSampling22k05Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9458   {   2, &hf_h245_audioSampling24kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9459   {   3, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9460   {   4, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9461   {   5, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9462   { 0, NULL, 0, NULL }
9463 };
9464
9465 static int
9466 dissect_h245_IS13818AudioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9467   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9468                                  ett_h245_IS13818AudioSampling, IS13818AudioSampling_choice,
9469                                  NULL);
9470
9471   return offset;
9472 }
9473
9474
9475 static const value_string h245_IS13818MultichannelType_vals[] = {
9476   {   0, "singleChannel" },
9477   {   1, "twoChannelStereo" },
9478   {   2, "twoChannelDual" },
9479   {   3, "threeChannels2-1" },
9480   {   4, "threeChannels3-0" },
9481   {   5, "fourChannels2-0-2-0" },
9482   {   6, "fourChannels2-2" },
9483   {   7, "fourChannels3-1" },
9484   {   8, "fiveChannels3-0-2-0" },
9485   {   9, "fiveChannels3-2" },
9486   { 0, NULL }
9487 };
9488
9489 static const per_choice_t IS13818MultichannelType_choice[] = {
9490   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9491   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9492   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9493   {   3, &hf_h245_threeChannels2_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9494   {   4, &hf_h245_threeChannels3_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9495   {   5, &hf_h245_fourChannels2_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9496   {   6, &hf_h245_fourChannels2_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9497   {   7, &hf_h245_fourChannels3_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9498   {   8, &hf_h245_fiveChannels3_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9499   {   9, &hf_h245_fiveChannels3_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9500   { 0, NULL, 0, NULL }
9501 };
9502
9503 static int
9504 dissect_h245_IS13818MultichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9505   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9506                                  ett_h245_IS13818MultichannelType, IS13818MultichannelType_choice,
9507                                  NULL);
9508
9509   return offset;
9510 }
9511
9512
9513 static const per_sequence_t IS13818AudioMode_sequence[] = {
9514   { &hf_h245_audioLayerMode , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioLayer },
9515   { &hf_h245_audioSamplingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioSampling },
9516   { &hf_h245_is13818MultichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818MultichannelType },
9517   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9518   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9519   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
9520   { NULL, 0, 0, NULL }
9521 };
9522
9523 static int
9524 dissect_h245_IS13818AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9525   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9526                                    ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
9527
9528   return offset;
9529 }
9530
9531
9532 static const per_sequence_t G7231AnnexCMode_sequence[] = {
9533   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
9534   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9535   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_G723AnnexCAudioMode },
9536   { NULL, 0, 0, NULL }
9537 };
9538
9539 static int
9540 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9541   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9542                                    ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9543
9544   return offset;
9545 }
9546
9547
9548 static const per_sequence_t VBDMode_sequence[] = {
9549   { &hf_h245_vbd_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioMode },
9550   { NULL, 0, 0, NULL }
9551 };
9552
9553 static int
9554 dissect_h245_VBDMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9555   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9556                                    ett_h245_VBDMode, VBDMode_sequence);
9557
9558   return offset;
9559 }
9560
9561
9562 static const value_string h245_AudioMode_vals[] = {
9563   {   0, "nonStandard" },
9564   {   1, "g711Alaw64k" },
9565   {   2, "g711Alaw56k" },
9566   {   3, "g711Ulaw64k" },
9567   {   4, "g711Ulaw56k" },
9568   {   5, "g722-64k" },
9569   {   6, "g722-56k" },
9570   {   7, "g722-48k" },
9571   {   8, "g728" },
9572   {   9, "g729" },
9573   {  10, "g729AnnexA" },
9574   {  11, "g7231" },
9575   {  12, "is11172AudioMode" },
9576   {  13, "is13818AudioMode" },
9577   {  14, "g729wAnnexB" },
9578   {  15, "g729AnnexAwAnnexB" },
9579   {  16, "g7231AnnexCMode" },
9580   {  17, "gsmFullRate" },
9581   {  18, "gsmHalfRate" },
9582   {  19, "gsmEnhancedFullRate" },
9583   {  20, "genericAudioMode" },
9584   {  21, "g729Extensions" },
9585   {  22, "vbd" },
9586   { 0, NULL }
9587 };
9588
9589 static const per_choice_t AudioMode_choice[] = {
9590   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9591   {   1, &hf_h245_g711Alaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9592   {   2, &hf_h245_g711Alaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9593   {   3, &hf_h245_g711Ulaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9594   {   4, &hf_h245_g711Ulaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9595   {   5, &hf_h245_g722_64k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9596   {   6, &hf_h245_g722_56k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9597   {   7, &hf_h245_g722_48k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9598   {   8, &hf_h245_g728_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9599   {   9, &hf_h245_g729_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9600   {  10, &hf_h245_g729AnnexA_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9601   {  11, &hf_h245_g7231_mode     , ASN1_EXTENSION_ROOT    , dissect_h245_Mode_g7231 },
9602   {  12, &hf_h245_is11172AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioMode },
9603   {  13, &hf_h245_is13818AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioMode },
9604   {  14, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9605   {  15, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9606   {  16, &hf_h245_g7231AnnexCMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCMode },
9607   {  17, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9608   {  18, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9609   {  19, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9610   {  20, &hf_h245_genericAudioMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9611   {  21, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
9612   {  22, &hf_h245_vbd_mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDMode },
9613   { 0, NULL, 0, NULL }
9614 };
9615
9616 static int
9617 dissect_h245_AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9618 #line 510 "../../asn1/h245/h245.cnf"
9619   gint32 value;
9620
9621   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9622                                  ett_h245_AudioMode, AudioMode_choice,
9623                                  &value);
9624
9625   codec_type = val_to_str(value, h245_AudioMode_vals, "<unknown>");
9626
9627
9628   return offset;
9629 }
9630
9631
9632 static const per_sequence_t T38faxApp_sequence[] = {
9633   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
9634   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
9635   { NULL, 0, 0, NULL }
9636 };
9637
9638 static int
9639 dissect_h245_T38faxApp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9640   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9641                                    ett_h245_T38faxApp, T38faxApp_sequence);
9642
9643   return offset;
9644 }
9645
9646
9647 static const value_string h245_DataModeApplication_vals[] = {
9648   {   0, "nonStandard" },
9649   {   1, "t120" },
9650   {   2, "dsm-cc" },
9651   {   3, "userData" },
9652   {   4, "t84" },
9653   {   5, "t434" },
9654   {   6, "h224" },
9655   {   7, "nlpid" },
9656   {   8, "dsvdControl" },
9657   {   9, "h222DataPartitioning" },
9658   {  10, "t30fax" },
9659   {  11, "t140" },
9660   {  12, "t38fax" },
9661   {  13, "genericDataMode" },
9662   { 0, NULL }
9663 };
9664
9665 static const per_choice_t DataModeApplication_choice[] = {
9666   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9667   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9668   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9669   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9670   {   4, &hf_h245_t84DataProtocolCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9671   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9672   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9673   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
9674   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9675   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9676   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9677   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9678   {  12, &hf_h245_t38faxDataProtocolCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T38faxApp },
9679   {  13, &hf_h245_genericDataMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9680   { 0, NULL, 0, NULL }
9681 };
9682
9683 static int
9684 dissect_h245_DataModeApplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9685 #line 524 "../../asn1/h245/h245.cnf"
9686   gint32 value;
9687
9688   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9689                                  ett_h245_DataModeApplication, DataModeApplication_choice,
9690                                  &value);
9691
9692   codec_type = val_to_str(value, h245_DataModeApplication_vals, "<unknown>");
9693
9694
9695   return offset;
9696 }
9697
9698
9699 static const per_sequence_t DataMode_sequence[] = {
9700   { &hf_h245_datamodeapplication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataModeApplication },
9701   { &hf_h245_bitRate_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
9702   { NULL, 0, 0, NULL }
9703 };
9704
9705 static int
9706 dissect_h245_DataMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9707   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9708                                    ett_h245_DataMode, DataMode_sequence);
9709
9710   return offset;
9711 }
9712
9713
9714 static const value_string h245_T_mediaMode_vals[] = {
9715   {   0, "nonStandard" },
9716   {   1, "videoMode" },
9717   {   2, "audioMode" },
9718   {   3, "dataMode" },
9719   { 0, NULL }
9720 };
9721
9722 static const per_choice_t T_mediaMode_choice[] = {
9723   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9724   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9725   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9726   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9727   { 0, NULL, 0, NULL }
9728 };
9729
9730 static int
9731 dissect_h245_T_mediaMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9732   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9733                                  ett_h245_T_mediaMode, T_mediaMode_choice,
9734                                  NULL);
9735
9736   return offset;
9737 }
9738
9739
9740 static const per_sequence_t H235Mode_sequence[] = {
9741   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
9742   { &hf_h245_mediaMode      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaMode },
9743   { NULL, 0, 0, NULL }
9744 };
9745
9746 static int
9747 dissect_h245_H235Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9748   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9749                                    ett_h245_H235Mode, H235Mode_sequence);
9750
9751   return offset;
9752 }
9753
9754
9755 static const per_sequence_t FECMode_sequence[] = {
9756   { &hf_h245_protectedElement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9757   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
9758   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
9759   { NULL, 0, 0, NULL }
9760 };
9761
9762 static int
9763 dissect_h245_FECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9764   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9765                                    ett_h245_FECMode, FECMode_sequence);
9766
9767   return offset;
9768 }
9769
9770
9771 static const value_string h245_Re_type_vals[] = {
9772   {   0, "nonStandard" },
9773   {   1, "videoMode" },
9774   {   2, "audioMode" },
9775   {   3, "dataMode" },
9776   {   4, "encryptionMode" },
9777   {   5, "h235Mode" },
9778   {   6, "fecMode" },
9779   { 0, NULL }
9780 };
9781
9782 static const per_choice_t Re_type_choice[] = {
9783   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9784   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9785   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9786   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9787   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9788   {   5, &hf_h245_h235Mode       , ASN1_EXTENSION_ROOT    , dissect_h245_H235Mode },
9789   {   6, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9790   { 0, NULL, 0, NULL }
9791 };
9792
9793 static int
9794 dissect_h245_Re_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9795   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9796                                  ett_h245_Re_type, Re_type_choice,
9797                                  NULL);
9798
9799   return offset;
9800 }
9801
9802
9803 static const per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
9804   { &hf_h245_re_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Re_type },
9805   { NULL, 0, 0, NULL }
9806 };
9807
9808 static int
9809 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9810   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9811                                    ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
9812
9813   return offset;
9814 }
9815
9816
9817 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of[1] = {
9818   { &hf_h245_secondaryDTM_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9819 };
9820
9821 static int
9822 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_) {
9823   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9824                                       ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement, SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of);
9825
9826   return offset;
9827 }
9828
9829
9830 static const per_sequence_t RedundancyEncodingDTMode_sequence[] = {
9831   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
9832   { &hf_h245_prmary_dtmode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9833   { &hf_h245_secondaryDTM   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement },
9834   { NULL, 0, 0, NULL }
9835 };
9836
9837 static int
9838 dissect_h245_RedundancyEncodingDTMode(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(tvb, offset, actx, tree, hf_index,
9840                                    ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
9841
9842   return offset;
9843 }
9844
9845
9846 static const per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
9847   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9848   { NULL, 0, 0, NULL }
9849 };
9850
9851 static int
9852 dissect_h245_MultiplePayloadStreamElementMode(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_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
9855
9856   return offset;
9857 }
9858
9859
9860 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of[1] = {
9861   { &hf_h245_mpsmElements_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElementMode },
9862 };
9863
9864 static int
9865 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_) {
9866   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9867                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode, SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of);
9868
9869   return offset;
9870 }
9871
9872
9873 static const per_sequence_t MultiplePayloadStreamMode_sequence[] = {
9874   { &hf_h245_mpsmElements   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode },
9875   { NULL, 0, 0, NULL }
9876 };
9877
9878 static int
9879 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9880   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9881                                    ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
9882
9883   return offset;
9884 }
9885
9886
9887 static const value_string h245_FEC_mode_vals[] = {
9888   {   0, "redundancyEncoding" },
9889   {   1, "separateStream" },
9890   { 0, NULL }
9891 };
9892
9893 static const per_choice_t FEC_mode_choice[] = {
9894   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9895   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
9896   { 0, NULL, 0, NULL }
9897 };
9898
9899 static int
9900 dissect_h245_FEC_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9901   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9902                                  ett_h245_FEC_mode, FEC_mode_choice,
9903                                  NULL);
9904
9905   return offset;
9906 }
9907
9908
9909 static const per_sequence_t T_rfc2733Mode_sequence[] = {
9910   { &hf_h245_fec_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FEC_mode },
9911   { NULL, 0, 0, NULL }
9912 };
9913
9914 static int
9915 dissect_h245_T_rfc2733Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9916   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9917                                    ett_h245_T_rfc2733Mode, T_rfc2733Mode_sequence);
9918
9919   return offset;
9920 }
9921
9922
9923 static const value_string h245_DepFECMode_vals[] = {
9924   {   0, "rfc2733Mode" },
9925   { 0, NULL }
9926 };
9927
9928 static const per_choice_t DepFECMode_choice[] = {
9929   {   0, &hf_h245_rfc2733Mode    , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733Mode },
9930   { 0, NULL, 0, NULL }
9931 };
9932
9933 static int
9934 dissect_h245_DepFECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9935   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9936                                  ett_h245_DepFECMode, DepFECMode_choice,
9937                                  NULL);
9938
9939   return offset;
9940 }
9941
9942
9943 static const value_string h245_ModeElementType_vals[] = {
9944   {   0, "nonStandard" },
9945   {   1, "videoMode" },
9946   {   2, "audioMode" },
9947   {   3, "dataMode" },
9948   {   4, "encryptionMode" },
9949   {   5, "h235Mode" },
9950   {   6, "multiplexedStreamMode" },
9951   {   7, "redundancyEncodingDTMode" },
9952   {   8, "multiplePayloadStreamMode" },
9953   {   9, "depFecMode" },
9954   {  10, "fecMode" },
9955   { 0, NULL }
9956 };
9957
9958 static const per_choice_t ModeElementType_choice[] = {
9959   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9960   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9961   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9962   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9963   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9964   {   5, &hf_h245_h235Mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Mode },
9965   {   6, &hf_h245_multiplexedStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
9966   {   7, &hf_h245_redundancyEncodingDTMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingDTMode },
9967   {   8, &hf_h245_multiplePayloadStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamMode },
9968   {   9, &hf_h245_depFecMode     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECMode },
9969   {  10, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9970   { 0, NULL, 0, NULL }
9971 };
9972
9973 static int
9974 dissect_h245_ModeElementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9975   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9976                                  ett_h245_ModeElementType, ModeElementType_choice,
9977                                  NULL);
9978
9979   return offset;
9980 }
9981
9982
9983 static const value_string h245_AdaptationLayerType_vals[] = {
9984   {   0, "nonStandard" },
9985   {   1, "al1Framed" },
9986   {   2, "al1NotFramed" },
9987   {   3, "al2WithoutSequenceNumbers" },
9988   {   4, "al2WithSequenceNumbers" },
9989   {   5, "al3" },
9990   {   6, "al1M" },
9991   {   7, "al2M" },
9992   {   8, "al3M" },
9993   { 0, NULL }
9994 };
9995
9996 static const per_choice_t AdaptationLayerType_choice[] = {
9997   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9998   {   1, &hf_h245_al1Framed      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9999   {   2, &hf_h245_al1NotFramed   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10000   {   3, &hf_h245_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10001   {   4, &hf_h245_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10002   {   5, &hf_h245_al3            , ASN1_EXTENSION_ROOT    , dissect_h245_Al3 },
10003   {   6, &hf_h245_al1M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL1MParameters },
10004   {   7, &hf_h245_al2M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL2MParameters },
10005   {   8, &hf_h245_al3M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL3MParameters },
10006   { 0, NULL, 0, NULL }
10007 };
10008
10009 static int
10010 dissect_h245_AdaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10011   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10012                                  ett_h245_AdaptationLayerType, AdaptationLayerType_choice,
10013                                  NULL);
10014
10015   return offset;
10016 }
10017
10018
10019 static const per_sequence_t H223ModeParameters_sequence[] = {
10020   { &hf_h245_adaptationLayer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AdaptationLayerType },
10021   { &hf_h245_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
10022   { NULL, 0, 0, NULL }
10023 };
10024
10025 static int
10026 dissect_h245_H223ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10027   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10028                                    ett_h245_H223ModeParameters, H223ModeParameters_sequence);
10029
10030   return offset;
10031 }
10032
10033
10034 static const value_string h245_V76ModeParameters_vals[] = {
10035   {   0, "suspendResumewAddress" },
10036   {   1, "suspendResumewoAddress" },
10037   { 0, NULL }
10038 };
10039
10040 static const per_choice_t V76ModeParameters_choice[] = {
10041   {   0, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10042   {   1, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10043   { 0, NULL, 0, NULL }
10044 };
10045
10046 static int
10047 dissect_h245_V76ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10048   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10049                                  ett_h245_V76ModeParameters, V76ModeParameters_choice,
10050                                  NULL);
10051
10052   return offset;
10053 }
10054
10055
10056 static const value_string h245_T_secondaryEncodingMode_vals[] = {
10057   {   0, "nonStandard" },
10058   {   1, "audioData" },
10059   { 0, NULL }
10060 };
10061
10062 static const per_choice_t T_secondaryEncodingMode_choice[] = {
10063   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
10064   {   1, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
10065   { 0, NULL, 0, NULL }
10066 };
10067
10068 static int
10069 dissect_h245_T_secondaryEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10070   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10071                                  ett_h245_T_secondaryEncodingMode, T_secondaryEncodingMode_choice,
10072                                  NULL);
10073
10074   return offset;
10075 }
10076
10077
10078 static const per_sequence_t RedundancyEncodingMode_sequence[] = {
10079   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
10080   { &hf_h245_secondaryEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_secondaryEncodingMode },
10081   { NULL, 0, 0, NULL }
10082 };
10083
10084 static int
10085 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10086   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10087                                    ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
10088
10089   return offset;
10090 }
10091
10092
10093 static const per_sequence_t H2250ModeParameters_sequence[] = {
10094   { &hf_h245_redundancyEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingMode },
10095   { NULL, 0, 0, NULL }
10096 };
10097
10098 static int
10099 dissect_h245_H2250ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10100   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10101                                    ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
10102
10103   return offset;
10104 }
10105
10106
10107 static const per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
10108   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10109   { NULL, 0, 0, NULL }
10110 };
10111
10112 static int
10113 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10114   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10115                                    ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
10116
10117   return offset;
10118 }
10119
10120
10121 static const per_sequence_t ModeElement_sequence[] = {
10122   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
10123   { &hf_h245_h223ModeParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H223ModeParameters },
10124   { &hf_h245_v76ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_V76ModeParameters },
10125   { &hf_h245_h2250ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H2250ModeParameters },
10126   { &hf_h245_genericModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
10127   { &hf_h245_multiplexedStreamModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_MultiplexedStreamModeParameters },
10128   { &hf_h245_logicalChannelNumber, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10129   { NULL, 0, 0, NULL }
10130 };
10131
10132 static int
10133 dissect_h245_ModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10134   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10135                                    ett_h245_ModeElement, ModeElement_sequence);
10136
10137   return offset;
10138 }
10139
10140
10141 static const per_sequence_t ModeDescription_set_of[1] = {
10142   { &hf_h245_ModeDescription_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeElement },
10143 };
10144
10145 static int
10146 dissect_h245_ModeDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10147   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10148                                              ett_h245_ModeDescription, ModeDescription_set_of,
10149                                              1, 256, FALSE);
10150
10151   return offset;
10152 }
10153
10154
10155 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of[1] = {
10156   { &hf_h245_requestedModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeDescription },
10157 };
10158
10159 static int
10160 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_) {
10161   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10162                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription, SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of,
10163                                                   1, 256, FALSE);
10164
10165   return offset;
10166 }
10167
10168
10169 static const per_sequence_t RequestMode_sequence[] = {
10170   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10171   { &hf_h245_requestedModes , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription },
10172   { NULL, 0, 0, NULL }
10173 };
10174
10175 static int
10176 dissect_h245_RequestMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10177   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10178                                    ett_h245_RequestMode, RequestMode_sequence);
10179
10180   return offset;
10181 }
10182
10183
10184 static const per_sequence_t RoundTripDelayRequest_sequence[] = {
10185   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10186   { NULL, 0, 0, NULL }
10187 };
10188
10189 static int
10190 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10191   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10192                                    ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
10193
10194   return offset;
10195 }
10196
10197
10198 static const value_string h245_Mlr_type_vals[] = {
10199   {   0, "systemLoop" },
10200   {   1, "mediaLoop" },
10201   {   2, "logicalChannelLoop" },
10202   { 0, NULL }
10203 };
10204
10205 static const per_choice_t Mlr_type_choice[] = {
10206   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10207   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10208   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10209   { 0, NULL, 0, NULL }
10210 };
10211
10212 static int
10213 dissect_h245_Mlr_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10214   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10215                                  ett_h245_Mlr_type, Mlr_type_choice,
10216                                  NULL);
10217
10218   return offset;
10219 }
10220
10221
10222 static const per_sequence_t MaintenanceLoopRequest_sequence[] = {
10223   { &hf_h245_mlr_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlr_type },
10224   { NULL, 0, 0, NULL }
10225 };
10226
10227 static int
10228 dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10229   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10230                                    ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
10231
10232   return offset;
10233 }
10234
10235
10236 static const per_sequence_t CommunicationModeRequest_sequence[] = {
10237   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
10238 };
10239
10240 static int
10241 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10242   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10243                                    ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
10244
10245   return offset;
10246 }
10247
10248
10249 static const per_sequence_t Criteria_sequence[] = {
10250   { &hf_h245_field          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
10251   { &hf_h245_criteriaValue  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
10252   { NULL, 0, 0, NULL }
10253 };
10254
10255 static int
10256 dissect_h245_Criteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10257   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10258                                    ett_h245_Criteria, Criteria_sequence);
10259
10260   return offset;
10261 }
10262
10263
10264 static const per_sequence_t CertSelectionCriteria_sequence_of[1] = {
10265   { &hf_h245_CertSelectionCriteria_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Criteria },
10266 };
10267
10268 static int
10269 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10270   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10271                                                   ett_h245_CertSelectionCriteria, CertSelectionCriteria_sequence_of,
10272                                                   1, 16, FALSE);
10273
10274   return offset;
10275 }
10276
10277
10278 static const per_sequence_t T_requestTerminalCertificate_sequence[] = {
10279   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
10280   { &hf_h245_certSelectionCriteria, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_CertSelectionCriteria },
10281   { &hf_h245_sRandom        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
10282   { NULL, 0, 0, NULL }
10283 };
10284
10285 static int
10286 dissect_h245_T_requestTerminalCertificate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10287   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10288                                    ett_h245_T_requestTerminalCertificate, T_requestTerminalCertificate_sequence);
10289
10290   return offset;
10291 }
10292
10293
10294 static const value_string h245_RemoteMCRequest_vals[] = {
10295   {   0, "masterActivate" },
10296   {   1, "slaveActivate" },
10297   {   2, "deActivate" },
10298   { 0, NULL }
10299 };
10300
10301 static const per_choice_t RemoteMCRequest_choice[] = {
10302   {   0, &hf_h245_masterActivate , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10303   {   1, &hf_h245_slaveActivate  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10304   {   2, &hf_h245_deActivate     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10305   { 0, NULL, 0, NULL }
10306 };
10307
10308 static int
10309 dissect_h245_RemoteMCRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10310   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10311                                  ett_h245_RemoteMCRequest, RemoteMCRequest_choice,
10312                                  NULL);
10313
10314   return offset;
10315 }
10316
10317
10318 static const value_string h245_ConferenceRequest_vals[] = {
10319   {   0, "terminalListRequest" },
10320   {   1, "makeMeChair" },
10321   {   2, "cancelMakeMeChair" },
10322   {   3, "dropTerminal" },
10323   {   4, "requestTerminalID" },
10324   {   5, "enterH243Password" },
10325   {   6, "enterH243TerminalID" },
10326   {   7, "enterH243ConferenceID" },
10327   {   8, "enterExtensionAddress" },
10328   {   9, "requestChairTokenOwner" },
10329   {  10, "requestTerminalCertificate" },
10330   {  11, "broadcastMyLogicalChannel" },
10331   {  12, "makeTerminalBroadcaster" },
10332   {  13, "sendThisSource" },
10333   {  14, "requestAllTerminalIDs" },
10334   {  15, "remoteMCRequest" },
10335   { 0, NULL }
10336 };
10337
10338 static const per_choice_t ConferenceRequest_choice[] = {
10339   {   0, &hf_h245_terminalListRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10340   {   1, &hf_h245_makeMeChair    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10341   {   2, &hf_h245_cancelMakeMeChair, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10342   {   3, &hf_h245_dropTerminal   , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10343   {   4, &hf_h245_requestTerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10344   {   5, &hf_h245_enterH243Password, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10345   {   6, &hf_h245_enterH243TerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10346   {   7, &hf_h245_enterH243ConferenceID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10347   {   8, &hf_h245_enterExtensionAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10348   {   9, &hf_h245_requestChairTokenOwner, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10349   {  10, &hf_h245_requestTerminalCertificate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_requestTerminalCertificate },
10350   {  11, &hf_h245_broadcastMyLogicalChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelNumber },
10351   {  12, &hf_h245_makeTerminalBroadcaster, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10352   {  13, &hf_h245_sendThisSource , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10353   {  14, &hf_h245_requestAllTerminalIDs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10354   {  15, &hf_h245_remoteMCRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCRequest },
10355   { 0, NULL, 0, NULL }
10356 };
10357
10358 static int
10359 dissect_h245_ConferenceRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10360   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10361                                  ett_h245_ConferenceRequest, ConferenceRequest_choice,
10362                                  NULL);
10363
10364   return offset;
10365 }
10366
10367
10368 static const per_sequence_t CallInformationReq_sequence[] = {
10369   { &hf_h245_maxNumberOfAdditionalConnections, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
10370   { NULL, 0, 0, NULL }
10371 };
10372
10373 static int
10374 dissect_h245_CallInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10375   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10376                                    ett_h245_CallInformationReq, CallInformationReq_sequence);
10377
10378   return offset;
10379 }
10380
10381
10382
10383 static int
10384 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_) {
10385   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
10386                                           0, 40, FALSE);
10387
10388   return offset;
10389 }
10390
10391
10392
10393 static int
10394 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_) {
10395   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
10396                                           1, 40, FALSE);
10397
10398   return offset;
10399 }
10400
10401
10402 static const value_string h245_DialingInformationNetworkType_vals[] = {
10403   {   0, "nonStandard" },
10404   {   1, "n-isdn" },
10405   {   2, "gstn" },
10406   {   3, "mobile" },
10407   { 0, NULL }
10408 };
10409
10410 static const per_choice_t DialingInformationNetworkType_choice[] = {
10411   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10412   {   1, &hf_h245_n_isdn         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10413   {   2, &hf_h245_gstn           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10414   {   3, &hf_h245_mobile         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10415   { 0, NULL, 0, NULL }
10416 };
10417
10418 static int
10419 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10420   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10421                                  ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice,
10422                                  NULL);
10423
10424   return offset;
10425 }
10426
10427
10428 static const per_sequence_t SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of[1] = {
10429   { &hf_h245_networkType_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNetworkType },
10430 };
10431
10432 static int
10433 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_) {
10434   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10435                                              ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType, SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of,
10436                                              1, 255, FALSE);
10437
10438   return offset;
10439 }
10440
10441
10442 static const per_sequence_t DialingInformationNumber_sequence[] = {
10443   { &hf_h245_networkAddressNum, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NumericString_SIZE_0_40 },
10444   { &hf_h245_subAddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IA5String_SIZE_1_40 },
10445   { &hf_h245_networkType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType },
10446   { NULL, 0, 0, NULL }
10447 };
10448
10449 static int
10450 dissect_h245_DialingInformationNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10451   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10452                                    ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
10453
10454   return offset;
10455 }
10456
10457
10458 static const per_sequence_t SET_SIZE_1_65535_OF_DialingInformationNumber_set_of[1] = {
10459   { &hf_h245_differential_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNumber },
10460 };
10461
10462 static int
10463 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_) {
10464   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10465                                              ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber, SET_SIZE_1_65535_OF_DialingInformationNumber_set_of,
10466                                              1, 65535, FALSE);
10467
10468   return offset;
10469 }
10470
10471
10472 static const value_string h245_DialingInformation_vals[] = {
10473   {   0, "nonStandard" },
10474   {   1, "differential" },
10475   {   2, "infoNotAvailable" },
10476   { 0, NULL }
10477 };
10478
10479 static const per_choice_t DialingInformation_choice[] = {
10480   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10481   {   1, &hf_h245_differential   , ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber },
10482   {   2, &hf_h245_infoNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_65535 },
10483   { 0, NULL, 0, NULL }
10484 };
10485
10486 static int
10487 dissect_h245_DialingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10488   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10489                                  ett_h245_DialingInformation, DialingInformation_choice,
10490                                  NULL);
10491
10492   return offset;
10493 }
10494
10495
10496 static const per_sequence_t AddConnectionReq_sequence[] = {
10497   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10498   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
10499   { NULL, 0, 0, NULL }
10500 };
10501
10502 static int
10503 dissect_h245_AddConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10504   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10505                                    ett_h245_AddConnectionReq, AddConnectionReq_sequence);
10506
10507   return offset;
10508 }
10509
10510
10511 static const per_sequence_t ConnectionIdentifier_sequence[] = {
10512   { &hf_h245_channelTag     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10513   { &hf_h245_sequenceNum    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10514   { NULL, 0, 0, NULL }
10515 };
10516
10517 static int
10518 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10519   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10520                                    ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
10521
10522   return offset;
10523 }
10524
10525
10526 static const per_sequence_t RemoveConnectionReq_sequence[] = {
10527   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
10528   { NULL, 0, 0, NULL }
10529 };
10530
10531 static int
10532 dissect_h245_RemoveConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10533   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10534                                    ett_h245_RemoveConnectionReq, RemoveConnectionReq_sequence);
10535
10536   return offset;
10537 }
10538
10539
10540 static const value_string h245_T_requestType_vals[] = {
10541   {   0, "currentIntervalInformation" },
10542   {   1, "requestedInterval" },
10543   { 0, NULL }
10544 };
10545
10546 static const per_choice_t T_requestType_choice[] = {
10547   {   0, &hf_h245_currentIntervalInformation, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10548   {   1, &hf_h245_requestedInterval, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_65535 },
10549   { 0, NULL, 0, NULL }
10550 };
10551
10552 static int
10553 dissect_h245_T_requestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10554   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10555                                  ett_h245_T_requestType, T_requestType_choice,
10556                                  NULL);
10557
10558   return offset;
10559 }
10560
10561
10562 static const per_sequence_t MaximumHeaderIntervalReq_sequence[] = {
10563   { &hf_h245_requestType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_requestType },
10564   { NULL, 0, 0, NULL }
10565 };
10566
10567 static int
10568 dissect_h245_MaximumHeaderIntervalReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10569   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10570                                    ett_h245_MaximumHeaderIntervalReq, MaximumHeaderIntervalReq_sequence);
10571
10572   return offset;
10573 }
10574
10575
10576 static const value_string h245_MultilinkRequest_vals[] = {
10577   {   0, "nonStandard" },
10578   {   1, "callInformation" },
10579   {   2, "addConnection" },
10580   {   3, "removeConnection" },
10581   {   4, "maximumHeaderInterval" },
10582   { 0, NULL }
10583 };
10584
10585 static const per_choice_t MultilinkRequest_choice[] = {
10586   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10587   {   1, &hf_h245_callInformationReq, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationReq },
10588   {   2, &hf_h245_addConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionReq },
10589   {   3, &hf_h245_removeConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionReq },
10590   {   4, &hf_h245_maximumHeaderIntervalReq, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalReq },
10591   { 0, NULL, 0, NULL }
10592 };
10593
10594 static int
10595 dissect_h245_MultilinkRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10596   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10597                                  ett_h245_MultilinkRequest, MultilinkRequest_choice,
10598                                  NULL);
10599
10600   return offset;
10601 }
10602
10603
10604
10605 static int
10606 dissect_h245_MaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10607   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10608                                                             0U, 4294967295U, NULL, FALSE);
10609
10610   return offset;
10611 }
10612
10613
10614 static const per_sequence_t LogicalChannelRateRequest_sequence[] = {
10615   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10616   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10617   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
10618   { NULL, 0, 0, NULL }
10619 };
10620
10621 static int
10622 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10623   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10624                                    ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
10625
10626   return offset;
10627 }
10628
10629
10630 static const value_string h245_RequestMessage_vals[] = {
10631   { RequestMessage_nonStandard, "nonStandard" },
10632   { RequestMessage_masterSlaveDetermination, "masterSlaveDetermination" },
10633   { RequestMessage_terminalCapabilitySet, "terminalCapabilitySet" },
10634   { RequestMessage_openLogicalChannel, "openLogicalChannel" },
10635   { RequestMessage_closeLogicalChannel, "closeLogicalChannel" },
10636   { RequestMessage_requestChannelClose, "requestChannelClose" },
10637   { RequestMessage_multiplexEntrySend, "multiplexEntrySend" },
10638   { RequestMessage_requestMultiplexEntry, "requestMultiplexEntry" },
10639   { RequestMessage_requestMode, "requestMode" },
10640   { RequestMessage_roundTripDelayRequest, "roundTripDelayRequest" },
10641   { RequestMessage_maintenanceLoopRequest, "maintenanceLoopRequest" },
10642   { RequestMessage_communicationModeRequest, "communicationModeRequest" },
10643   { RequestMessage_conferenceRequest, "conferenceRequest" },
10644   { RequestMessage_multilinkRequest, "multilinkRequest" },
10645   { RequestMessage_logicalChannelRateRequest, "logicalChannelRateRequest" },
10646   { RequestMessage_genericRequest, "genericRequest" },
10647   { 0, NULL }
10648 };
10649
10650 static const per_choice_t RequestMessage_choice[] = {
10651   { RequestMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10652   { RequestMessage_masterSlaveDetermination, &hf_h245_masterSlaveDetermination, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDetermination },
10653   { RequestMessage_terminalCapabilitySet, &hf_h245_terminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySet },
10654   { RequestMessage_openLogicalChannel, &hf_h245_openLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannel },
10655   { RequestMessage_closeLogicalChannel, &hf_h245_closeLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannel },
10656   { RequestMessage_requestChannelClose, &hf_h245_requestChannelClose, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelClose },
10657   { RequestMessage_multiplexEntrySend, &hf_h245_multiplexEntrySend, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySend },
10658   { RequestMessage_requestMultiplexEntry, &hf_h245_requestMultiplexEntry, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntry },
10659   { RequestMessage_requestMode, &hf_h245_requestMode    , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMode },
10660   { RequestMessage_roundTripDelayRequest, &hf_h245_roundTripDelayRequest, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayRequest },
10661   { RequestMessage_maintenanceLoopRequest, &hf_h245_maintenanceLoopRequest, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopRequest },
10662   { RequestMessage_communicationModeRequest, &hf_h245_communicationModeRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeRequest },
10663   { RequestMessage_conferenceRequest, &hf_h245_conferenceRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceRequest },
10664   { RequestMessage_multilinkRequest, &hf_h245_multilinkRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkRequest },
10665   { RequestMessage_logicalChannelRateRequest, &hf_h245_logicalChannelRateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRequest },
10666   { RequestMessage_genericRequest, &hf_h245_genericRequest , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
10667   { 0, NULL, 0, NULL }
10668 };
10669
10670 static int
10671 dissect_h245_RequestMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10672 #line 368 "../../asn1/h245/h245.cnf"
10673   gint32 value;
10674
10675   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10676                                  ett_h245_RequestMessage, RequestMessage_choice,
10677                                  &value);
10678
10679         if ( h245_shorttypes == TRUE )
10680             {
10681                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
10682                                 val_to_str(value, h245_RequestMessage_short_vals, "<unknown>"));
10683                 }
10684                 else
10685                 {
10686                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
10687                                 val_to_str(value, h245_RequestMessage_vals, "<unknown>"));
10688                 }
10689
10690         if (( codec_type != NULL ) && ( value == RequestMessage_openLogicalChannel) ){
10691                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%s) ", codec_type );
10692         }
10693
10694         col_set_fence(actx->pinfo->cinfo,COL_INFO);
10695
10696     /* Add to packet info */
10697         if (h245_pi == NULL)
10698                 return offset;
10699
10700     if (strlen(h245_pi->frame_label) == 0)
10701     {
10702       g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_RequestMessage_short_vals, "UKN"));
10703
10704       /* if it is OLC or RM*/
10705       if ((codec_type != NULL) && (( value == RequestMessage_openLogicalChannel) || ( value == RequestMessage_requestMode)))
10706       {
10707         g_strlcat(h245_pi->frame_label, " (", 50);
10708         g_strlcat(h245_pi->frame_label, codec_type, 50);
10709         g_strlcat(h245_pi->frame_label, ")", 50);
10710       }
10711     }
10712     g_strlcat(h245_pi->comment, val_to_str(value, h245_RequestMessage_vals, "<unknown>"), 50);
10713
10714
10715   return offset;
10716 }
10717
10718
10719 static const value_string h245_T_decision_vals[] = {
10720   {   0, "master" },
10721   {   1, "slave" },
10722   { 0, NULL }
10723 };
10724
10725 static const per_choice_t T_decision_choice[] = {
10726   {   0, &hf_h245_master         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10727   {   1, &hf_h245_slave          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10728   { 0, NULL, 0, NULL }
10729 };
10730
10731 static int
10732 dissect_h245_T_decision(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10733   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10734                                  ett_h245_T_decision, T_decision_choice,
10735                                  NULL);
10736
10737   return offset;
10738 }
10739
10740
10741 static const per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
10742   { &hf_h245_decision       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_decision },
10743   { NULL, 0, 0, NULL }
10744 };
10745
10746 static int
10747 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10748   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10749                                    ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
10750
10751 #line 531 "../../asn1/h245/h245.cnf"
10752
10753 if (h245_pi != NULL)
10754   h245_pi->msg_type = H245_MastSlvDetAck;
10755
10756   return offset;
10757 }
10758
10759
10760 static const value_string h245_MasterSlaveDeterminationRejectCause_vals[] = {
10761   {   0, "identicalNumbers" },
10762   { 0, NULL }
10763 };
10764
10765 static const per_choice_t MasterSlaveDeterminationRejectCause_choice[] = {
10766   {   0, &hf_h245_identicalNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10767   { 0, NULL, 0, NULL }
10768 };
10769
10770 static int
10771 dissect_h245_MasterSlaveDeterminationRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10772   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10773                                  ett_h245_MasterSlaveDeterminationRejectCause, MasterSlaveDeterminationRejectCause_choice,
10774                                  NULL);
10775
10776   return offset;
10777 }
10778
10779
10780 static const per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
10781   { &hf_h245_msd_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MasterSlaveDeterminationRejectCause },
10782   { NULL, 0, 0, NULL }
10783 };
10784
10785 static int
10786 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10787   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10788                                    ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
10789
10790 #line 537 "../../asn1/h245/h245.cnf"
10791
10792 if (h245_pi != NULL)
10793   h245_pi->msg_type = H245_MastSlvDetRjc;
10794
10795   return offset;
10796 }
10797
10798
10799 static const per_sequence_t TerminalCapabilitySetAck_sequence[] = {
10800   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10801   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10802   { NULL, 0, 0, NULL }
10803 };
10804
10805 static int
10806 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10807   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10808                                    ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
10809
10810 #line 567 "../../asn1/h245/h245.cnf"
10811
10812 if (h245_pi != NULL)
10813   h245_pi->msg_type = H245_TermCapSetAck;
10814
10815   return offset;
10816 }
10817
10818
10819 static const value_string h245_T_tableEntryCapacityExceeded_vals[] = {
10820   {   0, "highestEntryNumberProcessed" },
10821   {   1, "noneProcessed" },
10822   { 0, NULL }
10823 };
10824
10825 static const per_choice_t T_tableEntryCapacityExceeded_choice[] = {
10826   {   0, &hf_h245_highestEntryNumberProcessed, ASN1_NO_EXTENSIONS     , dissect_h245_CapabilityTableEntryNumber },
10827   {   1, &hf_h245_noneProcessed  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10828   { 0, NULL, 0, NULL }
10829 };
10830
10831 static int
10832 dissect_h245_T_tableEntryCapacityExceeded(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10833   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10834                                  ett_h245_T_tableEntryCapacityExceeded, T_tableEntryCapacityExceeded_choice,
10835                                  NULL);
10836
10837   return offset;
10838 }
10839
10840
10841 static const value_string h245_TerminalCapabilitySetRejectCause_vals[] = {
10842   {   0, "unspecified" },
10843   {   1, "undefinedTableEntryUsed" },
10844   {   2, "descriptorCapacityExceeded" },
10845   {   3, "tableEntryCapacityExceeded" },
10846   { 0, NULL }
10847 };
10848
10849 static const per_choice_t TerminalCapabilitySetRejectCause_choice[] = {
10850   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10851   {   1, &hf_h245_undefinedTableEntryUsed, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10852   {   2, &hf_h245_descriptorCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10853   {   3, &hf_h245_tableEntryCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_T_tableEntryCapacityExceeded },
10854   { 0, NULL, 0, NULL }
10855 };
10856
10857 static int
10858 dissect_h245_TerminalCapabilitySetRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10859   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10860                                  ett_h245_TerminalCapabilitySetRejectCause, TerminalCapabilitySetRejectCause_choice,
10861                                  NULL);
10862
10863   return offset;
10864 }
10865
10866
10867 static const per_sequence_t TerminalCapabilitySetReject_sequence[] = {
10868   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10869   { &hf_h245_tcs_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalCapabilitySetRejectCause },
10870   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10871   { NULL, 0, 0, NULL }
10872 };
10873
10874 static int
10875 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10876   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10877                                    ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
10878
10879 #line 579 "../../asn1/h245/h245.cnf"
10880
10881 if (h245_pi != NULL)
10882   h245_pi->msg_type = H245_TermCapSetRjc;
10883
10884   return offset;
10885 }
10886
10887
10888
10889 static int
10890 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_) {
10891   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10892
10893 #line 275 "../../asn1/h245/h245.cnf"
10894   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
10895   h223_fw_lc_num = h245_lc_temp;
10896
10897   return offset;
10898 }
10899
10900
10901
10902 static int
10903 dissect_h245_T_reverseLogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10904   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10905
10906 #line 289 "../../asn1/h245/h245.cnf"
10907   h223_rev_lc_num = h245_lc_temp;
10908
10909   return offset;
10910 }
10911
10912
10913 static const value_string h245_T_olc_ack_multiplexParameters_vals[] = {
10914   {   0, "h222LogicalChannelParameters" },
10915   {   1, "h2250LogicalChannelParameters" },
10916   { 0, NULL }
10917 };
10918
10919 static const per_choice_t T_olc_ack_multiplexParameters_choice[] = {
10920   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
10921   {   1, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
10922   { 0, NULL, 0, NULL }
10923 };
10924
10925 static int
10926 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_) {
10927   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10928                                  ett_h245_T_olc_ack_multiplexParameters, T_olc_ack_multiplexParameters_choice,
10929                                  NULL);
10930
10931   return offset;
10932 }
10933
10934
10935 static const per_sequence_t OLC_ack_reverseLogicalChannelParameters_sequence[] = {
10936   { &hf_h245_reverseLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_reverseLogicalChannelNumber },
10937   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10938   { &hf_h245_olc_ack_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_olc_ack_multiplexParameters },
10939   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10940   { NULL, 0, 0, NULL }
10941 };
10942
10943 static int
10944 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_) {
10945   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10946                                    ett_h245_OLC_ack_reverseLogicalChannelParameters, OLC_ack_reverseLogicalChannelParameters_sequence);
10947
10948   return offset;
10949 }
10950
10951
10952
10953 static int
10954 dissect_h245_Ack_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10955 #line 891 "../../asn1/h245/h245.cnf"
10956   if (upcoming_channel)
10957     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
10958
10959   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10960
10961 #line 895 "../../asn1/h245/h245.cnf"
10962   if (upcoming_channel)
10963     upcoming_channel->upcoming_addr = NULL;
10964
10965   return offset;
10966 }
10967
10968
10969
10970 static int
10971 dissect_h245_Ack_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10972 #line 909 "../../asn1/h245/h245.cnf"
10973   if (upcoming_channel)
10974     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
10975
10976   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10977
10978 #line 913 "../../asn1/h245/h245.cnf"
10979   if (upcoming_channel)
10980     upcoming_channel->upcoming_addr = NULL;
10981
10982   return offset;
10983 }
10984
10985
10986 static const per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
10987   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
10988   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
10989   { &hf_h245_ack_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaChannel },
10990   { &hf_h245_ack_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaControlChannel },
10991   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
10992   { &hf_h245_flowControlToZero, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
10993   { &hf_h245_portNumber     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10994   { NULL, 0, 0, NULL }
10995 };
10996
10997 static int
10998 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10999   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11000                                    ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
11001
11002   return offset;
11003 }
11004
11005
11006 static const value_string h245_T_forwardMultiplexAckParameters_vals[] = {
11007   {   0, "h2250LogicalChannelAckParameters" },
11008   { 0, NULL }
11009 };
11010
11011 static const per_choice_t T_forwardMultiplexAckParameters_choice[] = {
11012   {   0, &hf_h245_h2250LogicalChannelAckParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H2250LogicalChannelAckParameters },
11013   { 0, NULL, 0, NULL }
11014 };
11015
11016 static int
11017 dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11018 #line 280 "../../asn1/h245/h245.cnf"
11019
11020   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
11021
11022   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11023                                  ett_h245_T_forwardMultiplexAckParameters, T_forwardMultiplexAckParameters_choice,
11024                                  NULL);
11025
11026         
11027   upcoming_channel = NULL;
11028
11029
11030   return offset;
11031 }
11032
11033
11034 static const per_sequence_t OpenLogicalChannelAck_sequence[] = {
11035   { &hf_h245_olc_ack_fw_lcn , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_ack_fw_lcn },
11036   { &hf_h245_olc_ack_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_ack_reverseLogicalChannelParameters },
11037   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
11038   { &hf_h245_forwardMultiplexAckParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_forwardMultiplexAckParameters },
11039   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
11040   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11041   { NULL, 0, 0, NULL }
11042 };
11043
11044 static int
11045 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11046 #line 219 "../../asn1/h245/h245.cnf"
11047   guint32 temp;
11048   int p2p_dir;
11049   h223_pending_olc *pend;
11050   const gchar *olc_key;
11051   olc_info_t *olc_req;
11052
11053   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? ep_alloc0(sizeof(olc_info_t)) : NULL;
11054
11055   h223_fw_lc_num = 0;
11056   h223_rev_lc_num = 0;
11057         
11058   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11059                                    ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
11060
11061
11062   temp = h223_fw_lc_num;
11063   p2p_dir = actx->pinfo->p2p_dir;
11064   
11065   if(actx->pinfo->p2p_dir == P2P_DIR_SENT)
11066         actx->pinfo->p2p_dir = P2P_DIR_RECV;
11067   else
11068         actx->pinfo->p2p_dir = P2P_DIR_SENT;
11069   pend = g_hash_table_lookup( h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp) );
11070   if (pend) {
11071         DISSECTOR_ASSERT( ( h223_rev_lc_num &&  pend->rev_channel_params)
11072                                    || (!h223_rev_lc_num && !pend->rev_channel_params) );
11073         if(h223_add_lc_handle) {
11074           (*h223_add_lc_handle)( actx->pinfo, h223_fw_lc_num, pend->fw_channel_params );
11075           if(h223_rev_lc_num)
11076                 (*h223_add_lc_handle)( actx->pinfo, h223_rev_lc_num, pend->rev_channel_params );
11077         }
11078   } else {
11079         /* we missed the OpenLogicalChannel packet */
11080   }
11081   actx->pinfo->p2p_dir = p2p_dir;
11082
11083   if (upcoming_olc) {
11084     olc_key = gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->src, &actx->pinfo->dst);
11085     olc_req = g_hash_table_lookup(h245_pending_olc_reqs, olc_key);
11086     if (olc_req) {
11087       update_unicast_addr(&olc_req->fwd_lc.media_addr, &upcoming_olc->fwd_lc.media_addr);
11088       update_unicast_addr(&olc_req->fwd_lc.media_control_addr, &upcoming_olc->fwd_lc.media_control_addr);
11089       update_unicast_addr(&olc_req->rev_lc.media_addr, &upcoming_olc->rev_lc.media_addr);
11090       update_unicast_addr(&olc_req->rev_lc.media_control_addr, &upcoming_olc->rev_lc.media_control_addr);
11091       h245_setup_channels(actx->pinfo, &olc_req->fwd_lc);
11092       h245_setup_channels(actx->pinfo, &olc_req->rev_lc);
11093       g_hash_table_remove(h245_pending_olc_reqs, olc_key);
11094     } else {
11095       h245_setup_channels(actx->pinfo, &upcoming_olc->fwd_lc);
11096     }
11097   }
11098   upcoming_olc = NULL;
11099
11100   if (h245_pi != NULL)
11101         h245_pi->msg_type = H245_OpenLogChnAck;
11102
11103
11104   return offset;
11105 }
11106
11107
11108 static const value_string h245_OpenLogicalChannelRejectCause_vals[] = {
11109   {   0, "unspecified" },
11110   {   1, "unsuitableReverseParameters" },
11111   {   2, "dataTypeNotSupported" },
11112   {   3, "dataTypeNotAvailable" },
11113   {   4, "unknownDataType" },
11114   {   5, "dataTypeALCombinationNotSupported" },
11115   {   6, "multicastChannelNotAllowed" },
11116   {   7, "insufficientBandwidth" },
11117   {   8, "separateStackEstablishmentFailed" },
11118   {   9, "invalidSessionID" },
11119   {  10, "masterSlaveConflict" },
11120   {  11, "waitForCommunicationMode" },
11121   {  12, "invalidDependentChannel" },
11122   {  13, "replacementForRejected" },
11123   {  14, "securityDenied" },
11124   {  15, "qoSControlNotSupported" },
11125   { 0, NULL }
11126 };
11127
11128 static const per_choice_t OpenLogicalChannelRejectCause_choice[] = {
11129   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11130   {   1, &hf_h245_unsuitableReverseParameters, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11131   {   2, &hf_h245_dataTypeNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11132   {   3, &hf_h245_dataTypeNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11133   {   4, &hf_h245_unknownDataType, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11134   {   5, &hf_h245_dataTypeALCombinationNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11135   {   6, &hf_h245_multicastChannelNotAllowed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11136   {   7, &hf_h245_insufficientBandwidth, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11137   {   8, &hf_h245_separateStackEstablishmentFailed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11138   {   9, &hf_h245_invalidSessionID, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11139   {  10, &hf_h245_masterSlaveConflict, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11140   {  11, &hf_h245_waitForCommunicationMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11141   {  12, &hf_h245_invalidDependentChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11142   {  13, &hf_h245_replacementForRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11143   {  14, &hf_h245_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11144   {  15, &hf_h245_qoSControlNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11145   { 0, NULL, 0, NULL }
11146 };
11147
11148 static int
11149 dissect_h245_OpenLogicalChannelRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11150   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11151                                  ett_h245_OpenLogicalChannelRejectCause, OpenLogicalChannelRejectCause_choice,
11152                                  NULL);
11153
11154   return offset;
11155 }
11156
11157
11158 static const per_sequence_t OpenLogicalChannelReject_sequence[] = {
11159   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11160   { &hf_h245_olc_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OpenLogicalChannelRejectCause },
11161   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11162   { NULL, 0, 0, NULL }
11163 };
11164
11165 static int
11166 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11167   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11168                                    ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
11169
11170 #line 543 "../../asn1/h245/h245.cnf"
11171
11172 if (h245_pi != NULL)
11173   h245_pi->msg_type = H245_OpenLogChnRjc;
11174
11175   return offset;
11176 }
11177
11178
11179 static const per_sequence_t CloseLogicalChannelAck_sequence[] = {
11180   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11181   { NULL, 0, 0, NULL }
11182 };
11183
11184 static int
11185 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11186   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11187                                    ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
11188
11189 #line 555 "../../asn1/h245/h245.cnf"
11190
11191 if (h245_pi != NULL)
11192   h245_pi->msg_type = H245_CloseLogChnAck;
11193
11194   return offset;
11195 }
11196
11197
11198 static const per_sequence_t RequestChannelCloseAck_sequence[] = {
11199   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11200   { NULL, 0, 0, NULL }
11201 };
11202
11203 static int
11204 dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11205   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11206                                    ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
11207
11208   return offset;
11209 }
11210
11211
11212 static const value_string h245_RequestChannelCloseRejectCause_vals[] = {
11213   {   0, "unspecified" },
11214   { 0, NULL }
11215 };
11216
11217 static const per_choice_t RequestChannelCloseRejectCause_choice[] = {
11218   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11219   { 0, NULL, 0, NULL }
11220 };
11221
11222 static int
11223 dissect_h245_RequestChannelCloseRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11224   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11225                                  ett_h245_RequestChannelCloseRejectCause, RequestChannelCloseRejectCause_choice,
11226                                  NULL);
11227
11228   return offset;
11229 }
11230
11231
11232 static const per_sequence_t RequestChannelCloseReject_sequence[] = {
11233   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11234   { &hf_h245_req_chan_clos_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestChannelCloseRejectCause },
11235   { NULL, 0, 0, NULL }
11236 };
11237
11238 static int
11239 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11240   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11241                                    ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
11242
11243   return offset;
11244 }
11245
11246
11247 static const per_sequence_t MultiplexEntrySendAck_sequence[] = {
11248   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11249   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11250   { NULL, 0, 0, NULL }
11251 };
11252
11253 static int
11254 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11255   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11256                                    ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
11257
11258   return offset;
11259 }
11260
11261
11262 static const value_string h245_MultiplexEntryRejectionDescriptionsCause_vals[] = {
11263   {   0, "unspecifiedCause" },
11264   {   1, "descriptorTooComplex" },
11265   { 0, NULL }
11266 };
11267
11268 static const per_choice_t MultiplexEntryRejectionDescriptionsCause_choice[] = {
11269   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11270   {   1, &hf_h245_descriptorTooComplex, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11271   { 0, NULL, 0, NULL }
11272 };
11273
11274 static int
11275 dissect_h245_MultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11276   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11277                                  ett_h245_MultiplexEntryRejectionDescriptionsCause, MultiplexEntryRejectionDescriptionsCause_choice,
11278                                  NULL);
11279
11280   return offset;
11281 }
11282
11283
11284 static const per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11285   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11286   { &hf_h245_mux_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptionsCause },
11287   { NULL, 0, 0, NULL }
11288 };
11289
11290 static int
11291 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11292   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11293                                    ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11294
11295   return offset;
11296 }
11297
11298
11299 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of[1] = {
11300   { &hf_h245_sendRejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptions },
11301 };
11302
11303 static int
11304 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_) {
11305   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11306                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of,
11307                                              1, 15, FALSE);
11308
11309   return offset;
11310 }
11311
11312
11313 static const per_sequence_t MultiplexEntrySendReject_sequence[] = {
11314   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11315   { &hf_h245_sendRejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions },
11316   { NULL, 0, 0, NULL }
11317 };
11318
11319 static int
11320 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11321   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11322                                    ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
11323
11324   return offset;
11325 }
11326
11327
11328 static const per_sequence_t RequestMultiplexEntryAck_sequence[] = {
11329   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11330   { NULL, 0, 0, NULL }
11331 };
11332
11333 static int
11334 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11335   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11336                                    ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
11337
11338   return offset;
11339 }
11340
11341
11342 static const value_string h245_RequestMultiplexEntryRejectionDescriptionsCause_vals[] = {
11343   {   0, "unspecifiedCause" },
11344   { 0, NULL }
11345 };
11346
11347 static const per_choice_t RequestMultiplexEntryRejectionDescriptionsCause_choice[] = {
11348   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11349   { 0, NULL, 0, NULL }
11350 };
11351
11352 static int
11353 dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11354   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11355                                  ett_h245_RequestMultiplexEntryRejectionDescriptionsCause, RequestMultiplexEntryRejectionDescriptionsCause_choice,
11356                                  NULL);
11357
11358   return offset;
11359 }
11360
11361
11362 static const per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11363   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11364   { &hf_h245_req_mux_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause },
11365   { NULL, 0, 0, NULL }
11366 };
11367
11368 static int
11369 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11370   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11371                                    ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11372
11373   return offset;
11374 }
11375
11376
11377 static const per_sequence_t SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of[1] = {
11378   { &hf_h245_rejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptions },
11379 };
11380
11381 static int
11382 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_) {
11383   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11384                                              ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of,
11385                                              1, 15, FALSE);
11386
11387   return offset;
11388 }
11389
11390
11391 static const per_sequence_t RequestMultiplexEntryReject_sequence[] = {
11392   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11393   { &hf_h245_rejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions },
11394   { NULL, 0, 0, NULL }
11395 };
11396
11397 static int
11398 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11399   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11400                                    ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
11401
11402   return offset;
11403 }
11404
11405
11406 static const value_string h245_Req_mode_ack_response_vals[] = {
11407   {   0, "willTransmitMostPreferredMode" },
11408   {   1, "willTransmitLessPreferredMode" },
11409   { 0, NULL }
11410 };
11411
11412 static const per_choice_t Req_mode_ack_response_choice[] = {
11413   {   0, &hf_h245_willTransmitMostPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11414   {   1, &hf_h245_willTransmitLessPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11415   { 0, NULL, 0, NULL }
11416 };
11417
11418 static int
11419 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_) {
11420   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11421                                  ett_h245_Req_mode_ack_response, Req_mode_ack_response_choice,
11422                                  NULL);
11423
11424   return offset;
11425 }
11426
11427
11428 static const per_sequence_t RequestModeAck_sequence[] = {
11429   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11430   { &hf_h245_req_mode_ack_response, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Req_mode_ack_response },
11431   { NULL, 0, 0, NULL }
11432 };
11433
11434 static int
11435 dissect_h245_RequestModeAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11436   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11437                                    ett_h245_RequestModeAck, RequestModeAck_sequence);
11438
11439   return offset;
11440 }
11441
11442
11443 static const value_string h245_RequestModeRejectCause_vals[] = {
11444   {   0, "modeUnavailable" },
11445   {   1, "multipointConstraint" },
11446   {   2, "requestDenied" },
11447   { 0, NULL }
11448 };
11449
11450 static const per_choice_t RequestModeRejectCause_choice[] = {
11451   {   0, &hf_h245_modeUnavailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11452   {   1, &hf_h245_multipointConstraint, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11453   {   2, &hf_h245_requestDenied  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11454   { 0, NULL, 0, NULL }
11455 };
11456
11457 static int
11458 dissect_h245_RequestModeRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11459   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11460                                  ett_h245_RequestModeRejectCause, RequestModeRejectCause_choice,
11461                                  NULL);
11462
11463   return offset;
11464 }
11465
11466
11467 static const per_sequence_t RequestModeReject_sequence[] = {
11468   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11469   { &hf_h245_req_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestModeRejectCause },
11470   { NULL, 0, 0, NULL }
11471 };
11472
11473 static int
11474 dissect_h245_RequestModeReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11475   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11476                                    ett_h245_RequestModeReject, RequestModeReject_sequence);
11477
11478   return offset;
11479 }
11480
11481
11482 static const per_sequence_t RoundTripDelayResponse_sequence[] = {
11483   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11484   { NULL, 0, 0, NULL }
11485 };
11486
11487 static int
11488 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11489   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11490                                    ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
11491
11492   return offset;
11493 }
11494
11495
11496 static const value_string h245_Mla_type_vals[] = {
11497   {   0, "systemLoop" },
11498   {   1, "mediaLoop" },
11499   {   2, "logicalChannelLoop" },
11500   { 0, NULL }
11501 };
11502
11503 static const per_choice_t Mla_type_choice[] = {
11504   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11505   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11506   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11507   { 0, NULL, 0, NULL }
11508 };
11509
11510 static int
11511 dissect_h245_Mla_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11512   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11513                                  ett_h245_Mla_type, Mla_type_choice,
11514                                  NULL);
11515
11516   return offset;
11517 }
11518
11519
11520 static const per_sequence_t MaintenanceLoopAck_sequence[] = {
11521   { &hf_h245_mla_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mla_type },
11522   { NULL, 0, 0, NULL }
11523 };
11524
11525 static int
11526 dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11527   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11528                                    ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
11529
11530   return offset;
11531 }
11532
11533
11534 static const value_string h245_Mlrej_type_vals[] = {
11535   {   0, "systemLoop" },
11536   {   1, "mediaLoop" },
11537   {   2, "logicalChannelLoop" },
11538   { 0, NULL }
11539 };
11540
11541 static const per_choice_t Mlrej_type_choice[] = {
11542   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11543   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11544   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11545   { 0, NULL, 0, NULL }
11546 };
11547
11548 static int
11549 dissect_h245_Mlrej_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11550   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11551                                  ett_h245_Mlrej_type, Mlrej_type_choice,
11552                                  NULL);
11553
11554   return offset;
11555 }
11556
11557
11558 static const value_string h245_MaintenanceLoopRejectCause_vals[] = {
11559   {   0, "canNotPerformLoop" },
11560   { 0, NULL }
11561 };
11562
11563 static const per_choice_t MaintenanceLoopRejectCause_choice[] = {
11564   {   0, &hf_h245_canNotPerformLoop, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11565   { 0, NULL, 0, NULL }
11566 };
11567
11568 static int
11569 dissect_h245_MaintenanceLoopRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11570   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11571                                  ett_h245_MaintenanceLoopRejectCause, MaintenanceLoopRejectCause_choice,
11572                                  NULL);
11573
11574   return offset;
11575 }
11576
11577
11578 static const per_sequence_t MaintenanceLoopReject_sequence[] = {
11579   { &hf_h245_mlrej_type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlrej_type },
11580   { &hf_h245_maintloop_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaintenanceLoopRejectCause },
11581   { NULL, 0, 0, NULL }
11582 };
11583
11584 static int
11585 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11586   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11587                                    ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
11588
11589   return offset;
11590 }
11591
11592
11593
11594 static int
11595 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_) {
11596   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
11597                                           1, 128, FALSE);
11598
11599   return offset;
11600 }
11601
11602
11603 static const value_string h245_T_entryDataType_vals[] = {
11604   {   0, "videoData" },
11605   {   1, "audioData" },
11606   {   2, "data" },
11607   { 0, NULL }
11608 };
11609
11610 static const per_choice_t T_entryDataType_choice[] = {
11611   {   0, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
11612   {   1, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
11613   {   2, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
11614   { 0, NULL, 0, NULL }
11615 };
11616
11617 static int
11618 dissect_h245_T_entryDataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11619   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11620                                  ett_h245_T_entryDataType, T_entryDataType_choice,
11621                                  NULL);
11622
11623   return offset;
11624 }
11625
11626
11627
11628 static int
11629 dissect_h245_Cm_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11630   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
11631
11632   return offset;
11633 }
11634
11635
11636 static const per_sequence_t CommunicationModeTableEntry_sequence[] = {
11637   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
11638   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
11639   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11640   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11641   { &hf_h245_sessionDescription, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BMPString_SIZE_1_128 },
11642   { &hf_h245_entryDataType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_entryDataType },
11643   { &hf_h245_cm_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Cm_mediaChannel },
11644   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11645   { &hf_h245_cm_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransportAddress },
11646   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11647   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
11648   { &hf_h245_sessionDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11649   { &hf_h245_destination    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11650   { NULL, 0, 0, NULL }
11651 };
11652
11653 static int
11654 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11655   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11656                                    ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
11657
11658   return offset;
11659 }
11660
11661
11662 static const per_sequence_t SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of[1] = {
11663   { &hf_h245_communicationModeTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CommunicationModeTableEntry },
11664 };
11665
11666 static int
11667 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_) {
11668   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11669                                              ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry, SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of,
11670                                              1, 256, FALSE);
11671
11672   return offset;
11673 }
11674
11675
11676 static const value_string h245_CommunicationModeResponse_vals[] = {
11677   {   0, "communicationModeTable" },
11678   { 0, NULL }
11679 };
11680
11681 static const per_choice_t CommunicationModeResponse_choice[] = {
11682   {   0, &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
11683   { 0, NULL, 0, NULL }
11684 };
11685
11686 static int
11687 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11688   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11689                                  ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice,
11690                                  NULL);
11691
11692   return offset;
11693 }
11694
11695
11696
11697 static int
11698 dissect_h245_TerminalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11699   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11700                                        1, 128, FALSE, NULL);
11701
11702   return offset;
11703 }
11704
11705
11706 static const per_sequence_t T_mCTerminalIDResponse_sequence[] = {
11707   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11708   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11709   { NULL, 0, 0, NULL }
11710 };
11711
11712 static int
11713 dissect_h245_T_mCTerminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11714   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11715                                    ett_h245_T_mCTerminalIDResponse, T_mCTerminalIDResponse_sequence);
11716
11717   return offset;
11718 }
11719
11720
11721 static const per_sequence_t T_terminalIDResponse_sequence[] = {
11722   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11723   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11724   { NULL, 0, 0, NULL }
11725 };
11726
11727 static int
11728 dissect_h245_T_terminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11729   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11730                                    ett_h245_T_terminalIDResponse, T_terminalIDResponse_sequence);
11731
11732   return offset;
11733 }
11734
11735
11736
11737 static int
11738 dissect_h245_ConferenceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11739   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11740                                        1, 32, FALSE, NULL);
11741
11742   return offset;
11743 }
11744
11745
11746 static const per_sequence_t T_conferenceIDResponse_sequence[] = {
11747   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11748   { &hf_h245_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConferenceID },
11749   { NULL, 0, 0, NULL }
11750 };
11751
11752 static int
11753 dissect_h245_T_conferenceIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11754   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11755                                    ett_h245_T_conferenceIDResponse, T_conferenceIDResponse_sequence);
11756
11757   return offset;
11758 }
11759
11760
11761
11762 static int
11763 dissect_h245_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11764   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11765                                        1, 32, FALSE, NULL);
11766
11767   return offset;
11768 }
11769
11770
11771 static const per_sequence_t T_passwordResponse_sequence[] = {
11772   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11773   { &hf_h245_password       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Password },
11774   { NULL, 0, 0, NULL }
11775 };
11776
11777 static int
11778 dissect_h245_T_passwordResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11779   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11780                                    ett_h245_T_passwordResponse, T_passwordResponse_sequence);
11781
11782   return offset;
11783 }
11784
11785
11786 static const per_sequence_t SET_SIZE_1_256_OF_TerminalLabel_set_of[1] = {
11787   { &hf_h245_terminalListResponse_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11788 };
11789
11790 static int
11791 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_) {
11792   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11793                                              ett_h245_SET_SIZE_1_256_OF_TerminalLabel, SET_SIZE_1_256_OF_TerminalLabel_set_of,
11794                                              1, 256, FALSE);
11795
11796   return offset;
11797 }
11798
11799
11800 static const value_string h245_T_makeMeChairResponse_vals[] = {
11801   {   0, "grantedChairToken" },
11802   {   1, "deniedChairToken" },
11803   { 0, NULL }
11804 };
11805
11806 static const per_choice_t T_makeMeChairResponse_choice[] = {
11807   {   0, &hf_h245_grantedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11808   {   1, &hf_h245_deniedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11809   { 0, NULL, 0, NULL }
11810 };
11811
11812 static int
11813 dissect_h245_T_makeMeChairResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11814   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11815                                  ett_h245_T_makeMeChairResponse, T_makeMeChairResponse_choice,
11816                                  NULL);
11817
11818   return offset;
11819 }
11820
11821
11822 static const per_sequence_t T_extensionAddressResponse_sequence[] = {
11823   { &hf_h245_extensionAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11824   { NULL, 0, 0, NULL }
11825 };
11826
11827 static int
11828 dissect_h245_T_extensionAddressResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11829   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11830                                    ett_h245_T_extensionAddressResponse, T_extensionAddressResponse_sequence);
11831
11832   return offset;
11833 }
11834
11835
11836 static const per_sequence_t T_chairTokenOwnerResponse_sequence[] = {
11837   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11838   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11839   { NULL, 0, 0, NULL }
11840 };
11841
11842 static int
11843 dissect_h245_T_chairTokenOwnerResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11844   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11845                                    ett_h245_T_chairTokenOwnerResponse, T_chairTokenOwnerResponse_sequence);
11846
11847   return offset;
11848 }
11849
11850
11851 static const per_sequence_t T_terminalCertificateResponse_sequence[] = {
11852   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11853   { &hf_h245_certificateResponse, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_65535 },
11854   { NULL, 0, 0, NULL }
11855 };
11856
11857 static int
11858 dissect_h245_T_terminalCertificateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11859   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11860                                    ett_h245_T_terminalCertificateResponse, T_terminalCertificateResponse_sequence);
11861
11862   return offset;
11863 }
11864
11865
11866 static const value_string h245_T_broadcastMyLogicalChannelResponse_vals[] = {
11867   {   0, "grantedBroadcastMyLogicalChannel" },
11868   {   1, "deniedBroadcastMyLogicalChannel" },
11869   { 0, NULL }
11870 };
11871
11872 static const per_choice_t T_broadcastMyLogicalChannelResponse_choice[] = {
11873   {   0, &hf_h245_grantedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11874   {   1, &hf_h245_deniedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11875   { 0, NULL, 0, NULL }
11876 };
11877
11878 static int
11879 dissect_h245_T_broadcastMyLogicalChannelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11880   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11881                                  ett_h245_T_broadcastMyLogicalChannelResponse, T_broadcastMyLogicalChannelResponse_choice,
11882                                  NULL);
11883
11884   return offset;
11885 }
11886
11887
11888 static const value_string h245_T_makeTerminalBroadcasterResponse_vals[] = {
11889   {   0, "grantedMakeTerminalBroadcaster" },
11890   {   1, "deniedMakeTerminalBroadcaster" },
11891   { 0, NULL }
11892 };
11893
11894 static const per_choice_t T_makeTerminalBroadcasterResponse_choice[] = {
11895   {   0, &hf_h245_grantedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11896   {   1, &hf_h245_deniedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11897   { 0, NULL, 0, NULL }
11898 };
11899
11900 static int
11901 dissect_h245_T_makeTerminalBroadcasterResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11902   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11903                                  ett_h245_T_makeTerminalBroadcasterResponse, T_makeTerminalBroadcasterResponse_choice,
11904                                  NULL);
11905
11906   return offset;
11907 }
11908
11909
11910 static const value_string h245_T_sendThisSourceResponse_vals[] = {
11911   {   0, "grantedSendThisSource" },
11912   {   1, "deniedSendThisSource" },
11913   { 0, NULL }
11914 };
11915
11916 static const per_choice_t T_sendThisSourceResponse_choice[] = {
11917   {   0, &hf_h245_grantedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11918   {   1, &hf_h245_deniedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11919   { 0, NULL, 0, NULL }
11920 };
11921
11922 static int
11923 dissect_h245_T_sendThisSourceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11924   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11925                                  ett_h245_T_sendThisSourceResponse, T_sendThisSourceResponse_choice,
11926                                  NULL);
11927
11928   return offset;
11929 }
11930
11931
11932 static const per_sequence_t TerminalInformation_sequence[] = {
11933   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11934   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11935   { NULL, 0, 0, NULL }
11936 };
11937
11938 static int
11939 dissect_h245_TerminalInformation(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_TerminalInformation, TerminalInformation_sequence);
11942
11943   return offset;
11944 }
11945
11946
11947 static const per_sequence_t SEQUENCE_OF_TerminalInformation_sequence_of[1] = {
11948   { &hf_h245_terminalInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalInformation },
11949 };
11950
11951 static int
11952 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_) {
11953   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
11954                                       ett_h245_SEQUENCE_OF_TerminalInformation, SEQUENCE_OF_TerminalInformation_sequence_of);
11955
11956   return offset;
11957 }
11958
11959
11960 static const per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
11961   { &hf_h245_terminalInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_TerminalInformation },
11962   { NULL, 0, 0, NULL }
11963 };
11964
11965 static int
11966 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11967   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11968                                    ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
11969
11970   return offset;
11971 }
11972
11973
11974 static const value_string h245_T_reject_vals[] = {
11975   {   0, "unspecified" },
11976   {   1, "functionNotSupported" },
11977   { 0, NULL }
11978 };
11979
11980 static const per_choice_t T_reject_choice[] = {
11981   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11982   {   1, &hf_h245_functionNotSupportedFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11983   { 0, NULL, 0, NULL }
11984 };
11985
11986 static int
11987 dissect_h245_T_reject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11988   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11989                                  ett_h245_T_reject, T_reject_choice,
11990                                  NULL);
11991
11992   return offset;
11993 }
11994
11995
11996 static const value_string h245_RemoteMCResponse_vals[] = {
11997   {   0, "accept" },
11998   {   1, "reject" },
11999   { 0, NULL }
12000 };
12001
12002 static const per_choice_t RemoteMCResponse_choice[] = {
12003   {   0, &hf_h245_accept         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12004   {   1, &hf_h245_reject         , ASN1_EXTENSION_ROOT    , dissect_h245_T_reject },
12005   { 0, NULL, 0, NULL }
12006 };
12007
12008 static int
12009 dissect_h245_RemoteMCResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12010   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12011                                  ett_h245_RemoteMCResponse, RemoteMCResponse_choice,
12012                                  NULL);
12013
12014   return offset;
12015 }
12016
12017
12018 static const value_string h245_ConferenceResponse_vals[] = {
12019   {   0, "mCTerminalIDResponse" },
12020   {   1, "terminalIDResponse" },
12021   {   2, "conferenceIDResponse" },
12022   {   3, "passwordResponse" },
12023   {   4, "terminalListResponse" },
12024   {   5, "videoCommandReject" },
12025   {   6, "terminalDropReject" },
12026   {   7, "makeMeChairResponse" },
12027   {   8, "extensionAddressResponse" },
12028   {   9, "chairTokenOwnerResponse" },
12029   {  10, "terminalCertificateResponse" },
12030   {  11, "broadcastMyLogicalChannelResponse" },
12031   {  12, "makeTerminalBroadcasterResponse" },
12032   {  13, "sendThisSourceResponse" },
12033   {  14, "requestAllTerminalIDsResponse" },
12034   {  15, "remoteMCResponse" },
12035   { 0, NULL }
12036 };
12037
12038 static const per_choice_t ConferenceResponse_choice[] = {
12039   {   0, &hf_h245_mCTerminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_mCTerminalIDResponse },
12040   {   1, &hf_h245_terminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_terminalIDResponse },
12041   {   2, &hf_h245_conferenceIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_conferenceIDResponse },
12042   {   3, &hf_h245_passwordResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_passwordResponse },
12043   {   4, &hf_h245_terminalListResponse, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_TerminalLabel },
12044   {   5, &hf_h245_videoCommandReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12045   {   6, &hf_h245_terminalDropReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12046   {   7, &hf_h245_makeMeChairResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_makeMeChairResponse },
12047   {   8, &hf_h245_extensionAddressResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extensionAddressResponse },
12048   {   9, &hf_h245_chairTokenOwnerResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_chairTokenOwnerResponse },
12049   {  10, &hf_h245_terminalCertificateResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_terminalCertificateResponse },
12050   {  11, &hf_h245_broadcastMyLogicalChannelResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_broadcastMyLogicalChannelResponse },
12051   {  12, &hf_h245_makeTerminalBroadcasterResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_makeTerminalBroadcasterResponse },
12052   {  13, &hf_h245_sendThisSourceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_sendThisSourceResponse },
12053   {  14, &hf_h245_requestAllTerminalIDsResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RequestAllTerminalIDsResponse },
12054   {  15, &hf_h245_remoteMCResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCResponse },
12055   { 0, NULL, 0, NULL }
12056 };
12057
12058 static int
12059 dissect_h245_ConferenceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12060   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12061                                  ett_h245_ConferenceResponse, ConferenceResponse_choice,
12062                                  NULL);
12063
12064   return offset;
12065 }
12066
12067
12068 static const per_sequence_t CallInformationResp_sequence[] = {
12069   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
12070   { &hf_h245_callAssociationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
12071   { NULL, 0, 0, NULL }
12072 };
12073
12074 static int
12075 dissect_h245_CallInformationResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12076   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12077                                    ett_h245_CallInformationResp, CallInformationResp_sequence);
12078
12079   return offset;
12080 }
12081
12082
12083 static const value_string h245_T_rejected_vals[] = {
12084   {   0, "connectionsNotAvailable" },
12085   {   1, "userRejected" },
12086   { 0, NULL }
12087 };
12088
12089 static const per_choice_t T_rejected_choice[] = {
12090   {   0, &hf_h245_connectionsNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12091   {   1, &hf_h245_userRejected   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12092   { 0, NULL, 0, NULL }
12093 };
12094
12095 static int
12096 dissect_h245_T_rejected(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12097   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12098                                  ett_h245_T_rejected, T_rejected_choice,
12099                                  NULL);
12100
12101   return offset;
12102 }
12103
12104
12105 static const value_string h245_T_responseCode_vals[] = {
12106   {   0, "accepted" },
12107   {   1, "rejected" },
12108   { 0, NULL }
12109 };
12110
12111 static const per_choice_t T_responseCode_choice[] = {
12112   {   0, &hf_h245_accepted       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12113   {   1, &hf_h245_rejected       , ASN1_EXTENSION_ROOT    , dissect_h245_T_rejected },
12114   { 0, NULL, 0, NULL }
12115 };
12116
12117 static int
12118 dissect_h245_T_responseCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12119   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12120                                  ett_h245_T_responseCode, T_responseCode_choice,
12121                                  NULL);
12122
12123   return offset;
12124 }
12125
12126
12127 static const per_sequence_t AddConnectionResp_sequence[] = {
12128   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12129   { &hf_h245_responseCode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_responseCode },
12130   { NULL, 0, 0, NULL }
12131 };
12132
12133 static int
12134 dissect_h245_AddConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12135   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12136                                    ett_h245_AddConnectionResp, AddConnectionResp_sequence);
12137
12138   return offset;
12139 }
12140
12141
12142 static const per_sequence_t RemoveConnectionResp_sequence[] = {
12143   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
12144   { NULL, 0, 0, NULL }
12145 };
12146
12147 static int
12148 dissect_h245_RemoveConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12149   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12150                                    ett_h245_RemoveConnectionResp, RemoveConnectionResp_sequence);
12151
12152   return offset;
12153 }
12154
12155
12156 static const per_sequence_t MaximumHeaderIntervalResp_sequence[] = {
12157   { &hf_h245_currentInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
12158   { NULL, 0, 0, NULL }
12159 };
12160
12161 static int
12162 dissect_h245_MaximumHeaderIntervalResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12163   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12164                                    ett_h245_MaximumHeaderIntervalResp, MaximumHeaderIntervalResp_sequence);
12165
12166   return offset;
12167 }
12168
12169
12170 static const value_string h245_MultilinkResponse_vals[] = {
12171   {   0, "nonStandard" },
12172   {   1, "callInformation" },
12173   {   2, "addConnection" },
12174   {   3, "removeConnection" },
12175   {   4, "maximumHeaderInterval" },
12176   { 0, NULL }
12177 };
12178
12179 static const per_choice_t MultilinkResponse_choice[] = {
12180   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12181   {   1, &hf_h245_callInformationResp, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationResp },
12182   {   2, &hf_h245_addConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionResp },
12183   {   3, &hf_h245_removeConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionResp },
12184   {   4, &hf_h245_maximumHeaderIntervalResp, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalResp },
12185   { 0, NULL, 0, NULL }
12186 };
12187
12188 static int
12189 dissect_h245_MultilinkResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12190   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12191                                  ett_h245_MultilinkResponse, MultilinkResponse_choice,
12192                                  NULL);
12193
12194   return offset;
12195 }
12196
12197
12198 static const per_sequence_t LogicalChannelRateAcknowledge_sequence[] = {
12199   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12200   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12201   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
12202   { NULL, 0, 0, NULL }
12203 };
12204
12205 static int
12206 dissect_h245_LogicalChannelRateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12207   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12208                                    ett_h245_LogicalChannelRateAcknowledge, LogicalChannelRateAcknowledge_sequence);
12209
12210   return offset;
12211 }
12212
12213
12214 static const value_string h245_LogicalChannelRateRejectReason_vals[] = {
12215   {   0, "undefinedReason" },
12216   {   1, "insufficientResources" },
12217   { 0, NULL }
12218 };
12219
12220 static const per_choice_t LogicalChannelRateRejectReason_choice[] = {
12221   {   0, &hf_h245_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12222   {   1, &hf_h245_insufficientResources, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12223   { 0, NULL, 0, NULL }
12224 };
12225
12226 static int
12227 dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12228   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12229                                  ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice,
12230                                  NULL);
12231
12232   return offset;
12233 }
12234
12235
12236 static const per_sequence_t LogicalChannelRateReject_sequence[] = {
12237   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12238   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12239   { &hf_h245_rejectReason   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelRateRejectReason },
12240   { &hf_h245_currentMaximumBitRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MaximumBitRate },
12241   { NULL, 0, 0, NULL }
12242 };
12243
12244 static int
12245 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12246   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12247                                    ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
12248
12249   return offset;
12250 }
12251
12252
12253 static const value_string h245_ResponseMessage_vals[] = {
12254   { ResponseMessage_nonStandard, "nonStandard" },
12255   { ResponseMessage_masterSlaveDeterminationAck, "masterSlaveDeterminationAck" },
12256   { ResponseMessage_masterSlaveDeterminationReject, "masterSlaveDeterminationReject" },
12257   { ResponseMessage_terminalCapabilitySetAck, "terminalCapabilitySetAck" },
12258   { ResponseMessage_terminalCapabilitySetReject, "terminalCapabilitySetReject" },
12259   { ResponseMessage_openLogicalChannelAck, "openLogicalChannelAck" },
12260   { ResponseMessage_openLogicalChannelReject, "openLogicalChannelReject" },
12261   { ResponseMessage_closeLogicalChannelAck, "closeLogicalChannelAck" },
12262   { ResponseMessage_requestChannelCloseAck, "requestChannelCloseAck" },
12263   { ResponseMessage_requestChannelCloseReject, "requestChannelCloseReject" },
12264   { ResponseMessage_multiplexEntrySendAck, "multiplexEntrySendAck" },
12265   { ResponseMessage_multiplexEntrySendReject, "multiplexEntrySendReject" },
12266   { ResponseMessage_requestMultiplexEntryAck, "requestMultiplexEntryAck" },
12267   { ResponseMessage_requestMultiplexEntryReject, "requestMultiplexEntryReject" },
12268   { ResponseMessage_requestModeAck, "requestModeAck" },
12269   { ResponseMessage_requestModeReject, "requestModeReject" },
12270   { ResponseMessage_roundTripDelayResponse, "roundTripDelayResponse" },
12271   { ResponseMessage_maintenanceLoopAck, "maintenanceLoopAck" },
12272   { ResponseMessage_maintenanceLoopReject, "maintenanceLoopReject" },
12273   { ResponseMessage_communicationModeResponse, "communicationModeResponse" },
12274   { ResponseMessage_conferenceResponse, "conferenceResponse" },
12275   { ResponseMessage_multilinkResponse, "multilinkResponse" },
12276   { ResponseMessage_logicalChannelRateAcknowledge, "logicalChannelRateAcknowledge" },
12277   { ResponseMessage_logicalChannelRateReject, "logicalChannelRateReject" },
12278   { ResponseMessage_genericResponse, "genericResponse" },
12279   { 0, NULL }
12280 };
12281
12282 static const per_choice_t ResponseMessage_choice[] = {
12283   { ResponseMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12284   { ResponseMessage_masterSlaveDeterminationAck, &hf_h245_masterSlaveDeterminationAck, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationAck },
12285   { ResponseMessage_masterSlaveDeterminationReject, &hf_h245_masterSlaveDeterminationReject, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationReject },
12286   { ResponseMessage_terminalCapabilitySetAck, &hf_h245_terminalCapabilitySetAck, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetAck },
12287   { ResponseMessage_terminalCapabilitySetReject, &hf_h245_terminalCapabilitySetReject, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetReject },
12288   { ResponseMessage_openLogicalChannelAck, &hf_h245_openLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelAck },
12289   { ResponseMessage_openLogicalChannelReject, &hf_h245_openLogicalChannelReject, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelReject },
12290   { ResponseMessage_closeLogicalChannelAck, &hf_h245_closeLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannelAck },
12291   { ResponseMessage_requestChannelCloseAck, &hf_h245_requestChannelCloseAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseAck },
12292   { ResponseMessage_requestChannelCloseReject, &hf_h245_requestChannelCloseReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseReject },
12293   { ResponseMessage_multiplexEntrySendAck, &hf_h245_multiplexEntrySendAck, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendAck },
12294   { ResponseMessage_multiplexEntrySendReject, &hf_h245_multiplexEntrySendReject, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendReject },
12295   { ResponseMessage_requestMultiplexEntryAck, &hf_h245_requestMultiplexEntryAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryAck },
12296   { ResponseMessage_requestMultiplexEntryReject, &hf_h245_requestMultiplexEntryReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryReject },
12297   { ResponseMessage_requestModeAck, &hf_h245_requestModeAck , ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeAck },
12298   { ResponseMessage_requestModeReject, &hf_h245_requestModeReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeReject },
12299   { ResponseMessage_roundTripDelayResponse, &hf_h245_roundTripDelayResponse, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayResponse },
12300   { ResponseMessage_maintenanceLoopAck, &hf_h245_maintenanceLoopAck, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopAck },
12301   { ResponseMessage_maintenanceLoopReject, &hf_h245_maintenanceLoopReject, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopReject },
12302   { ResponseMessage_communicationModeResponse, &hf_h245_communicationModeResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeResponse },
12303   { ResponseMessage_conferenceResponse, &hf_h245_conferenceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceResponse },
12304   { ResponseMessage_multilinkResponse, &hf_h245_multilinkResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkResponse },
12305   { ResponseMessage_logicalChannelRateAcknowledge, &hf_h245_logicalChannelRateAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateAcknowledge },
12306   { ResponseMessage_logicalChannelRateReject, &hf_h245_logicalChannelRateReject, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateReject },
12307   { ResponseMessage_genericResponse, &hf_h245_genericResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
12308   { 0, NULL, 0, NULL }
12309 };
12310
12311 static int
12312 dissect_h245_ResponseMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12313 #line 408 "../../asn1/h245/h245.cnf"
12314   gint32 value;
12315
12316   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12317                                  ett_h245_ResponseMessage, ResponseMessage_choice,
12318                                  &value);
12319
12320             if ( h245_shorttypes == TRUE )
12321                 {
12322                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
12323                                 val_to_str(value, h245_ResponseMessage_short_vals, "<unknown>"));
12324                 }
12325                 else
12326                 {
12327                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
12328                                 val_to_str(value, h245_ResponseMessage_vals, "<unknown>"));
12329                 }
12330
12331         col_set_fence(actx->pinfo->cinfo,COL_INFO);
12332
12333         if (h245_pi != NULL){
12334                 /* Add to packet info */
12335                 if ( strlen(h245_pi->frame_label) == 0 ){
12336                    g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_ResponseMessage_short_vals, "UKN"));
12337                 }
12338                 g_strlcat(h245_pi->comment, val_to_str(value, h245_ResponseMessage_vals, "<unknown>"), 50);
12339         }
12340
12341
12342
12343   return offset;
12344 }
12345
12346
12347 static const per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
12348   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
12349 };
12350
12351 static int
12352 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12353   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12354                                    ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
12355
12356   return offset;
12357 }
12358
12359
12360 static const per_sequence_t SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of[1] = {
12361   { &hf_h245_capabilityTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
12362 };
12363
12364 static int
12365 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_) {
12366   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12367                                              ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber, SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of,
12368                                              1, 65535, FALSE);
12369
12370   return offset;
12371 }
12372
12373
12374 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of[1] = {
12375   { &hf_h245_capabilityDescriptorNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
12376 };
12377
12378 static int
12379 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_) {
12380   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12381                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber, SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of,
12382                                              1, 256, FALSE);
12383
12384   return offset;
12385 }
12386
12387
12388 static const per_sequence_t T_specificRequest_sequence[] = {
12389   { &hf_h245_multiplexCapabilityBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12390   { &hf_h245_capabilityTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber },
12391   { &hf_h245_capabilityDescriptorNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber },
12392   { NULL, 0, 0, NULL }
12393 };
12394
12395 static int
12396 dissect_h245_T_specificRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12397   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12398                                    ett_h245_T_specificRequest, T_specificRequest_sequence);
12399
12400   return offset;
12401 }
12402
12403
12404 static const value_string h245_SendTerminalCapabilitySet_vals[] = {
12405   {   0, "specificRequest" },
12406   {   1, "genericRequest" },
12407   { 0, NULL }
12408 };
12409
12410 static const per_choice_t SendTerminalCapabilitySet_choice[] = {
12411   {   0, &hf_h245_specificRequest, ASN1_EXTENSION_ROOT    , dissect_h245_T_specificRequest },
12412   {   1, &hf_h245_genericRequestFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12413   { 0, NULL, 0, NULL }
12414 };
12415
12416 static int
12417 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12418   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12419                                  ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice,
12420                                  NULL);
12421
12422   return offset;
12423 }
12424
12425
12426 static const per_sequence_t T_encryptionAlgorithmID_sequence[] = {
12427   { &hf_h245_h233AlgorithmIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12428   { &hf_h245_associatedAlgorithm, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
12429   { NULL, 0, 0, NULL }
12430 };
12431
12432 static int
12433 dissect_h245_T_encryptionAlgorithmID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12434   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12435                                    ett_h245_T_encryptionAlgorithmID, T_encryptionAlgorithmID_sequence);
12436
12437   return offset;
12438 }
12439
12440
12441 static const value_string h245_EncryptionCommand_vals[] = {
12442   {   0, "encryptionSE" },
12443   {   1, "encryptionIVRequest" },
12444   {   2, "encryptionAlgorithmID" },
12445   { 0, NULL }
12446 };
12447
12448 static const per_choice_t EncryptionCommand_choice[] = {
12449   {   0, &hf_h245_encryptionSE   , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING },
12450   {   1, &hf_h245_encryptionIVRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12451   {   2, &hf_h245_encryptionAlgorithmID, ASN1_EXTENSION_ROOT    , dissect_h245_T_encryptionAlgorithmID },
12452   { 0, NULL, 0, NULL }
12453 };
12454
12455 static int
12456 dissect_h245_EncryptionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12457   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12458                                  ett_h245_EncryptionCommand, EncryptionCommand_choice,
12459                                  NULL);
12460
12461   return offset;
12462 }
12463
12464
12465 static const value_string h245_Scope_vals[] = {
12466   {   0, "logicalChannelNumber" },
12467   {   1, "resourceID" },
12468   {   2, "wholeMultiplex" },
12469   { 0, NULL }
12470 };
12471
12472 static const per_choice_t Scope_choice[] = {
12473   {   0, &hf_h245_logicalChannelNumber, ASN1_NO_EXTENSIONS     , dissect_h245_LogicalChannelNumber },
12474   {   1, &hf_h245_resourceID     , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_65535 },
12475   {   2, &hf_h245_wholeMultiplex , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12476   { 0, NULL, 0, NULL }
12477 };
12478
12479 static int
12480 dissect_h245_Scope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12481   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12482                                  ett_h245_Scope, Scope_choice,
12483                                  NULL);
12484
12485   return offset;
12486 }
12487
12488
12489 static const value_string h245_Restriction_vals[] = {
12490   {   0, "maximumBitRate" },
12491   {   1, "noRestriction" },
12492   { 0, NULL }
12493 };
12494
12495 static const per_choice_t Restriction_choice[] = {
12496   {   0, &hf_h245_res_maximumBitRate, ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_16777215 },
12497   {   1, &hf_h245_noRestriction  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12498   { 0, NULL, 0, NULL }
12499 };
12500
12501 static int
12502 dissect_h245_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12503   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12504                                  ett_h245_Restriction, Restriction_choice,
12505                                  NULL);
12506
12507   return offset;
12508 }
12509
12510
12511 static const per_sequence_t FlowControlCommand_sequence[] = {
12512   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
12513   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
12514   { NULL, 0, 0, NULL }
12515 };
12516
12517 static int
12518 dissect_h245_FlowControlCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12519   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12520                                    ett_h245_FlowControlCommand, FlowControlCommand_sequence);
12521
12522   return offset;
12523 }
12524
12525
12526 static const value_string h245_T_gstnOptions_vals[] = {
12527   {   0, "telephonyMode" },
12528   {   1, "v8bis" },
12529   {   2, "v34DSVD" },
12530   {   3, "v34DuplexFAX" },
12531   {   4, "v34H324" },
12532   { 0, NULL }
12533 };
12534
12535 static const per_choice_t T_gstnOptions_choice[] = {
12536   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12537   {   1, &hf_h245_v8bis          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12538   {   2, &hf_h245_v34DSVD        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12539   {   3, &hf_h245_v34DuplexFAX   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12540   {   4, &hf_h245_v34H324        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12541   { 0, NULL, 0, NULL }
12542 };
12543
12544 static int
12545 dissect_h245_T_gstnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12546   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12547                                  ett_h245_T_gstnOptions, T_gstnOptions_choice,
12548                                  NULL);
12549
12550   return offset;
12551 }
12552
12553
12554 static const value_string h245_T_isdnOptions_vals[] = {
12555   {   0, "telephonyMode" },
12556   {   1, "v140" },
12557   {   2, "terminalOnHold" },
12558   { 0, NULL }
12559 };
12560
12561 static const per_choice_t T_isdnOptions_choice[] = {
12562   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12563   {   1, &hf_h245_v140           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12564   {   2, &hf_h245_terminalOnHold , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12565   { 0, NULL, 0, NULL }
12566 };
12567
12568 static int
12569 dissect_h245_T_isdnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12570   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12571                                  ett_h245_T_isdnOptions, T_isdnOptions_choice,
12572                                  NULL);
12573
12574   return offset;
12575 }
12576
12577
12578 static const value_string h245_EndSessionCommand_vals[] = {
12579   {   0, "nonStandard" },
12580   {   1, "disconnect" },
12581   {   2, "gstnOptions" },
12582   {   3, "isdnOptions" },
12583   {   4, "genericInformation" },
12584   { 0, NULL }
12585 };
12586
12587 static const per_choice_t EndSessionCommand_choice[] = {
12588   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
12589   {   1, &hf_h245_disconnect     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12590   {   2, &hf_h245_gstnOptions    , ASN1_EXTENSION_ROOT    , dissect_h245_T_gstnOptions },
12591   {   3, &hf_h245_isdnOptions    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_isdnOptions },
12592   {   4, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
12593   { 0, NULL, 0, NULL }
12594 };
12595
12596 static int
12597 dissect_h245_EndSessionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12598   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12599                                  ett_h245_EndSessionCommand, EndSessionCommand_choice,
12600                                  NULL);
12601
12602   return offset;
12603 }
12604
12605
12606
12607 static int
12608 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_) {
12609   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12610                                                             0U, 17U, NULL, FALSE);
12611
12612   return offset;
12613 }
12614
12615
12616
12617 static int
12618 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_) {
12619   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12620                                                             1U, 18U, NULL, FALSE);
12621
12622   return offset;
12623 }
12624
12625
12626 static const per_sequence_t T_videoFastUpdateGOB_sequence[] = {
12627   { &hf_h245_firstGOB       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_17 },
12628   { &hf_h245_numberOfGOBs   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_18 },
12629   { NULL, 0, 0, NULL }
12630 };
12631
12632 static int
12633 dissect_h245_T_videoFastUpdateGOB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12634   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12635                                    ett_h245_T_videoFastUpdateGOB, T_videoFastUpdateGOB_sequence);
12636
12637   return offset;
12638 }
12639
12640
12641
12642 static int
12643 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_) {
12644   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12645                                                             0U, 31U, NULL, FALSE);
12646
12647   return offset;
12648 }
12649
12650
12651
12652 static int
12653 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_) {
12654   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12655                                                             1U, 8192U, NULL, FALSE);
12656
12657   return offset;
12658 }
12659
12660
12661 static const per_sequence_t T_videoFastUpdateMB_sequence[] = {
12662   { &hf_h245_firstGOB_0_255 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12663   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_8192 },
12664   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
12665   { NULL, 0, 0, NULL }
12666 };
12667
12668 static int
12669 dissect_h245_T_videoFastUpdateMB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12670   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12671                                    ett_h245_T_videoFastUpdateMB, T_videoFastUpdateMB_sequence);
12672
12673   return offset;
12674 }
12675
12676
12677 static const per_sequence_t KeyProtectionMethod_sequence[] = {
12678   { &hf_h245_secureChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12679   { &hf_h245_sharedSecret   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12680   { &hf_h245_certProtectedKey, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12681   { NULL, 0, 0, NULL }
12682 };
12683
12684 static int
12685 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12686   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12687                                    ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
12688
12689   return offset;
12690 }
12691
12692
12693 static const per_sequence_t EncryptionUpdateRequest_sequence[] = {
12694   { &hf_h245_keyProtectionMethod, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_KeyProtectionMethod },
12695   { &hf_h245_synchFlag      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12696   { NULL, 0, 0, NULL }
12697 };
12698
12699 static int
12700 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12701   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12702                                    ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
12703
12704   return offset;
12705 }
12706
12707
12708 static const value_string h245_T_repeatCount_vals[] = {
12709   {   0, "doOneProgression" },
12710   {   1, "doContinuousProgressions" },
12711   {   2, "doOneIndependentProgression" },
12712   {   3, "doContinuousIndependentProgressions" },
12713   { 0, NULL }
12714 };
12715
12716 static const per_choice_t T_repeatCount_choice[] = {
12717   {   0, &hf_h245_doOneProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12718   {   1, &hf_h245_doContinuousProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12719   {   2, &hf_h245_doOneIndependentProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12720   {   3, &hf_h245_doContinuousIndependentProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12721   { 0, NULL, 0, NULL }
12722 };
12723
12724 static int
12725 dissect_h245_T_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12726   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12727                                  ett_h245_T_repeatCount, T_repeatCount_choice,
12728                                  NULL);
12729
12730   return offset;
12731 }
12732
12733
12734 static const per_sequence_t T_progressiveRefinementStart_sequence[] = {
12735   { &hf_h245_repeatCount    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_repeatCount },
12736   { NULL, 0, 0, NULL }
12737 };
12738
12739 static int
12740 dissect_h245_T_progressiveRefinementStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12741   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12742                                    ett_h245_T_progressiveRefinementStart, T_progressiveRefinementStart_sequence);
12743
12744   return offset;
12745 }
12746
12747
12748
12749 static int
12750 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_) {
12751   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12752                                                             1U, 9216U, NULL, FALSE);
12753
12754   return offset;
12755 }
12756
12757
12758 static const per_sequence_t T_videoBadMBs_sequence[] = {
12759   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12760   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12761   { &hf_h245_temporalReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
12762   { NULL, 0, 0, NULL }
12763 };
12764
12765 static int
12766 dissect_h245_T_videoBadMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12767   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12768                                    ett_h245_T_videoBadMBs, T_videoBadMBs_sequence);
12769
12770   return offset;
12771 }
12772
12773
12774 static const value_string h245_PictureReference_vals[] = {
12775   {   0, "pictureNumber" },
12776   {   1, "longTermPictureIndex" },
12777   { 0, NULL }
12778 };
12779
12780 static const per_choice_t PictureReference_choice[] = {
12781   {   0, &hf_h245_pictureNumber  , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_1023 },
12782   {   1, &hf_h245_longTermPictureIndex, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_255 },
12783   { 0, NULL, 0, NULL }
12784 };
12785
12786 static int
12787 dissect_h245_PictureReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12788   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12789                                  ett_h245_PictureReference, PictureReference_choice,
12790                                  NULL);
12791
12792   return offset;
12793 }
12794
12795
12796 static const per_sequence_t SEQUENCE_OF_PictureReference_sequence_of[1] = {
12797   { &hf_h245_lostPicture_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12798 };
12799
12800 static int
12801 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_) {
12802   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
12803                                       ett_h245_SEQUENCE_OF_PictureReference, SEQUENCE_OF_PictureReference_sequence_of);
12804
12805   return offset;
12806 }
12807
12808
12809 static const per_sequence_t T_lostPartialPicture_sequence[] = {
12810   { &hf_h245_pictureReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12811   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12812   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12813   { NULL, 0, 0, NULL }
12814 };
12815
12816 static int
12817 dissect_h245_T_lostPartialPicture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12818   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12819                                    ett_h245_T_lostPartialPicture, T_lostPartialPicture_sequence);
12820
12821   return offset;
12822 }
12823
12824
12825 static const per_sequence_t T_encryptionUpdateCommand_sequence[] = {
12826   { &hf_h245_encryptionSync , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionSync },
12827   { &hf_h245_multiplePayloadStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplePayloadStream },
12828   { NULL, 0, 0, NULL }
12829 };
12830
12831 static int
12832 dissect_h245_T_encryptionUpdateCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12833   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12834                                    ett_h245_T_encryptionUpdateCommand, T_encryptionUpdateCommand_sequence);
12835
12836   return offset;
12837 }
12838
12839
12840 static const per_sequence_t T_encryptionUpdateAck_sequence[] = {
12841   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
12842   { NULL, 0, 0, NULL }
12843 };
12844
12845 static int
12846 dissect_h245_T_encryptionUpdateAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12847   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12848                                    ett_h245_T_encryptionUpdateAck, T_encryptionUpdateAck_sequence);
12849
12850   return offset;
12851 }
12852
12853
12854 static const value_string h245_Mc_type_vals[] = {
12855   {   0, "equaliseDelay" },
12856   {   1, "zeroDelay" },
12857   {   2, "multipointModeCommand" },
12858   {   3, "cancelMultipointModeCommand" },
12859   {   4, "videoFreezePicture" },
12860   {   5, "videoFastUpdatePicture" },
12861   {   6, "videoFastUpdateGOB" },
12862   {   7, "videoTemporalSpatialTradeOff" },
12863   {   8, "videoSendSyncEveryGOB" },
12864   {   9, "videoSendSyncEveryGOBCancel" },
12865   {  10, "videoFastUpdateMB" },
12866   {  11, "maxH223MUXPDUsize" },
12867   {  12, "encryptionUpdate" },
12868   {  13, "encryptionUpdateRequest" },
12869   {  14, "switchReceiveMediaOff" },
12870   {  15, "switchReceiveMediaOn" },
12871   {  16, "progressiveRefinementStart" },
12872   {  17, "progressiveRefinementAbortOne" },
12873   {  18, "progressiveRefinementAbortContinuous" },
12874   {  19, "videoBadMBs" },
12875   {  20, "lostPicture" },
12876   {  21, "lostPartialPicture" },
12877   {  22, "recoveryReferencePicture" },
12878   {  23, "encryptionUpdateCommand" },
12879   {  24, "encryptionUpdateAck" },
12880   { 0, NULL }
12881 };
12882
12883 static const per_choice_t Mc_type_choice[] = {
12884   {   0, &hf_h245_equaliseDelay  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12885   {   1, &hf_h245_zeroDelay      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12886   {   2, &hf_h245_multipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12887   {   3, &hf_h245_cancelMultipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12888   {   4, &hf_h245_videoFreezePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12889   {   5, &hf_h245_videoFastUpdatePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12890   {   6, &hf_h245_videoFastUpdateGOB, ASN1_EXTENSION_ROOT    , dissect_h245_T_videoFastUpdateGOB },
12891   {   7, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
12892   {   8, &hf_h245_videoSendSyncEveryGOB, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12893   {   9, &hf_h245_videoSendSyncEveryGOBCancel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12894   {  10, &hf_h245_videoFastUpdateMB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoFastUpdateMB },
12895   {  11, &hf_h245_maxH223MUXPDUsize, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_65535 },
12896   {  12, &hf_h245_encryptionUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionSync },
12897   {  13, &hf_h245_encryptionUpdateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionUpdateRequest },
12898   {  14, &hf_h245_switchReceiveMediaOff, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12899   {  15, &hf_h245_switchReceiveMediaOn, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12900   {  16, &hf_h245_progressiveRefinementStart, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_progressiveRefinementStart },
12901   {  17, &hf_h245_progressiveRefinementAbortOne, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12902   {  18, &hf_h245_progressiveRefinementAbortContinuous, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12903   {  19, &hf_h245_videoBadMBs    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoBadMBs },
12904   {  20, &hf_h245_lostPicture    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12905   {  21, &hf_h245_lostPartialPicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_lostPartialPicture },
12906   {  22, &hf_h245_recoveryReferencePicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12907   {  23, &hf_h245_encryptionUpdateCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateCommand },
12908   {  24, &hf_h245_encryptionUpdateAck, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateAck },
12909   { 0, NULL, 0, NULL }
12910 };
12911
12912 static int
12913 dissect_h245_Mc_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12914   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12915                                  ett_h245_Mc_type, Mc_type_choice,
12916                                  NULL);
12917
12918   return offset;
12919 }
12920
12921
12922 static const value_string h245_EncryptionUpdateDirection_vals[] = {
12923   {   0, "masterToSlave" },
12924   {   1, "slaveToMaster" },
12925   { 0, NULL }
12926 };
12927
12928 static const per_choice_t EncryptionUpdateDirection_choice[] = {
12929   {   0, &hf_h245_masterToSlave  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12930   {   1, &hf_h245_slaveToMaster  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12931   { 0, NULL, 0, NULL }
12932 };
12933
12934 static int
12935 dissect_h245_EncryptionUpdateDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12936   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12937                                  ett_h245_EncryptionUpdateDirection, EncryptionUpdateDirection_choice,
12938                                  NULL);
12939
12940   return offset;
12941 }
12942
12943
12944 static const per_sequence_t MiscellaneousCommand_sequence[] = {
12945   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12946   { &hf_h245_mc_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mc_type },
12947   { &hf_h245_direction      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionUpdateDirection },
12948   { NULL, 0, 0, NULL }
12949 };
12950
12951 static int
12952 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12953   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12954                                    ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
12955
12956   return offset;
12957 }
12958
12959
12960 static const per_sequence_t CommunicationModeCommand_sequence[] = {
12961   { &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
12962   { NULL, 0, 0, NULL }
12963 };
12964
12965 static int
12966 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12967   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12968                                    ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
12969
12970   return offset;
12971 }
12972
12973
12974 static const per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
12975   { &hf_h245_conferenceIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
12976   { NULL, 0, 0, NULL }
12977 };
12978
12979 static int
12980 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12981   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12982                                    ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
12983
12984   return offset;
12985 }
12986
12987
12988 static const value_string h245_ConferenceCommand_vals[] = {
12989   {   0, "broadcastMyLogicalChannel" },
12990   {   1, "cancelBroadcastMyLogicalChannel" },
12991   {   2, "makeTerminalBroadcaster" },
12992   {   3, "cancelMakeTerminalBroadcaster" },
12993   {   4, "sendThisSource" },
12994   {   5, "cancelSendThisSource" },
12995   {   6, "dropConference" },
12996   {   7, "substituteConferenceIDCommand" },
12997   { 0, NULL }
12998 };
12999
13000 static const per_choice_t ConferenceCommand_choice[] = {
13001   {   0, &hf_h245_broadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
13002   {   1, &hf_h245_cancelBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
13003   {   2, &hf_h245_makeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13004   {   3, &hf_h245_cancelMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13005   {   4, &hf_h245_sendThisSource , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13006   {   5, &hf_h245_cancelSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13007   {   6, &hf_h245_dropConference , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13008   {   7, &hf_h245_substituteConferenceIDCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SubstituteConferenceIDCommand },
13009   { 0, NULL, 0, NULL }
13010 };
13011
13012 static int
13013 dissect_h245_ConferenceCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13014   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13015                                  ett_h245_ConferenceCommand, ConferenceCommand_choice,
13016                                  NULL);
13017
13018   return offset;
13019 }
13020
13021
13022 static const value_string h245_T_h223ModeChange_vals[] = {
13023   {   0, "toLevel0" },
13024   {   1, "toLevel1" },
13025   {   2, "toLevel2" },
13026   {   3, "toLevel2withOptionalHeader" },
13027   { 0, NULL }
13028 };
13029
13030 static const per_choice_t T_h223ModeChange_choice[] = {
13031   {   0, &hf_h245_toLevel0       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13032   {   1, &hf_h245_toLevel1       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13033   {   2, &hf_h245_toLevel2       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13034   {   3, &hf_h245_toLevel2withOptionalHeader, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13035   { 0, NULL, 0, NULL }
13036 };
13037
13038 static int
13039 dissect_h245_T_h223ModeChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13040   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13041                                  ett_h245_T_h223ModeChange, T_h223ModeChange_choice,
13042                                  NULL);
13043
13044   return offset;
13045 }
13046
13047
13048 static const value_string h245_T_h223AnnexADoubleFlag_vals[] = {
13049   {   0, "start" },
13050   {   1, "stop" },
13051   { 0, NULL }
13052 };
13053
13054 static const per_choice_t T_h223AnnexADoubleFlag_choice[] = {
13055   {   0, &hf_h245_start          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13056   {   1, &hf_h245_stop           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13057   { 0, NULL, 0, NULL }
13058 };
13059
13060 static int
13061 dissect_h245_T_h223AnnexADoubleFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13062   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13063                                  ett_h245_T_h223AnnexADoubleFlag, T_h223AnnexADoubleFlag_choice,
13064                                  NULL);
13065
13066   return offset;
13067 }
13068
13069
13070 static const value_string h245_H223MultiplexReconfiguration_vals[] = {
13071   {   0, "h223ModeChange" },
13072   {   1, "h223AnnexADoubleFlag" },
13073   { 0, NULL }
13074 };
13075
13076 static const per_choice_t H223MultiplexReconfiguration_choice[] = {
13077   {   0, &hf_h245_h223ModeChange , ASN1_EXTENSION_ROOT    , dissect_h245_T_h223ModeChange },
13078   {   1, &hf_h245_h223AnnexADoubleFlag, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223AnnexADoubleFlag },
13079   { 0, NULL, 0, NULL }
13080 };
13081
13082 static int
13083 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13084   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13085                                  ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice,
13086                                  NULL);
13087
13088   return offset;
13089 }
13090
13091
13092 static const value_string h245_Cmd_clockRecovery_vals[] = {
13093   {   0, "nullClockRecovery" },
13094   {   1, "srtsClockRecovery" },
13095   {   2, "adaptiveClockRecovery" },
13096   { 0, NULL }
13097 };
13098
13099 static const per_choice_t Cmd_clockRecovery_choice[] = {
13100   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13101   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13102   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13103   { 0, NULL, 0, NULL }
13104 };
13105
13106 static int
13107 dissect_h245_Cmd_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13108   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13109                                  ett_h245_Cmd_clockRecovery, Cmd_clockRecovery_choice,
13110                                  NULL);
13111
13112   return offset;
13113 }
13114
13115
13116 static const value_string h245_Cmd_errorCorrection_vals[] = {
13117   {   0, "nullErrorCorrection" },
13118   {   1, "longInterleaver" },
13119   {   2, "shortInterleaver" },
13120   {   3, "errorCorrectionOnly" },
13121   { 0, NULL }
13122 };
13123
13124 static const per_choice_t Cmd_errorCorrection_choice[] = {
13125   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13126   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13127   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13128   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13129   { 0, NULL, 0, NULL }
13130 };
13131
13132 static int
13133 dissect_h245_Cmd_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13134   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13135                                  ett_h245_Cmd_errorCorrection, Cmd_errorCorrection_choice,
13136                                  NULL);
13137
13138   return offset;
13139 }
13140
13141
13142 static const per_sequence_t Cmd_aal1_sequence[] = {
13143   { &hf_h245_cmd_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_clockRecovery },
13144   { &hf_h245_cmd_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_errorCorrection },
13145   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13146   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13147   { NULL, 0, 0, NULL }
13148 };
13149
13150 static int
13151 dissect_h245_Cmd_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13152   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13153                                    ett_h245_Cmd_aal1, Cmd_aal1_sequence);
13154
13155   return offset;
13156 }
13157
13158
13159 static const per_sequence_t Cmd_aal5_sequence[] = {
13160   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13161   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13162   { NULL, 0, 0, NULL }
13163 };
13164
13165 static int
13166 dissect_h245_Cmd_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13167   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13168                                    ett_h245_Cmd_aal5, Cmd_aal5_sequence);
13169
13170   return offset;
13171 }
13172
13173
13174 static const value_string h245_Cmd_aal_vals[] = {
13175   {   0, "aal1" },
13176   {   1, "aal5" },
13177   { 0, NULL }
13178 };
13179
13180 static const per_choice_t Cmd_aal_choice[] = {
13181   {   0, &hf_h245_cmd_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal1 },
13182   {   1, &hf_h245_cmd_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal5 },
13183   { 0, NULL, 0, NULL }
13184 };
13185
13186 static int
13187 dissect_h245_Cmd_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13188   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13189                                  ett_h245_Cmd_aal, Cmd_aal_choice,
13190                                  NULL);
13191
13192   return offset;
13193 }
13194
13195
13196 static const value_string h245_Cmd_multiplex_vals[] = {
13197   {   0, "noMultiplex" },
13198   {   1, "transportStream" },
13199   {   2, "programStream" },
13200   { 0, NULL }
13201 };
13202
13203 static const per_choice_t Cmd_multiplex_choice[] = {
13204   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13205   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13206   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13207   { 0, NULL, 0, NULL }
13208 };
13209
13210 static int
13211 dissect_h245_Cmd_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13212   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13213                                  ett_h245_Cmd_multiplex, Cmd_multiplex_choice,
13214                                  NULL);
13215
13216   return offset;
13217 }
13218
13219
13220 static const value_string h245_CmdR_multiplex_vals[] = {
13221   {   0, "noMultiplex" },
13222   {   1, "transportStream" },
13223   {   2, "programStream" },
13224   { 0, NULL }
13225 };
13226
13227 static const per_choice_t CmdR_multiplex_choice[] = {
13228   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13229   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13230   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13231   { 0, NULL, 0, NULL }
13232 };
13233
13234 static int
13235 dissect_h245_CmdR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13236   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13237                                  ett_h245_CmdR_multiplex, CmdR_multiplex_choice,
13238                                  NULL);
13239
13240   return offset;
13241 }
13242
13243
13244 static const per_sequence_t Cmd_reverseParameters_sequence[] = {
13245   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13246   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13247   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13248   { &hf_h245_cmdr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CmdR_multiplex },
13249   { NULL, 0, 0, NULL }
13250 };
13251
13252 static int
13253 dissect_h245_Cmd_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13254   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13255                                    ett_h245_Cmd_reverseParameters, Cmd_reverseParameters_sequence);
13256
13257   return offset;
13258 }
13259
13260
13261 static const per_sequence_t NewATMVCCommand_sequence[] = {
13262   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13263   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13264   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13265   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13266   { &hf_h245_cmd_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_aal },
13267   { &hf_h245_cmd_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_multiplex },
13268   { &hf_h245_cmd_reverseParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_reverseParameters },
13269   { NULL, 0, 0, NULL }
13270 };
13271
13272 static int
13273 dissect_h245_NewATMVCCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13274   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13275                                    ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
13276
13277   return offset;
13278 }
13279
13280
13281 static const value_string h245_T_status_vals[] = {
13282   {   0, "synchronized" },
13283   {   1, "reconfiguration" },
13284   { 0, NULL }
13285 };
13286
13287 static const per_choice_t T_status_choice[] = {
13288   {   0, &hf_h245_synchronized   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13289   {   1, &hf_h245_reconfiguration, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13290   { 0, NULL, 0, NULL }
13291 };
13292
13293 static int
13294 dissect_h245_T_status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13295   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13296                                  ett_h245_T_status, T_status_choice,
13297                                  NULL);
13298
13299   return offset;
13300 }
13301
13302
13303 static const per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
13304   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13305   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13306   { &hf_h245_status         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_status },
13307   { NULL, 0, 0, NULL }
13308 };
13309
13310 static int
13311 dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13312   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13313                                    ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
13314
13315   return offset;
13316 }
13317
13318
13319 static const value_string h245_CommandMessage_vals[] = {
13320   { CommandMessage_nonStandard, "nonStandard" },
13321   { CommandMessage_maintenanceLoopOffCommand, "maintenanceLoopOffCommand" },
13322   { CommandMessage_sendTerminalCapabilitySet, "sendTerminalCapabilitySet" },
13323   { CommandMessage_encryptionCommand, "encryptionCommand" },
13324   { CommandMessage_flowControlCommand, "flowControlCommand" },
13325   { CommandMessage_endSessionCommand, "endSessionCommand" },
13326   { CommandMessage_miscellaneousCommand, "miscellaneousCommand" },
13327   { CommandMessage_communicationModeCommand, "communicationModeCommand" },
13328   { CommandMessage_conferenceCommand, "conferenceCommand" },
13329   { CommandMessage_h223MultiplexReconfiguration, "h223MultiplexReconfiguration" },
13330   { CommandMessage_newATMVCCommand, "newATMVCCommand" },
13331   { CommandMessage_mobileMultilinkReconfigurationCommand, "mobileMultilinkReconfigurationCommand" },
13332   { CommandMessage_genericCommand, "genericCommand" },
13333   { 0, NULL }
13334 };
13335
13336 static const per_choice_t CommandMessage_choice[] = {
13337   { CommandMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
13338   { CommandMessage_maintenanceLoopOffCommand, &hf_h245_maintenanceLoopOffCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopOffCommand },
13339   { CommandMessage_sendTerminalCapabilitySet, &hf_h245_sendTerminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_SendTerminalCapabilitySet },
13340   { CommandMessage_encryptionCommand, &hf_h245_encryptionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionCommand },
13341   { CommandMessage_flowControlCommand, &hf_h245_flowControlCommand, ASN1_EXTENSION_ROOT    , dissect_h245_FlowControlCommand },
13342   { CommandMessage_endSessionCommand, &hf_h245_endSessionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EndSessionCommand },
13343   { CommandMessage_miscellaneousCommand, &hf_h245_miscellaneousCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousCommand },
13344   { CommandMessage_communicationModeCommand, &hf_h245_communicationModeCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeCommand },
13345   { CommandMessage_conferenceCommand, &hf_h245_conferenceCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCommand },
13346   { CommandMessage_h223MultiplexReconfiguration, &hf_h245_h223MultiplexReconfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223MultiplexReconfiguration },
13347   { CommandMessage_newATMVCCommand, &hf_h245_newATMVCCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NewATMVCCommand },
13348   { CommandMessage_mobileMultilinkReconfigurationCommand, &hf_h245_mobileMultilinkReconfigurationCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationCommand },
13349   { CommandMessage_genericCommand, &hf_h245_genericCommand , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
13350   { 0, NULL, 0, NULL }
13351 };
13352
13353 static int
13354 dissect_h245_CommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13355 #line 462 "../../asn1/h245/h245.cnf"
13356   gint32 value;
13357
13358   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13359                                  ett_h245_CommandMessage, CommandMessage_choice,
13360                                  &value);
13361
13362            if ( h245_shorttypes == TRUE )
13363                 {
13364                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
13365                                 val_to_str(value, h245_CommandMessage_short_vals, "<unknown>"));
13366                 }
13367                 else
13368                 {
13369                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
13370                                 val_to_str(value, h245_CommandMessage_vals, "<unknown>"));
13371                 }
13372
13373         col_set_fence(actx->pinfo->cinfo,COL_INFO);
13374     /* Add to packet info */
13375     if (h245_pi != NULL){
13376       if ( strlen(h245_pi->frame_label) == 0 ){
13377         g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_CommandMessage_short_vals, "UKN"));
13378       }
13379           g_strlcat(h245_pi->comment, val_to_str(value, h245_CommandMessage_vals, "<unknown>"), 50);
13380     }
13381
13382
13383
13384   return offset;
13385 }
13386
13387
13388 static const value_string h245_FunctionNotUnderstood_vals[] = {
13389   {   0, "request" },
13390   {   1, "response" },
13391   {   2, "command" },
13392   { 0, NULL }
13393 };
13394
13395 static const per_choice_t FunctionNotUnderstood_choice[] = {
13396   {   0, &hf_h245_request        , ASN1_NO_EXTENSIONS     , dissect_h245_RequestMessage },
13397   {   1, &hf_h245_response       , ASN1_NO_EXTENSIONS     , dissect_h245_ResponseMessage },
13398   {   2, &hf_h245_command        , ASN1_NO_EXTENSIONS     , dissect_h245_CommandMessage },
13399   { 0, NULL, 0, NULL }
13400 };
13401
13402 static int
13403 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13404   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13405                                  ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice,
13406                                  NULL);
13407
13408   return offset;
13409 }
13410
13411
13412 static const per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
13413   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
13414 };
13415
13416 static int
13417 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13418   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13419                                    ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
13420
13421 #line 585 "../../asn1/h245/h245.cnf"
13422
13423 if (h245_pi != NULL)
13424   h245_pi->msg_type = H245_MastSlvDetRls;
13425
13426   return offset;
13427 }
13428
13429
13430 static const per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
13431   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13432   { NULL, 0, 0, NULL }
13433 };
13434
13435 static int
13436 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13437   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13438                                    ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
13439
13440 #line 597 "../../asn1/h245/h245.cnf"
13441
13442 if (h245_pi != NULL)
13443   h245_pi->msg_type = H245_TermCapSetRls;
13444
13445   return offset;
13446 }
13447
13448
13449 static const per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
13450   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13451   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13452   { NULL, 0, 0, NULL }
13453 };
13454
13455 static int
13456 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13457   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13458                                    ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
13459
13460 #line 561 "../../asn1/h245/h245.cnf"
13461
13462 if (h245_pi != NULL)
13463   h245_pi->msg_type = H245_OpenLogChnCnf;
13464
13465   return offset;
13466 }
13467
13468
13469 static const per_sequence_t RequestChannelCloseRelease_sequence[] = {
13470   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13471   { NULL, 0, 0, NULL }
13472 };
13473
13474 static int
13475 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13476   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13477                                    ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
13478
13479   return offset;
13480 }
13481
13482
13483 static const per_sequence_t MultiplexEntrySendRelease_sequence[] = {
13484   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13485   { NULL, 0, 0, NULL }
13486 };
13487
13488 static int
13489 dissect_h245_MultiplexEntrySendRelease(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_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
13492
13493   return offset;
13494 }
13495
13496
13497 static const per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
13498   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13499   { NULL, 0, 0, NULL }
13500 };
13501
13502 static int
13503 dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13504   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13505                                    ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
13506
13507   return offset;
13508 }
13509
13510
13511 static const per_sequence_t RequestModeRelease_sequence[] = {
13512   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
13513 };
13514
13515 static int
13516 dissect_h245_RequestModeRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13517   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13518                                    ett_h245_RequestModeRelease, RequestModeRelease_sequence);
13519
13520   return offset;
13521 }
13522
13523
13524 static const per_sequence_t T_videoNotDecodedMBs_sequence[] = {
13525   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13526   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13527   { &hf_h245_temporalReference_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13528   { NULL, 0, 0, NULL }
13529 };
13530
13531 static int
13532 dissect_h245_T_videoNotDecodedMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13533   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13534                                    ett_h245_T_videoNotDecodedMBs, T_videoNotDecodedMBs_sequence);
13535
13536   return offset;
13537 }
13538
13539
13540 static const value_string h245_Mi_type_vals[] = {
13541   {   0, "logicalChannelActive" },
13542   {   1, "logicalChannelInactive" },
13543   {   2, "multipointConference" },
13544   {   3, "cancelMultipointConference" },
13545   {   4, "multipointZeroComm" },
13546   {   5, "cancelMultipointZeroComm" },
13547   {   6, "multipointSecondaryStatus" },
13548   {   7, "cancelMultipointSecondaryStatus" },
13549   {   8, "videoIndicateReadyToActivate" },
13550   {   9, "videoTemporalSpatialTradeOff" },
13551   {  10, "videoNotDecodedMBs" },
13552   {  11, "transportCapability" },
13553   { 0, NULL }
13554 };
13555
13556 static const per_choice_t Mi_type_choice[] = {
13557   {   0, &hf_h245_logicalChannelActive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13558   {   1, &hf_h245_logicalChannelInactive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13559   {   2, &hf_h245_multipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13560   {   3, &hf_h245_cancelMultipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13561   {   4, &hf_h245_multipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13562   {   5, &hf_h245_cancelMultipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13563   {   6, &hf_h245_multipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13564   {   7, &hf_h245_cancelMultipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13565   {   8, &hf_h245_videoIndicateReadyToActivate, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13566   {   9, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
13567   {  10, &hf_h245_videoNotDecodedMBs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoNotDecodedMBs },
13568   {  11, &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TransportCapability },
13569   { 0, NULL, 0, NULL }
13570 };
13571
13572 static int
13573 dissect_h245_Mi_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13574   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13575                                  ett_h245_Mi_type, Mi_type_choice,
13576                                  NULL);
13577
13578   return offset;
13579 }
13580
13581
13582 static const per_sequence_t MiscellaneousIndication_sequence[] = {
13583   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13584   { &hf_h245_mi_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mi_type },
13585   { NULL, 0, 0, NULL }
13586 };
13587
13588 static int
13589 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13590   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13591                                    ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
13592
13593   return offset;
13594 }
13595
13596
13597
13598 static int
13599 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_) {
13600   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13601                                                             0U, 3U, NULL, FALSE);
13602
13603   return offset;
13604 }
13605
13606
13607
13608 static int
13609 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_) {
13610   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13611                                                             0U, 7U, NULL, FALSE);
13612
13613   return offset;
13614 }
13615
13616
13617 static const per_sequence_t JitterIndication_sequence[] = {
13618   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
13619   { &hf_h245_estimatedReceivedJitterMantissa, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_3 },
13620   { &hf_h245_estimatedReceivedJitterExponent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_7 },
13621   { &hf_h245_skippedFrameCount, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
13622   { &hf_h245_additionalDecoderBuffer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
13623   { NULL, 0, 0, NULL }
13624 };
13625
13626 static int
13627 dissect_h245_JitterIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13628   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13629                                    ett_h245_JitterIndication, JitterIndication_sequence);
13630
13631   return offset;
13632 }
13633
13634
13635 static const per_sequence_t H223SkewIndication_sequence[] = {
13636   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13637   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13638   { &hf_h245_skew           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
13639   { NULL, 0, 0, NULL }
13640 };
13641
13642 static int
13643 dissect_h245_H223SkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13644   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13645                                    ett_h245_H223SkewIndication, H223SkewIndication_sequence);
13646
13647   return offset;
13648 }
13649
13650
13651 static const value_string h245_Ind_clockRecovery_vals[] = {
13652   {   0, "nullClockRecovery" },
13653   {   1, "srtsClockRecovery" },
13654   {   2, "adaptiveClockRecovery" },
13655   { 0, NULL }
13656 };
13657
13658 static const per_choice_t Ind_clockRecovery_choice[] = {
13659   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13660   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13661   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13662   { 0, NULL, 0, NULL }
13663 };
13664
13665 static int
13666 dissect_h245_Ind_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13667   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13668                                  ett_h245_Ind_clockRecovery, Ind_clockRecovery_choice,
13669                                  NULL);
13670
13671   return offset;
13672 }
13673
13674
13675 static const value_string h245_Ind_errorCorrection_vals[] = {
13676   {   0, "nullErrorCorrection" },
13677   {   1, "longInterleaver" },
13678   {   2, "shortInterleaver" },
13679   {   3, "errorCorrectionOnly" },
13680   { 0, NULL }
13681 };
13682
13683 static const per_choice_t Ind_errorCorrection_choice[] = {
13684   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13685   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13686   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13687   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13688   { 0, NULL, 0, NULL }
13689 };
13690
13691 static int
13692 dissect_h245_Ind_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13693   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13694                                  ett_h245_Ind_errorCorrection, Ind_errorCorrection_choice,
13695                                  NULL);
13696
13697   return offset;
13698 }
13699
13700
13701 static const per_sequence_t Ind_aal1_sequence[] = {
13702   { &hf_h245_ind_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_clockRecovery },
13703   { &hf_h245_ind_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_errorCorrection },
13704   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13705   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13706   { NULL, 0, 0, NULL }
13707 };
13708
13709 static int
13710 dissect_h245_Ind_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13711   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13712                                    ett_h245_Ind_aal1, Ind_aal1_sequence);
13713
13714   return offset;
13715 }
13716
13717
13718 static const per_sequence_t Ind_aal5_sequence[] = {
13719   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13720   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13721   { NULL, 0, 0, NULL }
13722 };
13723
13724 static int
13725 dissect_h245_Ind_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13726   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13727                                    ett_h245_Ind_aal5, Ind_aal5_sequence);
13728
13729   return offset;
13730 }
13731
13732
13733 static const value_string h245_Ind_aal_vals[] = {
13734   {   0, "aal1" },
13735   {   1, "aal5" },
13736   { 0, NULL }
13737 };
13738
13739 static const per_choice_t Ind_aal_choice[] = {
13740   {   0, &hf_h245_ind_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal1 },
13741   {   1, &hf_h245_ind_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal5 },
13742   { 0, NULL, 0, NULL }
13743 };
13744
13745 static int
13746 dissect_h245_Ind_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13747   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13748                                  ett_h245_Ind_aal, Ind_aal_choice,
13749                                  NULL);
13750
13751   return offset;
13752 }
13753
13754
13755 static const value_string h245_Ind_multiplex_vals[] = {
13756   {   0, "noMultiplex" },
13757   {   1, "transportStream" },
13758   {   2, "programStream" },
13759   { 0, NULL }
13760 };
13761
13762 static const per_choice_t Ind_multiplex_choice[] = {
13763   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13764   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13765   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13766   { 0, NULL, 0, NULL }
13767 };
13768
13769 static int
13770 dissect_h245_Ind_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13771   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13772                                  ett_h245_Ind_multiplex, Ind_multiplex_choice,
13773                                  NULL);
13774
13775   return offset;
13776 }
13777
13778
13779 static const value_string h245_IndR_multiplex_vals[] = {
13780   {   0, "noMultiplex" },
13781   {   1, "transportStream" },
13782   {   2, "programStream" },
13783   { 0, NULL }
13784 };
13785
13786 static const per_choice_t IndR_multiplex_choice[] = {
13787   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13788   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13789   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13790   { 0, NULL, 0, NULL }
13791 };
13792
13793 static int
13794 dissect_h245_IndR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13795   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13796                                  ett_h245_IndR_multiplex, IndR_multiplex_choice,
13797                                  NULL);
13798
13799   return offset;
13800 }
13801
13802
13803 static const per_sequence_t Ind_reverseParameters_sequence[] = {
13804   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13805   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13806   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13807   { &hf_h245_indr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IndR_multiplex },
13808   { NULL, 0, 0, NULL }
13809 };
13810
13811 static int
13812 dissect_h245_Ind_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13813   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13814                                    ett_h245_Ind_reverseParameters, Ind_reverseParameters_sequence);
13815
13816   return offset;
13817 }
13818
13819
13820 static const per_sequence_t NewATMVCIndication_sequence[] = {
13821   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13822   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13823   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13824   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13825   { &hf_h245_ind_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_aal },
13826   { &hf_h245_ind_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_multiplex },
13827   { &hf_h245_ind_reverseParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Ind_reverseParameters },
13828   { NULL, 0, 0, NULL }
13829 };
13830
13831 static int
13832 dissect_h245_NewATMVCIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13833   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13834                                    ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
13835
13836   return offset;
13837 }
13838
13839
13840 static const value_string h245_T_userInputSupportIndication_vals[] = {
13841   {   0, "nonStandard" },
13842   {   1, "basicString" },
13843   {   2, "iA5String" },
13844   {   3, "generalString" },
13845   {   4, "encryptedBasicString" },
13846   {   5, "encryptedIA5String" },
13847   {   6, "encryptedGeneralString" },
13848   { 0, NULL }
13849 };
13850
13851 static const per_choice_t T_userInputSupportIndication_choice[] = {
13852   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
13853   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13854   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13855   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13856   {   4, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13857   {   5, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13858   {   6, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13859   { 0, NULL, 0, NULL }
13860 };
13861
13862 static int
13863 dissect_h245_T_userInputSupportIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13864   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13865                                  ett_h245_T_userInputSupportIndication, T_userInputSupportIndication_choice,
13866                                  NULL);
13867
13868   return offset;
13869 }
13870
13871
13872
13873 static int
13874 dissect_h245_T_signalType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13875   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
13876                                                       1, 1, FALSE, "0123456789#*ABCD!", 17,
13877                                                       NULL);
13878
13879   return offset;
13880 }
13881
13882
13883 static const per_sequence_t T_rtp_sequence[] = {
13884   { &hf_h245_timestamp      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13885   { &hf_h245_expirationTime , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13886   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13887   { NULL, 0, 0, NULL }
13888 };
13889
13890 static int
13891 dissect_h245_T_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13892   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13893                                    ett_h245_T_rtp, T_rtp_sequence);
13894
13895   return offset;
13896 }
13897
13898
13899
13900 static int
13901 dissect_h245_IV8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13902   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13903                                        8, 8, FALSE, NULL);
13904
13905   return offset;
13906 }
13907
13908
13909
13910 static int
13911 dissect_h245_IV16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13912   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13913                                        16, 16, FALSE, NULL);
13914
13915   return offset;
13916 }
13917
13918
13919 static const per_sequence_t Params_sequence[] = {
13920   { &hf_h245_iv8            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV8 },
13921   { &hf_h245_iv16           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV16 },
13922   { &hf_h245_iv             , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
13923   { NULL, 0, 0, NULL }
13924 };
13925
13926 static int
13927 dissect_h245_Params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13928   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13929                                    ett_h245_Params, Params_sequence);
13930
13931   return offset;
13932 }
13933
13934
13935
13936 static int
13937 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_) {
13938   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13939                                        1, 1, FALSE, NULL);
13940
13941   return offset;
13942 }
13943
13944
13945 static const per_sequence_t T_signal_sequence[] = {
13946   { &hf_h245_signalType     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_signalType },
13947   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_65535 },
13948   { &hf_h245_rtp            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtp },
13949   { &hf_h245_rtpPayloadIndication, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NULL },
13950   { &hf_h245_paramS         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_Params },
13951   { &hf_h245_encryptedSignalType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1 },
13952   { &hf_h245_algorithmOID   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
13953   { NULL, 0, 0, NULL }
13954 };
13955
13956 static int
13957 dissect_h245_T_signal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13958   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13959                                    ett_h245_T_signal, T_signal_sequence);
13960
13961   return offset;
13962 }
13963
13964
13965 static const per_sequence_t Si_rtp_sequence[] = {
13966   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13967   { NULL, 0, 0, NULL }
13968 };
13969
13970 static int
13971 dissect_h245_Si_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13972   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13973                                    ett_h245_Si_rtp, Si_rtp_sequence);
13974
13975   return offset;
13976 }
13977
13978
13979 static const per_sequence_t T_signalUpdate_sequence[] = {
13980   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13981   { &hf_h245_si_rtp         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Si_rtp },
13982   { NULL, 0, 0, NULL }
13983 };
13984
13985 static int
13986 dissect_h245_T_signalUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13987   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13988                                    ett_h245_T_signalUpdate, T_signalUpdate_sequence);
13989
13990   return offset;
13991 }
13992
13993
13994 static const per_sequence_t EncryptedAlphanumeric_sequence[] = {
13995   { &hf_h245_algorithmOID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
13996   { &hf_h245_paramS         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Params },
13997   { &hf_h245_encrypted      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
13998   { NULL, 0, 0, NULL }
13999 };
14000
14001 static int
14002 dissect_h245_EncryptedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14003   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14004                                    ett_h245_EncryptedAlphanumeric, EncryptedAlphanumeric_sequence);
14005
14006   return offset;
14007 }
14008
14009
14010 static const per_sequence_t T_extendedAlphanumeric_sequence[] = {
14011   { &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
14012   { &hf_h245_rtpPayloadIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NULL },
14013   { &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptedAlphanumeric },
14014   { NULL, 0, 0, NULL }
14015 };
14016
14017 static int
14018 dissect_h245_T_extendedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14019   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14020                                    ett_h245_T_extendedAlphanumeric, T_extendedAlphanumeric_sequence);
14021
14022   return offset;
14023 }
14024
14025
14026 static const value_string h245_UserInputIndication_vals[] = {
14027   {   0, "nonStandard" },
14028   {   1, "alphanumeric" },
14029   {   2, "userInputSupportIndication" },
14030   {   3, "signal" },
14031   {   4, "signalUpdate" },
14032   {   5, "extendedAlphanumeric" },
14033   {   6, "encryptedAlphanumeric" },
14034   {   7, "genericInformation" },
14035   { 0, NULL }
14036 };
14037
14038 static const per_choice_t UserInputIndication_choice[] = {
14039   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
14040   {   1, &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , dissect_h245_GeneralString },
14041   {   2, &hf_h245_userInputSupportIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_userInputSupportIndication },
14042   {   3, &hf_h245_signal         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signal },
14043   {   4, &hf_h245_signalUpdate   , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signalUpdate },
14044   {   5, &hf_h245_extendedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extendedAlphanumeric },
14045   {   6, &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptedAlphanumeric },
14046   {   7, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
14047   { 0, NULL, 0, NULL }
14048 };
14049
14050 static int
14051 dissect_h245_UserInputIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14052   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14053                                  ett_h245_UserInputIndication, UserInputIndication_choice,
14054                                  NULL);
14055
14056   return offset;
14057 }
14058
14059
14060 static const per_sequence_t H2250MaximumSkewIndication_sequence[] = {
14061   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
14062   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
14063   { &hf_h245_maximumSkew    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
14064   { NULL, 0, 0, NULL }
14065 };
14066
14067 static int
14068 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14069   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14070                                    ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
14071
14072   return offset;
14073 }
14074
14075
14076 static const per_sequence_t MCLocationIndication_sequence[] = {
14077   { &hf_h245_signalAddress  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TransportAddress },
14078   { NULL, 0, 0, NULL }
14079 };
14080
14081 static int
14082 dissect_h245_MCLocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14083   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14084                                    ett_h245_MCLocationIndication, MCLocationIndication_sequence);
14085
14086   return offset;
14087 }
14088
14089
14090
14091 static int
14092 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_) {
14093   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
14094                                                             0U, 9U, NULL, FALSE);
14095
14096   return offset;
14097 }
14098
14099
14100 static const per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
14101   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
14102   { &hf_h245_subPictureNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
14103   { &hf_h245_mcuNumber      , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
14104   { NULL, 0, 0, NULL }
14105 };
14106
14107 static int
14108 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14109   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14110                                    ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
14111
14112   return offset;
14113 }
14114
14115
14116 static const per_sequence_t VideoIndicateCompose_sequence[] = {
14117   { &hf_h245_compositionNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
14118   { NULL, 0, 0, NULL }
14119 };
14120
14121 static int
14122 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14123   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14124                                    ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
14125
14126   return offset;
14127 }
14128
14129
14130 static const value_string h245_ConferenceIndication_vals[] = {
14131   {   0, "sbeNumber" },
14132   {   1, "terminalNumberAssign" },
14133   {   2, "terminalJoinedConference" },
14134   {   3, "terminalLeftConference" },
14135   {   4, "seenByAtLeastOneOther" },
14136   {   5, "cancelSeenByAtLeastOneOther" },
14137   {   6, "seenByAll" },
14138   {   7, "cancelSeenByAll" },
14139   {   8, "terminalYouAreSeeing" },
14140   {   9, "requestForFloor" },
14141   {  10, "withdrawChairToken" },
14142   {  11, "floorRequested" },
14143   {  12, "terminalYouAreSeeingInSubPictureNumber" },
14144   {  13, "videoIndicateCompose" },
14145   {  14, "masterMCU" },
14146   {  15, "cancelMasterMCU" },
14147   { 0, NULL }
14148 };
14149
14150 static const per_choice_t ConferenceIndication_choice[] = {
14151   {   0, &hf_h245_sbeNumber      , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_9 },
14152   {   1, &hf_h245_terminalNumberAssign, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14153   {   2, &hf_h245_terminalJoinedConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14154   {   3, &hf_h245_terminalLeftConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14155   {   4, &hf_h245_seenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14156   {   5, &hf_h245_cancelSeenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14157   {   6, &hf_h245_seenByAll      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14158   {   7, &hf_h245_cancelSeenByAll, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14159   {   8, &hf_h245_terminalYouAreSeeing, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14160   {   9, &hf_h245_requestForFloor, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14161   {  10, &hf_h245_withdrawChairToken, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14162   {  11, &hf_h245_floorRequested , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
14163   {  12, &hf_h245_terminalYouAreSeeingInSubPictureNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
14164   {  13, &hf_h245_videoIndicateCompose, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VideoIndicateCompose },
14165   {  14, &hf_h245_masterMCU      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14166   {  15, &hf_h245_cancelMasterMCU, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14167   { 0, NULL, 0, NULL }
14168 };
14169
14170 static int
14171 dissect_h245_ConferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14172   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14173                                  ett_h245_ConferenceIndication, ConferenceIndication_choice,
14174                                  NULL);
14175
14176   return offset;
14177 }
14178
14179
14180
14181 static int
14182 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_) {
14183   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14184                                        1, 256, FALSE, NULL);
14185
14186   return offset;
14187 }
14188
14189
14190 static const per_sequence_t VendorIdentification_sequence[] = {
14191   { &hf_h245_vendor         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
14192   { &hf_h245_productNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14193   { &hf_h245_versionNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14194   { NULL, 0, 0, NULL }
14195 };
14196
14197 static int
14198 dissect_h245_VendorIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14199   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14200                                    ett_h245_VendorIdentification, VendorIdentification_sequence);
14201
14202   return offset;
14203 }
14204
14205
14206 static const value_string h245_FunctionNotSupportedCause_vals[] = {
14207   {   0, "syntaxError" },
14208   {   1, "semanticError" },
14209   {   2, "unknownFunction" },
14210   { 0, NULL }
14211 };
14212
14213 static const per_choice_t FunctionNotSupportedCause_choice[] = {
14214   {   0, &hf_h245_syntaxError    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14215   {   1, &hf_h245_semanticError  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14216   {   2, &hf_h245_unknownFunction, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14217   { 0, NULL, 0, NULL }
14218 };
14219
14220 static int
14221 dissect_h245_FunctionNotSupportedCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14222   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14223                                  ett_h245_FunctionNotSupportedCause, FunctionNotSupportedCause_choice,
14224                                  NULL);
14225
14226   return offset;
14227 }
14228
14229
14230
14231 static int
14232 dissect_h245_T_returnedFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14233 #line 994 "../../asn1/h245/h245.cnf"
14234   tvbuff_t *next_tvb = NULL;
14235   proto_item *item;
14236   proto_tree *subtree;
14237   h245_packet_info *saved_h245_pi;
14238
14239   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14240                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
14241
14242
14243  if (next_tvb && tvb_length(next_tvb)) {
14244         saved_h245_pi = h245_pi;
14245         h245_pi = NULL;
14246         item = proto_tree_add_text(tree, next_tvb, 0, -1,"The returned function");
14247         subtree = proto_item_add_subtree(item, ett_h245_returnedFunction);
14248         PROTO_ITEM_SET_GENERATED(item);
14249         dissect_h245_MultimediaSystemControlMessage(next_tvb, 0, actx, subtree, hf_h245_pdu_type);
14250         h245_pi = saved_h245_pi;
14251  }
14252
14253
14254
14255   return offset;
14256 }
14257
14258
14259 static const per_sequence_t FunctionNotSupported_sequence[] = {
14260   { &hf_h245_fns_cause      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FunctionNotSupportedCause },
14261   { &hf_h245_returnedFunction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_returnedFunction },
14262   { NULL, 0, 0, NULL }
14263 };
14264
14265 static int
14266 dissect_h245_FunctionNotSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14267   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14268                                    ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
14269
14270   return offset;
14271 }
14272
14273
14274 static const per_sequence_t T_crcDesired_sequence[] = {
14275   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
14276 };
14277
14278 static int
14279 dissect_h245_T_crcDesired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14280   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14281                                    ett_h245_T_crcDesired, T_crcDesired_sequence);
14282
14283   return offset;
14284 }
14285
14286
14287 static const per_sequence_t T_excessiveError_sequence[] = {
14288   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
14289   { NULL, 0, 0, NULL }
14290 };
14291
14292 static int
14293 dissect_h245_T_excessiveError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14294   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14295                                    ett_h245_T_excessiveError, T_excessiveError_sequence);
14296
14297   return offset;
14298 }
14299
14300
14301 static const value_string h245_MultilinkIndication_vals[] = {
14302   {   0, "nonStandard" },
14303   {   1, "crcDesired" },
14304   {   2, "excessiveError" },
14305   { 0, NULL }
14306 };
14307
14308 static const per_choice_t MultilinkIndication_choice[] = {
14309   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14310   {   1, &hf_h245_crcDesired     , ASN1_EXTENSION_ROOT    , dissect_h245_T_crcDesired },
14311   {   2, &hf_h245_excessiveError , ASN1_EXTENSION_ROOT    , dissect_h245_T_excessiveError },
14312   { 0, NULL, 0, NULL }
14313 };
14314
14315 static int
14316 dissect_h245_MultilinkIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14317   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14318                                  ett_h245_MultilinkIndication, MultilinkIndication_choice,
14319                                  NULL);
14320
14321   return offset;
14322 }
14323
14324
14325 static const per_sequence_t LogicalChannelRateRelease_sequence[] = {
14326   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
14327 };
14328
14329 static int
14330 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14331   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14332                                    ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
14333
14334   return offset;
14335 }
14336
14337
14338 static const per_sequence_t FlowControlIndication_sequence[] = {
14339   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
14340   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
14341   { NULL, 0, 0, NULL }
14342 };
14343
14344 static int
14345 dissect_h245_FlowControlIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14346   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14347                                    ett_h245_FlowControlIndication, FlowControlIndication_sequence);
14348
14349   return offset;
14350 }
14351
14352
14353 static const per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
14354   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14355   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14356   { NULL, 0, 0, NULL }
14357 };
14358
14359 static int
14360 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14361   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14362                                    ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
14363
14364   return offset;
14365 }
14366
14367
14368 static const value_string h245_IndicationMessage_vals[] = {
14369   { IndicationMessage_nonStandard, "nonStandard" },
14370   { IndicationMessage_functionNotUnderstood, "functionNotUnderstood" },
14371   { IndicationMessage_masterSlaveDeterminationRelease, "masterSlaveDeterminationRelease" },
14372   { IndicationMessage_terminalCapabilitySetRelease, "terminalCapabilitySetRelease" },
14373   { IndicationMessage_openLogicalChannelConfirm, "openLogicalChannelConfirm" },
14374   { IndicationMessage_requestChannelCloseRelease, "requestChannelCloseRelease" },
14375   { IndicationMessage_multiplexEntrySendRelease, "multiplexEntrySendRelease" },
14376   { IndicationMessage_requestMultiplexEntryRelease, "requestMultiplexEntryRelease" },
14377   { IndicationMessage_requestModeRelease, "requestModeRelease" },
14378   { IndicationMessage_miscellaneousIndication, "miscellaneousIndication" },
14379   { IndicationMessage_jitterIndication, "jitterIndication" },
14380   { IndicationMessage_h223SkewIndication, "h223SkewIndication" },
14381   { IndicationMessage_newATMVCIndication, "newATMVCIndication" },
14382   { IndicationMessage_userInput, "userInput" },
14383   { IndicationMessage_h2250MaximumSkewIndication, "h2250MaximumSkewIndication" },
14384   { IndicationMessage_mcLocationIndication, "mcLocationIndication" },
14385   { IndicationMessage_conferenceIndication, "conferenceIndication" },
14386   { IndicationMessage_vendorIdentification, "vendorIdentification" },
14387   { IndicationMessage_functionNotSupported, "functionNotSupported" },
14388   { IndicationMessage_multilinkIndication, "multilinkIndication" },
14389   { IndicationMessage_logicalChannelRateRelease, "logicalChannelRateRelease" },
14390   { IndicationMessage_flowControlIndication, "flowControlIndication" },
14391   { IndicationMessage_mobileMultilinkReconfigurationIndication, "mobileMultilinkReconfigurationIndication" },
14392   { IndicationMessage_genericIndication, "genericIndication" },
14393   { 0, NULL }
14394 };
14395
14396 static const per_choice_t IndicationMessage_choice[] = {
14397   { IndicationMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14398   { IndicationMessage_functionNotUnderstood, &hf_h245_functionNotUnderstood, ASN1_EXTENSION_ROOT    , dissect_h245_FunctionNotUnderstood },
14399   { IndicationMessage_masterSlaveDeterminationRelease, &hf_h245_masterSlaveDeterminationRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationRelease },
14400   { IndicationMessage_terminalCapabilitySetRelease, &hf_h245_terminalCapabilitySetRelease, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetRelease },
14401   { IndicationMessage_openLogicalChannelConfirm, &hf_h245_openLogicalChannelConfirm, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelConfirm },
14402   { IndicationMessage_requestChannelCloseRelease, &hf_h245_requestChannelCloseRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseRelease },
14403   { IndicationMessage_multiplexEntrySendRelease, &hf_h245_multiplexEntrySendRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendRelease },
14404   { IndicationMessage_requestMultiplexEntryRelease, &hf_h245_requestMultiplexEntryRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryRelease },
14405   { IndicationMessage_requestModeRelease, &hf_h245_requestModeRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeRelease },
14406   { IndicationMessage_miscellaneousIndication, &hf_h245_miscellaneousIndication, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousIndication },
14407   { IndicationMessage_jitterIndication, &hf_h245_jitterIndication, ASN1_EXTENSION_ROOT    , dissect_h245_JitterIndication },
14408   { IndicationMessage_h223SkewIndication, &hf_h245_h223SkewIndication, ASN1_EXTENSION_ROOT    , dissect_h245_H223SkewIndication },
14409   { IndicationMessage_newATMVCIndication, &hf_h245_newATMVCIndication, ASN1_EXTENSION_ROOT    , dissect_h245_NewATMVCIndication },
14410   { IndicationMessage_userInput, &hf_h245_userInput      , ASN1_EXTENSION_ROOT    , dissect_h245_UserInputIndication },
14411   { IndicationMessage_h2250MaximumSkewIndication, &hf_h245_h2250MaximumSkewIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250MaximumSkewIndication },
14412   { IndicationMessage_mcLocationIndication, &hf_h245_mcLocationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MCLocationIndication },
14413   { IndicationMessage_conferenceIndication, &hf_h245_conferenceIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceIndication },
14414   { IndicationMessage_vendorIdentification, &hf_h245_vendorIdentification, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VendorIdentification },
14415   { IndicationMessage_functionNotSupported, &hf_h245_functionNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FunctionNotSupported },
14416   { IndicationMessage_multilinkIndication, &hf_h245_multilinkIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkIndication },
14417   { IndicationMessage_logicalChannelRateRelease, &hf_h245_logicalChannelRateRelease, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRelease },
14418   { IndicationMessage_flowControlIndication, &hf_h245_flowControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FlowControlIndication },
14419   { IndicationMessage_mobileMultilinkReconfigurationIndication, &hf_h245_mobileMultilinkReconfigurationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationIndication },
14420   { IndicationMessage_genericIndication, &hf_h245_genericIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
14421   { 0, NULL, 0, NULL }
14422 };
14423
14424 static int
14425 dissect_h245_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14426 #line 435 "../../asn1/h245/h245.cnf"
14427   gint32 value;
14428
14429   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14430                                  ett_h245_IndicationMessage, IndicationMessage_choice,
14431                                  &value);
14432
14433         if ( h245_shorttypes == TRUE )
14434                 {
14435                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
14436                                 val_to_str(value, h245_IndicationMessage_short_vals, "<unknown>"));
14437                 }
14438                 else
14439                 {
14440                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
14441                                 val_to_str(value, h245_IndicationMessage_vals, "<unknown>"));
14442                 }
14443
14444         col_set_fence(actx->pinfo->cinfo,COL_INFO);
14445     /* Add to packet info */
14446     if (h245_pi  !=NULL){
14447       if ( strlen(h245_pi->frame_label) == 0 ){
14448             g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_IndicationMessage_short_vals, "UKN"));
14449           }
14450       g_strlcat(h245_pi->comment, val_to_str(value, h245_IndicationMessage_vals, "<unknown>"), 50);
14451
14452     }
14453
14454
14455
14456   return offset;
14457 }
14458
14459
14460 static const value_string h245_MultimediaSystemControlMessage_vals[] = {
14461   {   0, "request" },
14462   {   1, "response" },
14463   {   2, "command" },
14464   {   3, "indication" },
14465   { 0, NULL }
14466 };
14467
14468 static const per_choice_t MultimediaSystemControlMessage_choice[] = {
14469   {   0, &hf_h245_request        , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMessage },
14470   {   1, &hf_h245_response       , ASN1_EXTENSION_ROOT    , dissect_h245_ResponseMessage },
14471   {   2, &hf_h245_command        , ASN1_EXTENSION_ROOT    , dissect_h245_CommandMessage },
14472   {   3, &hf_h245_indication     , ASN1_EXTENSION_ROOT    , dissect_h245_IndicationMessage },
14473   { 0, NULL, 0, NULL }
14474 };
14475
14476 static int
14477 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14478   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14479                                  ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice,
14480                                  NULL);
14481
14482   return offset;
14483 }
14484
14485 /*--- PDUs ---*/
14486
14487 static void dissect_OpenLogicalChannel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
14488   asn1_ctx_t asn1_ctx;
14489   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14490   dissect_h245_OpenLogicalChannel(tvb, 0, &asn1_ctx, tree, hf_h245_OpenLogicalChannel_PDU);
14491 }
14492
14493
14494 /*--- End of included file: packet-h245-fn.c ---*/
14495 #line 403 "../../asn1/h245/packet-h245-template.c"
14496
14497 static void
14498 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
14499 {
14500         /*
14501          * MultimediaSystemControlMessage_handle is the handle for
14502          * dissect_h245_h245, so we don't want to do any h245_pi or tap stuff here.
14503          */
14504         dissect_tpkt_encap(tvb, pinfo, parent_tree, h245_reassembly, MultimediaSystemControlMessage_handle);
14505 }
14506
14507
14508 static void
14509 dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
14510 {
14511         proto_item *it;
14512         proto_tree *tr;
14513         guint32 offset=0;
14514         asn1_ctx_t asn1_ctx;
14515
14516         fast_start = FALSE;
14517         /* Clean up from any previous packet dissection */
14518         upcoming_olc = NULL;
14519         upcoming_channel = NULL;
14520         codec_type = NULL;
14521
14522         col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
14523
14524         it=proto_tree_add_protocol_format(parent_tree, proto_h245, tvb, 0, tvb_length(tvb), PSNAME);
14525         tr=proto_item_add_subtree(it, ett_h245);
14526
14527         /* assume that whilst there is more tvb data, there are more h245 commands */
14528         while ( tvb_length_remaining( tvb, offset>>3 )>0 ){
14529                 CLEANUP_PUSH(reset_h245_pi, NULL);
14530                 h245_pi=ep_alloc(sizeof(h245_packet_info));
14531                 init_h245_packet_info(h245_pi);
14532                 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14533                 offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, &asn1_ctx, tr, hf_h245_pdu_type);
14534                 tap_queue_packet(h245dg_tap, pinfo, h245_pi);
14535                 offset = (offset+0x07) & 0xfffffff8;
14536                 CLEANUP_CALL_AND_POP;
14537         }
14538 }
14539
14540 void
14541 dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str) {
14542
14543   fast_start = TRUE;
14544   /* Clean up from any previous packet dissection */
14545   upcoming_olc = NULL;
14546   upcoming_channel = NULL;
14547   codec_type = NULL;
14548
14549   dissect_OpenLogicalChannel_PDU(tvb, pinfo, tree);
14550
14551   if (h245_pi != NULL)
14552           h245_pi->msg_type = H245_OpenLogChn;
14553
14554   if (codec_str && codec_type){
14555         g_strlcpy(codec_str, codec_type, 50);
14556   }
14557
14558 }
14559
14560 /*--- proto_register_h245 -------------------------------------------*/
14561 void proto_register_h245(void) {
14562
14563   /* List of fields */
14564   static hf_register_info hf[] = {
14565     { &hf_h245_pdu_type,
14566  { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
14567                 VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
14568         { &hf_h245Manufacturer,
14569                 { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
14570                 VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
14571     { &hf_h245_subMessageIdentifier_standard,
14572       { "subMessageIdentifier", "h245.subMessageIdentifier.standard",
14573         FT_UINT32, BASE_DEC, VALS(h245_h239subMessageIdentifier_vals), 0,
14574         NULL, HFILL }},
14575
14576
14577 /*--- Included file: packet-h245-hfarr.c ---*/
14578 #line 1 "../../asn1/h245/packet-h245-hfarr.c"
14579     { &hf_h245_OpenLogicalChannel_PDU,
14580       { "OpenLogicalChannel", "h245.OpenLogicalChannel",
14581         FT_NONE, BASE_NONE, NULL, 0,
14582         NULL, HFILL }},
14583     { &hf_h245_request,
14584       { "request", "h245.request",
14585         FT_UINT32, BASE_DEC, VALS(h245_RequestMessage_vals), 0,
14586         "RequestMessage", HFILL }},
14587     { &hf_h245_response,
14588       { "response", "h245.response",
14589         FT_UINT32, BASE_DEC, VALS(h245_ResponseMessage_vals), 0,
14590         "ResponseMessage", HFILL }},
14591     { &hf_h245_command,
14592       { "command", "h245.command",
14593         FT_UINT32, BASE_DEC, VALS(h245_CommandMessage_vals), 0,
14594         "CommandMessage", HFILL }},
14595     { &hf_h245_indication,
14596       { "indication", "h245.indication",
14597         FT_UINT32, BASE_DEC, VALS(h245_IndicationMessage_vals), 0,
14598         "IndicationMessage", HFILL }},
14599     { &hf_h245_nonStandardMsg,
14600       { "nonStandard", "h245.nonStandard",
14601         FT_NONE, BASE_NONE, NULL, 0,
14602         "NonStandardMessage", HFILL }},
14603     { &hf_h245_masterSlaveDetermination,
14604       { "masterSlaveDetermination", "h245.masterSlaveDetermination",
14605         FT_NONE, BASE_NONE, NULL, 0,
14606         NULL, HFILL }},
14607     { &hf_h245_terminalCapabilitySet,
14608       { "terminalCapabilitySet", "h245.terminalCapabilitySet",
14609         FT_NONE, BASE_NONE, NULL, 0,
14610         NULL, HFILL }},
14611     { &hf_h245_openLogicalChannel,
14612       { "openLogicalChannel", "h245.openLogicalChannel",
14613         FT_NONE, BASE_NONE, NULL, 0,
14614         NULL, HFILL }},
14615     { &hf_h245_closeLogicalChannel,
14616       { "closeLogicalChannel", "h245.closeLogicalChannel",
14617         FT_NONE, BASE_NONE, NULL, 0,
14618         NULL, HFILL }},
14619     { &hf_h245_requestChannelClose,
14620       { "requestChannelClose", "h245.requestChannelClose",
14621         FT_NONE, BASE_NONE, NULL, 0,
14622         NULL, HFILL }},
14623     { &hf_h245_multiplexEntrySend,
14624       { "multiplexEntrySend", "h245.multiplexEntrySend",
14625         FT_NONE, BASE_NONE, NULL, 0,
14626         NULL, HFILL }},
14627     { &hf_h245_requestMultiplexEntry,
14628       { "requestMultiplexEntry", "h245.requestMultiplexEntry",
14629         FT_NONE, BASE_NONE, NULL, 0,
14630         NULL, HFILL }},
14631     { &hf_h245_requestMode,
14632       { "requestMode", "h245.requestMode",
14633         FT_NONE, BASE_NONE, NULL, 0,
14634         NULL, HFILL }},
14635     { &hf_h245_roundTripDelayRequest,
14636       { "roundTripDelayRequest", "h245.roundTripDelayRequest",
14637         FT_NONE, BASE_NONE, NULL, 0,
14638         NULL, HFILL }},
14639     { &hf_h245_maintenanceLoopRequest,
14640       { "maintenanceLoopRequest", "h245.maintenanceLoopRequest",
14641         FT_NONE, BASE_NONE, NULL, 0,
14642         NULL, HFILL }},
14643     { &hf_h245_communicationModeRequest,
14644       { "communicationModeRequest", "h245.communicationModeRequest",
14645         FT_NONE, BASE_NONE, NULL, 0,
14646         NULL, HFILL }},
14647     { &hf_h245_conferenceRequest,
14648       { "conferenceRequest", "h245.conferenceRequest",
14649         FT_UINT32, BASE_DEC, VALS(h245_ConferenceRequest_vals), 0,
14650         NULL, HFILL }},
14651     { &hf_h245_multilinkRequest,
14652       { "multilinkRequest", "h245.multilinkRequest",
14653         FT_UINT32, BASE_DEC, VALS(h245_MultilinkRequest_vals), 0,
14654         NULL, HFILL }},
14655     { &hf_h245_logicalChannelRateRequest,
14656       { "logicalChannelRateRequest", "h245.logicalChannelRateRequest",
14657         FT_NONE, BASE_NONE, NULL, 0,
14658         NULL, HFILL }},
14659     { &hf_h245_genericRequest,
14660       { "genericRequest", "h245.genericRequest",
14661         FT_NONE, BASE_NONE, NULL, 0,
14662         "GenericMessage", HFILL }},
14663     { &hf_h245_masterSlaveDeterminationAck,
14664       { "masterSlaveDeterminationAck", "h245.masterSlaveDeterminationAck",
14665         FT_NONE, BASE_NONE, NULL, 0,
14666         NULL, HFILL }},
14667     { &hf_h245_masterSlaveDeterminationReject,
14668       { "masterSlaveDeterminationReject", "h245.masterSlaveDeterminationReject",
14669         FT_NONE, BASE_NONE, NULL, 0,
14670         NULL, HFILL }},
14671     { &hf_h245_terminalCapabilitySetAck,
14672       { "terminalCapabilitySetAck", "h245.terminalCapabilitySetAck",
14673         FT_NONE, BASE_NONE, NULL, 0,
14674         NULL, HFILL }},
14675     { &hf_h245_terminalCapabilitySetReject,
14676       { "terminalCapabilitySetReject", "h245.terminalCapabilitySetReject",
14677         FT_NONE, BASE_NONE, NULL, 0,
14678         NULL, HFILL }},
14679     { &hf_h245_openLogicalChannelAck,
14680       { "openLogicalChannelAck", "h245.openLogicalChannelAck",
14681         FT_NONE, BASE_NONE, NULL, 0,
14682         NULL, HFILL }},
14683     { &hf_h245_openLogicalChannelReject,
14684       { "openLogicalChannelReject", "h245.openLogicalChannelReject",
14685         FT_NONE, BASE_NONE, NULL, 0,
14686         NULL, HFILL }},
14687     { &hf_h245_closeLogicalChannelAck,
14688       { "closeLogicalChannelAck", "h245.closeLogicalChannelAck",
14689         FT_NONE, BASE_NONE, NULL, 0,
14690         NULL, HFILL }},
14691     { &hf_h245_requestChannelCloseAck,
14692       { "requestChannelCloseAck", "h245.requestChannelCloseAck",
14693         FT_NONE, BASE_NONE, NULL, 0,
14694         NULL, HFILL }},
14695     { &hf_h245_requestChannelCloseReject,
14696       { "requestChannelCloseReject", "h245.requestChannelCloseReject",
14697         FT_NONE, BASE_NONE, NULL, 0,
14698         NULL, HFILL }},
14699     { &hf_h245_multiplexEntrySendAck,
14700       { "multiplexEntrySendAck", "h245.multiplexEntrySendAck",
14701         FT_NONE, BASE_NONE, NULL, 0,
14702         NULL, HFILL }},
14703     { &hf_h245_multiplexEntrySendReject,
14704       { "multiplexEntrySendReject", "h245.multiplexEntrySendReject",
14705         FT_NONE, BASE_NONE, NULL, 0,
14706         NULL, HFILL }},
14707     { &hf_h245_requestMultiplexEntryAck,
14708       { "requestMultiplexEntryAck", "h245.requestMultiplexEntryAck",
14709         FT_NONE, BASE_NONE, NULL, 0,
14710         NULL, HFILL }},
14711     { &hf_h245_requestMultiplexEntryReject,
14712       { "requestMultiplexEntryReject", "h245.requestMultiplexEntryReject",
14713         FT_NONE, BASE_NONE, NULL, 0,
14714         NULL, HFILL }},
14715     { &hf_h245_requestModeAck,
14716       { "requestModeAck", "h245.requestModeAck",
14717         FT_NONE, BASE_NONE, NULL, 0,
14718         NULL, HFILL }},
14719     { &hf_h245_requestModeReject,
14720       { "requestModeReject", "h245.requestModeReject",
14721         FT_NONE, BASE_NONE, NULL, 0,
14722         NULL, HFILL }},
14723     { &hf_h245_roundTripDelayResponse,
14724       { "roundTripDelayResponse", "h245.roundTripDelayResponse",
14725         FT_NONE, BASE_NONE, NULL, 0,
14726         NULL, HFILL }},
14727     { &hf_h245_maintenanceLoopAck,
14728       { "maintenanceLoopAck", "h245.maintenanceLoopAck",
14729         FT_NONE, BASE_NONE, NULL, 0,
14730         NULL, HFILL }},
14731     { &hf_h245_maintenanceLoopReject,
14732       { "maintenanceLoopReject", "h245.maintenanceLoopReject",
14733         FT_NONE, BASE_NONE, NULL, 0,
14734         NULL, HFILL }},
14735     { &hf_h245_communicationModeResponse,
14736       { "communicationModeResponse", "h245.communicationModeResponse",
14737         FT_UINT32, BASE_DEC, VALS(h245_CommunicationModeResponse_vals), 0,
14738         NULL, HFILL }},
14739     { &hf_h245_conferenceResponse,
14740       { "conferenceResponse", "h245.conferenceResponse",
14741         FT_UINT32, BASE_DEC, VALS(h245_ConferenceResponse_vals), 0,
14742         NULL, HFILL }},
14743     { &hf_h245_multilinkResponse,
14744       { "multilinkResponse", "h245.multilinkResponse",
14745         FT_UINT32, BASE_DEC, VALS(h245_MultilinkResponse_vals), 0,
14746         NULL, HFILL }},
14747     { &hf_h245_logicalChannelRateAcknowledge,
14748       { "logicalChannelRateAcknowledge", "h245.logicalChannelRateAcknowledge",
14749         FT_NONE, BASE_NONE, NULL, 0,
14750         NULL, HFILL }},
14751     { &hf_h245_logicalChannelRateReject,
14752       { "logicalChannelRateReject", "h245.logicalChannelRateReject",
14753         FT_NONE, BASE_NONE, NULL, 0,
14754         NULL, HFILL }},
14755     { &hf_h245_genericResponse,
14756       { "genericResponse", "h245.genericResponse",
14757         FT_NONE, BASE_NONE, NULL, 0,
14758         "GenericMessage", HFILL }},
14759     { &hf_h245_maintenanceLoopOffCommand,
14760       { "maintenanceLoopOffCommand", "h245.maintenanceLoopOffCommand",
14761         FT_NONE, BASE_NONE, NULL, 0,
14762         NULL, HFILL }},
14763     { &hf_h245_sendTerminalCapabilitySet,
14764       { "sendTerminalCapabilitySet", "h245.sendTerminalCapabilitySet",
14765         FT_UINT32, BASE_DEC, VALS(h245_SendTerminalCapabilitySet_vals), 0,
14766         NULL, HFILL }},
14767     { &hf_h245_encryptionCommand,
14768       { "encryptionCommand", "h245.encryptionCommand",
14769         FT_UINT32, BASE_DEC, VALS(h245_EncryptionCommand_vals), 0,
14770         NULL, HFILL }},
14771     { &hf_h245_flowControlCommand,
14772       { "flowControlCommand", "h245.flowControlCommand",
14773         FT_NONE, BASE_NONE, NULL, 0,
14774         NULL, HFILL }},
14775     { &hf_h245_endSessionCommand,
14776       { "endSessionCommand", "h245.endSessionCommand",
14777         FT_UINT32, BASE_DEC, VALS(h245_EndSessionCommand_vals), 0,
14778         NULL, HFILL }},
14779     { &hf_h245_miscellaneousCommand,
14780       { "miscellaneousCommand", "h245.miscellaneousCommand",
14781         FT_NONE, BASE_NONE, NULL, 0,
14782         NULL, HFILL }},
14783     { &hf_h245_communicationModeCommand,
14784       { "communicationModeCommand", "h245.communicationModeCommand",
14785         FT_NONE, BASE_NONE, NULL, 0,
14786         NULL, HFILL }},
14787     { &hf_h245_conferenceCommand,
14788       { "conferenceCommand", "h245.conferenceCommand",
14789         FT_UINT32, BASE_DEC, VALS(h245_ConferenceCommand_vals), 0,
14790         NULL, HFILL }},
14791     { &hf_h245_h223MultiplexReconfiguration,
14792       { "h223MultiplexReconfiguration", "h245.h223MultiplexReconfiguration",
14793         FT_UINT32, BASE_DEC, VALS(h245_H223MultiplexReconfiguration_vals), 0,
14794         NULL, HFILL }},
14795     { &hf_h245_newATMVCCommand,
14796       { "newATMVCCommand", "h245.newATMVCCommand",
14797         FT_NONE, BASE_NONE, NULL, 0,
14798         NULL, HFILL }},
14799     { &hf_h245_mobileMultilinkReconfigurationCommand,
14800       { "mobileMultilinkReconfigurationCommand", "h245.mobileMultilinkReconfigurationCommand",
14801         FT_NONE, BASE_NONE, NULL, 0,
14802         NULL, HFILL }},
14803     { &hf_h245_genericCommand,
14804       { "genericCommand", "h245.genericCommand",
14805         FT_NONE, BASE_NONE, NULL, 0,
14806         "GenericMessage", HFILL }},
14807     { &hf_h245_functionNotUnderstood,
14808       { "functionNotUnderstood", "h245.functionNotUnderstood",
14809         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotUnderstood_vals), 0,
14810         NULL, HFILL }},
14811     { &hf_h245_masterSlaveDeterminationRelease,
14812       { "masterSlaveDeterminationRelease", "h245.masterSlaveDeterminationRelease",
14813         FT_NONE, BASE_NONE, NULL, 0,
14814         NULL, HFILL }},
14815     { &hf_h245_terminalCapabilitySetRelease,
14816       { "terminalCapabilitySetRelease", "h245.terminalCapabilitySetRelease",
14817         FT_NONE, BASE_NONE, NULL, 0,
14818         NULL, HFILL }},
14819     { &hf_h245_openLogicalChannelConfirm,
14820       { "openLogicalChannelConfirm", "h245.openLogicalChannelConfirm",
14821         FT_NONE, BASE_NONE, NULL, 0,
14822         NULL, HFILL }},
14823     { &hf_h245_requestChannelCloseRelease,
14824       { "requestChannelCloseRelease", "h245.requestChannelCloseRelease",
14825         FT_NONE, BASE_NONE, NULL, 0,
14826         NULL, HFILL }},
14827     { &hf_h245_multiplexEntrySendRelease,
14828       { "multiplexEntrySendRelease", "h245.multiplexEntrySendRelease",
14829         FT_NONE, BASE_NONE, NULL, 0,
14830         NULL, HFILL }},
14831     { &hf_h245_requestMultiplexEntryRelease,
14832       { "requestMultiplexEntryRelease", "h245.requestMultiplexEntryRelease",
14833         FT_NONE, BASE_NONE, NULL, 0,
14834         NULL, HFILL }},
14835     { &hf_h245_requestModeRelease,
14836       { "requestModeRelease", "h245.requestModeRelease",
14837         FT_NONE, BASE_NONE, NULL, 0,
14838         NULL, HFILL }},
14839     { &hf_h245_miscellaneousIndication,
14840       { "miscellaneousIndication", "h245.miscellaneousIndication",
14841         FT_NONE, BASE_NONE, NULL, 0,
14842         NULL, HFILL }},
14843     { &hf_h245_jitterIndication,
14844       { "jitterIndication", "h245.jitterIndication",
14845         FT_NONE, BASE_NONE, NULL, 0,
14846         NULL, HFILL }},
14847     { &hf_h245_h223SkewIndication,
14848       { "h223SkewIndication", "h245.h223SkewIndication",
14849         FT_NONE, BASE_NONE, NULL, 0,
14850         NULL, HFILL }},
14851     { &hf_h245_newATMVCIndication,
14852       { "newATMVCIndication", "h245.newATMVCIndication",
14853         FT_NONE, BASE_NONE, NULL, 0,
14854         NULL, HFILL }},
14855     { &hf_h245_userInput,
14856       { "userInput", "h245.userInput",
14857         FT_UINT32, BASE_DEC, VALS(h245_UserInputIndication_vals), 0,
14858         "UserInputIndication", HFILL }},
14859     { &hf_h245_h2250MaximumSkewIndication,
14860       { "h2250MaximumSkewIndication", "h245.h2250MaximumSkewIndication",
14861         FT_NONE, BASE_NONE, NULL, 0,
14862         NULL, HFILL }},
14863     { &hf_h245_mcLocationIndication,
14864       { "mcLocationIndication", "h245.mcLocationIndication",
14865         FT_NONE, BASE_NONE, NULL, 0,
14866         NULL, HFILL }},
14867     { &hf_h245_conferenceIndication,
14868       { "conferenceIndication", "h245.conferenceIndication",
14869         FT_UINT32, BASE_DEC, VALS(h245_ConferenceIndication_vals), 0,
14870         NULL, HFILL }},
14871     { &hf_h245_vendorIdentification,
14872       { "vendorIdentification", "h245.vendorIdentification",
14873         FT_NONE, BASE_NONE, NULL, 0,
14874         NULL, HFILL }},
14875     { &hf_h245_functionNotSupported,
14876       { "functionNotSupported", "h245.functionNotSupported",
14877         FT_NONE, BASE_NONE, NULL, 0,
14878         NULL, HFILL }},
14879     { &hf_h245_multilinkIndication,
14880       { "multilinkIndication", "h245.multilinkIndication",
14881         FT_UINT32, BASE_DEC, VALS(h245_MultilinkIndication_vals), 0,
14882         NULL, HFILL }},
14883     { &hf_h245_logicalChannelRateRelease,
14884       { "logicalChannelRateRelease", "h245.logicalChannelRateRelease",
14885         FT_NONE, BASE_NONE, NULL, 0,
14886         NULL, HFILL }},
14887     { &hf_h245_flowControlIndication,
14888       { "flowControlIndication", "h245.flowControlIndication",
14889         FT_NONE, BASE_NONE, NULL, 0,
14890         NULL, HFILL }},
14891     { &hf_h245_mobileMultilinkReconfigurationIndication,
14892       { "mobileMultilinkReconfigurationIndication", "h245.mobileMultilinkReconfigurationIndication",
14893         FT_NONE, BASE_NONE, NULL, 0,
14894         NULL, HFILL }},
14895     { &hf_h245_genericIndication,
14896       { "genericIndication", "h245.genericIndication",
14897         FT_NONE, BASE_NONE, NULL, 0,
14898         "GenericMessage", HFILL }},
14899     { &hf_h245_messageIdentifier,
14900       { "messageIdentifier", "h245.messageIdentifier",
14901         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
14902         "CapabilityIdentifier", HFILL }},
14903     { &hf_h245_subMessageIdentifier,
14904       { "subMessageIdentifier", "h245.subMessageIdentifier",
14905         FT_UINT32, BASE_DEC, NULL, 0,
14906         NULL, HFILL }},
14907     { &hf_h245_messageContent,
14908       { "messageContent", "h245.messageContent",
14909         FT_UINT32, BASE_DEC, NULL, 0,
14910         NULL, HFILL }},
14911     { &hf_h245_messageContent_item,
14912       { "messageContent item", "h245.messageContent_item",
14913         FT_NONE, BASE_NONE, NULL, 0,
14914         "T_messageContent_item", HFILL }},
14915     { &hf_h245_nonStandardData,
14916       { "nonStandardData", "h245.nonStandardData",
14917         FT_NONE, BASE_NONE, NULL, 0,
14918         "NonStandardParameter", HFILL }},
14919     { &hf_h245_nonStandardIdentifier,
14920       { "nonStandardIdentifier", "h245.nonStandardIdentifier",
14921         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
14922         NULL, HFILL }},
14923     { &hf_h245_nsd_data,
14924       { "data", "h245.data",
14925         FT_BYTES, BASE_NONE, NULL, 0,
14926         "T_nsd_data", HFILL }},
14927     { &hf_h245_object,
14928       { "object", "h245.object",
14929         FT_OID, BASE_NONE, NULL, 0,
14930         NULL, HFILL }},
14931     { &hf_h245_h221NonStandardID,
14932       { "h221NonStandard", "h245.h221NonStandard",
14933         FT_NONE, BASE_NONE, NULL, 0,
14934         "H221NonStandardID", HFILL }},
14935     { &hf_h245_t35CountryCode,
14936       { "t35CountryCode", "h245.t35CountryCode",
14937         FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0,
14938         NULL, HFILL }},
14939     { &hf_h245_t35Extension,
14940       { "t35Extension", "h245.t35Extension",
14941         FT_UINT32, BASE_DEC, NULL, 0,
14942         NULL, HFILL }},
14943     { &hf_h245_manufacturerCode,
14944       { "manufacturerCode", "h245.manufacturerCode",
14945         FT_UINT32, BASE_DEC, NULL, 0,
14946         NULL, HFILL }},
14947     { &hf_h245_terminalType,
14948       { "terminalType", "h245.terminalType",
14949         FT_UINT32, BASE_DEC, NULL, 0,
14950         "INTEGER_0_255", HFILL }},
14951     { &hf_h245_statusDeterminationNumber,
14952       { "statusDeterminationNumber", "h245.statusDeterminationNumber",
14953         FT_UINT32, BASE_DEC, NULL, 0,
14954         "INTEGER_0_16777215", HFILL }},
14955     { &hf_h245_decision,
14956       { "decision", "h245.decision",
14957         FT_UINT32, BASE_DEC, VALS(h245_T_decision_vals), 0,
14958         NULL, HFILL }},
14959     { &hf_h245_master,
14960       { "master", "h245.master",
14961         FT_NONE, BASE_NONE, NULL, 0,
14962         NULL, HFILL }},
14963     { &hf_h245_slave,
14964       { "slave", "h245.slave",
14965         FT_NONE, BASE_NONE, NULL, 0,
14966         NULL, HFILL }},
14967     { &hf_h245_msd_rej_cause,
14968       { "cause", "h245.cause",
14969         FT_UINT32, BASE_DEC, VALS(h245_MasterSlaveDeterminationRejectCause_vals), 0,
14970         "MasterSlaveDeterminationRejectCause", HFILL }},
14971     { &hf_h245_identicalNumbers,
14972       { "identicalNumbers", "h245.identicalNumbers",
14973         FT_NONE, BASE_NONE, NULL, 0,
14974         NULL, HFILL }},
14975     { &hf_h245_sequenceNumber,
14976       { "sequenceNumber", "h245.sequenceNumber",
14977         FT_UINT32, BASE_DEC, NULL, 0,
14978         NULL, HFILL }},
14979     { &hf_h245_protocolIdentifier,
14980       { "protocolIdentifier", "h245.protocolIdentifier",
14981         FT_OID, BASE_NONE, NULL, 0,
14982         "OBJECT_IDENTIFIER", HFILL }},
14983     { &hf_h245_multiplexCapability,
14984       { "multiplexCapability", "h245.multiplexCapability",
14985         FT_UINT32, BASE_DEC, VALS(h245_MultiplexCapability_vals), 0,
14986         NULL, HFILL }},
14987     { &hf_h245_capabilityTable,
14988       { "capabilityTable", "h245.capabilityTable",
14989         FT_UINT32, BASE_DEC, NULL, 0,
14990         "SET_SIZE_1_256_OF_CapabilityTableEntry", HFILL }},
14991     { &hf_h245_capabilityTable_item,
14992       { "CapabilityTableEntry", "h245.CapabilityTableEntry",
14993         FT_NONE, BASE_NONE, NULL, 0,
14994         NULL, HFILL }},
14995     { &hf_h245_capabilityDescriptors,
14996       { "capabilityDescriptors", "h245.capabilityDescriptors",
14997         FT_UINT32, BASE_DEC, NULL, 0,
14998         "SET_SIZE_1_256_OF_CapabilityDescriptor", HFILL }},
14999     { &hf_h245_capabilityDescriptors_item,
15000       { "CapabilityDescriptor", "h245.CapabilityDescriptor",
15001         FT_NONE, BASE_NONE, NULL, 0,
15002         NULL, HFILL }},
15003     { &hf_h245_genericInformation,
15004       { "genericInformation", "h245.genericInformation",
15005         FT_UINT32, BASE_DEC, NULL, 0,
15006         "SEQUENCE_OF_GenericInformation", HFILL }},
15007     { &hf_h245_genericInformation_item,
15008       { "GenericInformation", "h245.GenericInformation",
15009         FT_NONE, BASE_NONE, NULL, 0,
15010         NULL, HFILL }},
15011     { &hf_h245_capabilityTableEntryNumber,
15012       { "capabilityTableEntryNumber", "h245.capabilityTableEntryNumber",
15013         FT_UINT32, BASE_DEC, NULL, 0,
15014         NULL, HFILL }},
15015     { &hf_h245_capability,
15016       { "capability", "h245.capability",
15017         FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0,
15018         NULL, HFILL }},
15019     { &hf_h245_capabilityDescriptorNumber,
15020       { "capabilityDescriptorNumber", "h245.capabilityDescriptorNumber",
15021         FT_UINT32, BASE_DEC, NULL, 0,
15022         NULL, HFILL }},
15023     { &hf_h245_simultaneousCapabilities,
15024       { "simultaneousCapabilities", "h245.simultaneousCapabilities",
15025         FT_UINT32, BASE_DEC, NULL, 0,
15026         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
15027     { &hf_h245_simultaneousCapabilities_item,
15028       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
15029         FT_UINT32, BASE_DEC, NULL, 0,
15030         NULL, HFILL }},
15031     { &hf_h245_AlternativeCapabilitySet_item,
15032       { "alternativeCapability", "h245.CapabilityTableEntryNumber",
15033         FT_UINT32, BASE_DEC, NULL, 0,
15034         "CapabilityTableEntryNumber", HFILL }},
15035     { &hf_h245_tcs_rej_cause,
15036       { "cause", "h245.cause",
15037         FT_UINT32, BASE_DEC, VALS(h245_TerminalCapabilitySetRejectCause_vals), 0,
15038         "TerminalCapabilitySetRejectCause", HFILL }},
15039     { &hf_h245_unspecified,
15040       { "unspecified", "h245.unspecified",
15041         FT_NONE, BASE_NONE, NULL, 0,
15042         NULL, HFILL }},
15043     { &hf_h245_undefinedTableEntryUsed,
15044       { "undefinedTableEntryUsed", "h245.undefinedTableEntryUsed",
15045         FT_NONE, BASE_NONE, NULL, 0,
15046         NULL, HFILL }},
15047     { &hf_h245_descriptorCapacityExceeded,
15048       { "descriptorCapacityExceeded", "h245.descriptorCapacityExceeded",
15049         FT_NONE, BASE_NONE, NULL, 0,
15050         NULL, HFILL }},
15051     { &hf_h245_tableEntryCapacityExceeded,
15052       { "tableEntryCapacityExceeded", "h245.tableEntryCapacityExceeded",
15053         FT_UINT32, BASE_DEC, VALS(h245_T_tableEntryCapacityExceeded_vals), 0,
15054         NULL, HFILL }},
15055     { &hf_h245_highestEntryNumberProcessed,
15056       { "highestEntryNumberProcessed", "h245.highestEntryNumberProcessed",
15057         FT_UINT32, BASE_DEC, NULL, 0,
15058         "CapabilityTableEntryNumber", HFILL }},
15059     { &hf_h245_noneProcessed,
15060       { "noneProcessed", "h245.noneProcessed",
15061         FT_NONE, BASE_NONE, NULL, 0,
15062         NULL, HFILL }},
15063     { &hf_h245_nonStandard,
15064       { "nonStandard", "h245.nonStandard",
15065         FT_NONE, BASE_NONE, NULL, 0,
15066         "NonStandardParameter", HFILL }},
15067     { &hf_h245_receiveVideoCapability,
15068       { "receiveVideoCapability", "h245.receiveVideoCapability",
15069         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15070         "VideoCapability", HFILL }},
15071     { &hf_h245_transmitVideoCapability,
15072       { "transmitVideoCapability", "h245.transmitVideoCapability",
15073         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15074         "VideoCapability", HFILL }},
15075     { &hf_h245_receiveAndTransmitVideoCapability,
15076       { "receiveAndTransmitVideoCapability", "h245.receiveAndTransmitVideoCapability",
15077         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15078         "VideoCapability", HFILL }},
15079     { &hf_h245_receiveAudioCapability,
15080       { "receiveAudioCapability", "h245.receiveAudioCapability",
15081         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15082         "AudioCapability", HFILL }},
15083     { &hf_h245_transmitAudioCapability,
15084       { "transmitAudioCapability", "h245.transmitAudioCapability",
15085         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15086         "AudioCapability", HFILL }},
15087     { &hf_h245_receiveAndTransmitAudioCapability,
15088       { "receiveAndTransmitAudioCapability", "h245.receiveAndTransmitAudioCapability",
15089         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15090         "AudioCapability", HFILL }},
15091     { &hf_h245_receiveDataApplicationCapability,
15092       { "receiveDataApplicationCapability", "h245.receiveDataApplicationCapability",
15093         FT_NONE, BASE_NONE, NULL, 0,
15094         "DataApplicationCapability", HFILL }},
15095     { &hf_h245_transmitDataApplicationCapability,
15096       { "transmitDataApplicationCapability", "h245.transmitDataApplicationCapability",
15097         FT_NONE, BASE_NONE, NULL, 0,
15098         "DataApplicationCapability", HFILL }},
15099     { &hf_h245_receiveAndTransmitDataApplicationCapability,
15100       { "receiveAndTransmitDataApplicationCapability", "h245.receiveAndTransmitDataApplicationCapability",
15101         FT_NONE, BASE_NONE, NULL, 0,
15102         "DataApplicationCapability", HFILL }},
15103     { &hf_h245_h233EncryptionTransmitCapability,
15104       { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability",
15105         FT_BOOLEAN, BASE_NONE, NULL, 0,
15106         "BOOLEAN", HFILL }},
15107     { &hf_h245_h233EncryptionReceiveCapability,
15108       { "h233EncryptionReceiveCapability", "h245.h233EncryptionReceiveCapability",
15109         FT_NONE, BASE_NONE, NULL, 0,
15110         NULL, HFILL }},
15111     { &hf_h245_h233IVResponseTime,
15112       { "h233IVResponseTime", "h245.h233IVResponseTime",
15113         FT_UINT32, BASE_DEC, NULL, 0,
15114         "INTEGER_0_255", HFILL }},
15115     { &hf_h245_conferenceCapability,
15116       { "conferenceCapability", "h245.conferenceCapability",
15117         FT_NONE, BASE_NONE, NULL, 0,
15118         NULL, HFILL }},
15119     { &hf_h245_h235SecurityCapability,
15120       { "h235SecurityCapability", "h245.h235SecurityCapability",
15121         FT_NONE, BASE_NONE, NULL, 0,
15122         NULL, HFILL }},
15123     { &hf_h245_maxPendingReplacementFor,
15124       { "maxPendingReplacementFor", "h245.maxPendingReplacementFor",
15125         FT_UINT32, BASE_DEC, NULL, 0,
15126         "INTEGER_0_255", HFILL }},
15127     { &hf_h245_receiveUserInputCapability,
15128       { "receiveUserInputCapability", "h245.receiveUserInputCapability",
15129         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15130         "UserInputCapability", HFILL }},
15131     { &hf_h245_transmitUserInputCapability,
15132       { "transmitUserInputCapability", "h245.transmitUserInputCapability",
15133         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15134         "UserInputCapability", HFILL }},
15135     { &hf_h245_receiveAndTransmitUserInputCapability,
15136       { "receiveAndTransmitUserInputCapability", "h245.receiveAndTransmitUserInputCapability",
15137         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15138         "UserInputCapability", HFILL }},
15139     { &hf_h245_genericControlCapability,
15140       { "genericControlCapability", "h245.genericControlCapability",
15141         FT_NONE, BASE_NONE, NULL, 0,
15142         "GenericCapability", HFILL }},
15143     { &hf_h245_receiveMultiplexedStreamCapability,
15144       { "receiveMultiplexedStreamCapability", "h245.receiveMultiplexedStreamCapability",
15145         FT_NONE, BASE_NONE, NULL, 0,
15146         "MultiplexedStreamCapability", HFILL }},
15147     { &hf_h245_transmitMultiplexedStreamCapability,
15148       { "transmitMultiplexedStreamCapability", "h245.transmitMultiplexedStreamCapability",
15149         FT_NONE, BASE_NONE, NULL, 0,
15150         "MultiplexedStreamCapability", HFILL }},
15151     { &hf_h245_receiveAndTransmitMultiplexedStreamCapability,
15152       { "receiveAndTransmitMultiplexedStreamCapability", "h245.receiveAndTransmitMultiplexedStreamCapability",
15153         FT_NONE, BASE_NONE, NULL, 0,
15154         "MultiplexedStreamCapability", HFILL }},
15155     { &hf_h245_receiveRTPAudioTelephonyEventCapability,
15156       { "receiveRTPAudioTelephonyEventCapability", "h245.receiveRTPAudioTelephonyEventCapability",
15157         FT_NONE, BASE_NONE, NULL, 0,
15158         "AudioTelephonyEventCapability", HFILL }},
15159     { &hf_h245_receiveRTPAudioToneCapability,
15160       { "receiveRTPAudioToneCapability", "h245.receiveRTPAudioToneCapability",
15161         FT_NONE, BASE_NONE, NULL, 0,
15162         "AudioToneCapability", HFILL }},
15163     { &hf_h245_depFecCapability,
15164       { "depFecCapability", "h245.depFecCapability",
15165         FT_UINT32, BASE_DEC, VALS(h245_DepFECCapability_vals), 0,
15166         NULL, HFILL }},
15167     { &hf_h245_multiplePayloadStreamCapability,
15168       { "multiplePayloadStreamCapability", "h245.multiplePayloadStreamCapability",
15169         FT_NONE, BASE_NONE, NULL, 0,
15170         NULL, HFILL }},
15171     { &hf_h245_fecCapability,
15172       { "fecCapability", "h245.fecCapability",
15173         FT_NONE, BASE_NONE, NULL, 0,
15174         NULL, HFILL }},
15175     { &hf_h245_redundancyEncodingCap,
15176       { "redundancyEncodingCap", "h245.redundancyEncodingCap",
15177         FT_NONE, BASE_NONE, NULL, 0,
15178         "RedundancyEncodingCapability", HFILL }},
15179     { &hf_h245_oneOfCapabilities,
15180       { "oneOfCapabilities", "h245.oneOfCapabilities",
15181         FT_UINT32, BASE_DEC, NULL, 0,
15182         "AlternativeCapabilitySet", HFILL }},
15183     { &hf_h245_encryptionAuthenticationAndIntegrity,
15184       { "encryptionAuthenticationAndIntegrity", "h245.encryptionAuthenticationAndIntegrity",
15185         FT_NONE, BASE_NONE, NULL, 0,
15186         NULL, HFILL }},
15187     { &hf_h245_mediaCapability,
15188       { "mediaCapability", "h245.mediaCapability",
15189         FT_UINT32, BASE_DEC, NULL, 0,
15190         "CapabilityTableEntryNumber", HFILL }},
15191     { &hf_h245_h222Capability,
15192       { "h222Capability", "h245.h222Capability",
15193         FT_NONE, BASE_NONE, NULL, 0,
15194         NULL, HFILL }},
15195     { &hf_h245_h223Capability,
15196       { "h223Capability", "h245.h223Capability",
15197         FT_NONE, BASE_NONE, NULL, 0,
15198         NULL, HFILL }},
15199     { &hf_h245_v76Capability,
15200       { "v76Capability", "h245.v76Capability",
15201         FT_NONE, BASE_NONE, NULL, 0,
15202         NULL, HFILL }},
15203     { &hf_h245_h2250Capability,
15204       { "h2250Capability", "h245.h2250Capability",
15205         FT_NONE, BASE_NONE, NULL, 0,
15206         NULL, HFILL }},
15207     { &hf_h245_genericMultiplexCapability,
15208       { "genericMultiplexCapability", "h245.genericMultiplexCapability",
15209         FT_NONE, BASE_NONE, NULL, 0,
15210         "GenericCapability", HFILL }},
15211     { &hf_h245_numberOfVCs,
15212       { "numberOfVCs", "h245.numberOfVCs",
15213         FT_UINT32, BASE_DEC, NULL, 0,
15214         "INTEGER_1_256", HFILL }},
15215     { &hf_h245_vcCapability,
15216       { "vcCapability", "h245.vcCapability",
15217         FT_UINT32, BASE_DEC, NULL, 0,
15218         "SET_OF_VCCapability", HFILL }},
15219     { &hf_h245_vcCapability_item,
15220       { "VCCapability", "h245.VCCapability",
15221         FT_NONE, BASE_NONE, NULL, 0,
15222         NULL, HFILL }},
15223     { &hf_h245_aal1,
15224       { "aal1", "h245.aal1",
15225         FT_NONE, BASE_NONE, NULL, 0,
15226         NULL, HFILL }},
15227     { &hf_h245_nullClockRecovery,
15228       { "nullClockRecovery", "h245.nullClockRecovery",
15229         FT_BOOLEAN, BASE_NONE, NULL, 0,
15230         "BOOLEAN", HFILL }},
15231     { &hf_h245_srtsClockRecovery_bool,
15232       { "srtsClockRecovery", "h245.srtsClockRecovery",
15233         FT_BOOLEAN, BASE_NONE, NULL, 0,
15234         "BOOLEAN", HFILL }},
15235     { &hf_h245_adaptiveClockRecovery,
15236       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
15237         FT_BOOLEAN, BASE_NONE, NULL, 0,
15238         "BOOLEAN", HFILL }},
15239     { &hf_h245_nullErrorCorrection,
15240       { "nullErrorCorrection", "h245.nullErrorCorrection",
15241         FT_BOOLEAN, BASE_NONE, NULL, 0,
15242         "BOOLEAN", HFILL }},
15243     { &hf_h245_longInterleaver,
15244       { "longInterleaver", "h245.longInterleaver",
15245         FT_BOOLEAN, BASE_NONE, NULL, 0,
15246         "BOOLEAN", HFILL }},
15247     { &hf_h245_shortInterleaver,
15248       { "shortInterleaver", "h245.shortInterleaver",
15249         FT_BOOLEAN, BASE_NONE, NULL, 0,
15250         "BOOLEAN", HFILL }},
15251     { &hf_h245_errorCorrectionOnly,
15252       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
15253         FT_BOOLEAN, BASE_NONE, NULL, 0,
15254         "BOOLEAN", HFILL }},
15255     { &hf_h245_structuredDataTransfer,
15256       { "structuredDataTransfer", "h245.structuredDataTransfer",
15257         FT_BOOLEAN, BASE_NONE, NULL, 0,
15258         "BOOLEAN", HFILL }},
15259     { &hf_h245_partiallyFilledCells,
15260       { "partiallyFilledCells", "h245.partiallyFilledCells",
15261         FT_BOOLEAN, BASE_NONE, NULL, 0,
15262         "BOOLEAN", HFILL }},
15263     { &hf_h245_aal5,
15264       { "aal5", "h245.aal5",
15265         FT_NONE, BASE_NONE, NULL, 0,
15266         NULL, HFILL }},
15267     { &hf_h245_forwardMaximumSDUSize,
15268       { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize",
15269         FT_UINT32, BASE_DEC, NULL, 0,
15270         "INTEGER_0_65535", HFILL }},
15271     { &hf_h245_backwardMaximumSDUSize,
15272       { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize",
15273         FT_UINT32, BASE_DEC, NULL, 0,
15274         "INTEGER_0_65535", HFILL }},
15275     { &hf_h245_transportStream_bool,
15276       { "transportStream", "h245.transportStream",
15277         FT_BOOLEAN, BASE_NONE, NULL, 0,
15278         "BOOLEAN", HFILL }},
15279     { &hf_h245_programStream,
15280       { "programStream", "h245.programStream",
15281         FT_BOOLEAN, BASE_NONE, NULL, 0,
15282         "BOOLEAN", HFILL }},
15283     { &hf_h245_availableBitRates,
15284       { "availableBitRates", "h245.availableBitRates",
15285         FT_NONE, BASE_NONE, NULL, 0,
15286         NULL, HFILL }},
15287     { &hf_h245_avb_type,
15288       { "type", "h245.type",
15289         FT_UINT32, BASE_DEC, VALS(h245_Avb_type_vals), 0,
15290         "Avb_type", HFILL }},
15291     { &hf_h245_singleBitRate,
15292       { "singleBitRate", "h245.singleBitRate",
15293         FT_UINT32, BASE_DEC, NULL, 0,
15294         "INTEGER_1_65535", HFILL }},
15295     { &hf_h245_rangeOfBitRates,
15296       { "rangeOfBitRates", "h245.rangeOfBitRates",
15297         FT_NONE, BASE_NONE, NULL, 0,
15298         NULL, HFILL }},
15299     { &hf_h245_lowerBitRate,
15300       { "lowerBitRate", "h245.lowerBitRate",
15301         FT_UINT32, BASE_DEC, NULL, 0,
15302         "INTEGER_1_65535", HFILL }},
15303     { &hf_h245_higherBitRate,
15304       { "higherBitRate", "h245.higherBitRate",
15305         FT_UINT32, BASE_DEC, NULL, 0,
15306         "INTEGER_1_65535", HFILL }},
15307     { &hf_h245_aal1ViaGateway,
15308       { "aal1ViaGateway", "h245.aal1ViaGateway",
15309         FT_NONE, BASE_NONE, NULL, 0,
15310         NULL, HFILL }},
15311     { &hf_h245_gatewayAddress,
15312       { "gatewayAddress", "h245.gatewayAddress",
15313         FT_UINT32, BASE_DEC, NULL, 0,
15314         "SET_SIZE_1_256_OF_Q2931Address", HFILL }},
15315     { &hf_h245_gatewayAddress_item,
15316       { "Q2931Address", "h245.Q2931Address",
15317         FT_NONE, BASE_NONE, NULL, 0,
15318         NULL, HFILL }},
15319     { &hf_h245_srtsClockRecoveryflag,
15320       { "srtsClockRecovery", "h245.srtsClockRecovery",
15321         FT_BOOLEAN, BASE_NONE, NULL, 0,
15322         "BOOLEAN", HFILL }},
15323     { &hf_h245_transportWithI_frames,
15324       { "transportWithI-frames", "h245.transportWithI_frames",
15325         FT_BOOLEAN, BASE_NONE, NULL, 0,
15326         "BOOLEAN", HFILL }},
15327     { &hf_h245_videoWithAL1,
15328       { "videoWithAL1", "h245.videoWithAL1",
15329         FT_BOOLEAN, BASE_NONE, NULL, 0,
15330         "BOOLEAN", HFILL }},
15331     { &hf_h245_videoWithAL2,
15332       { "videoWithAL2", "h245.videoWithAL2",
15333         FT_BOOLEAN, BASE_NONE, NULL, 0,
15334         "BOOLEAN", HFILL }},
15335     { &hf_h245_videoWithAL3,
15336       { "videoWithAL3", "h245.videoWithAL3",
15337         FT_BOOLEAN, BASE_NONE, NULL, 0,
15338         "BOOLEAN", HFILL }},
15339     { &hf_h245_audioWithAL1,
15340       { "audioWithAL1", "h245.audioWithAL1",
15341         FT_BOOLEAN, BASE_NONE, NULL, 0,
15342         "BOOLEAN", HFILL }},
15343     { &hf_h245_audioWithAL2,
15344       { "audioWithAL2", "h245.audioWithAL2",
15345         FT_BOOLEAN, BASE_NONE, NULL, 0,
15346         "BOOLEAN", HFILL }},
15347     { &hf_h245_audioWithAL3,
15348       { "audioWithAL3", "h245.audioWithAL3",
15349         FT_BOOLEAN, BASE_NONE, NULL, 0,
15350         "BOOLEAN", HFILL }},
15351     { &hf_h245_dataWithAL1,
15352       { "dataWithAL1", "h245.dataWithAL1",
15353         FT_BOOLEAN, BASE_NONE, NULL, 0,
15354         "BOOLEAN", HFILL }},
15355     { &hf_h245_dataWithAL2,
15356       { "dataWithAL2", "h245.dataWithAL2",
15357         FT_BOOLEAN, BASE_NONE, NULL, 0,
15358         "BOOLEAN", HFILL }},
15359     { &hf_h245_dataWithAL3,
15360       { "dataWithAL3", "h245.dataWithAL3",
15361         FT_BOOLEAN, BASE_NONE, NULL, 0,
15362         "BOOLEAN", HFILL }},
15363     { &hf_h245_maximumAl2SDUSize,
15364       { "maximumAl2SDUSize", "h245.maximumAl2SDUSize",
15365         FT_UINT32, BASE_DEC, NULL, 0,
15366         "INTEGER_0_65535", HFILL }},
15367     { &hf_h245_maximumAl3SDUSize,
15368       { "maximumAl3SDUSize", "h245.maximumAl3SDUSize",
15369         FT_UINT32, BASE_DEC, NULL, 0,
15370         "INTEGER_0_65535", HFILL }},
15371     { &hf_h245_maximumDelayJitter,
15372       { "maximumDelayJitter", "h245.maximumDelayJitter",
15373         FT_UINT32, BASE_DEC, NULL, 0,
15374         "INTEGER_0_1023", HFILL }},
15375     { &hf_h245_h223MultiplexTableCapability,
15376       { "h223MultiplexTableCapability", "h245.h223MultiplexTableCapability",
15377         FT_UINT32, BASE_DEC, VALS(h245_T_h223MultiplexTableCapability_vals), 0,
15378         NULL, HFILL }},
15379     { &hf_h245_basic,
15380       { "basic", "h245.basic",
15381         FT_NONE, BASE_NONE, NULL, 0,
15382         NULL, HFILL }},
15383     { &hf_h245_enhanced,
15384       { "enhanced", "h245.enhanced",
15385         FT_NONE, BASE_NONE, NULL, 0,
15386         NULL, HFILL }},
15387     { &hf_h245_maximumNestingDepth,
15388       { "maximumNestingDepth", "h245.maximumNestingDepth",
15389         FT_UINT32, BASE_DEC, NULL, 0,
15390         "INTEGER_1_15", HFILL }},
15391     { &hf_h245_maximumElementListSize,
15392       { "maximumElementListSize", "h245.maximumElementListSize",
15393         FT_UINT32, BASE_DEC, NULL, 0,
15394         "INTEGER_2_255", HFILL }},
15395     { &hf_h245_maximumSubElementListSize,
15396       { "maximumSubElementListSize", "h245.maximumSubElementListSize",
15397         FT_UINT32, BASE_DEC, NULL, 0,
15398         "INTEGER_2_255", HFILL }},
15399     { &hf_h245_maxMUXPDUSizeCapability,
15400       { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability",
15401         FT_BOOLEAN, BASE_NONE, NULL, 0,
15402         "BOOLEAN", HFILL }},
15403     { &hf_h245_nsrpSupport,
15404       { "nsrpSupport", "h245.nsrpSupport",
15405         FT_BOOLEAN, BASE_NONE, NULL, 0,
15406         "BOOLEAN", HFILL }},
15407     { &hf_h245_mobileOperationTransmitCapability,
15408       { "mobileOperationTransmitCapability", "h245.mobileOperationTransmitCapability",
15409         FT_NONE, BASE_NONE, NULL, 0,
15410         NULL, HFILL }},
15411     { &hf_h245_modeChangeCapability,
15412       { "modeChangeCapability", "h245.modeChangeCapability",
15413         FT_BOOLEAN, BASE_NONE, NULL, 0,
15414         "BOOLEAN", HFILL }},
15415     { &hf_h245_h223AnnexA,
15416       { "h223AnnexA", "h245.h223AnnexA",
15417         FT_BOOLEAN, BASE_NONE, NULL, 0,
15418         "BOOLEAN", HFILL }},
15419     { &hf_h245_h223AnnexADoubleFlagFlag,
15420       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
15421         FT_BOOLEAN, BASE_NONE, NULL, 0,
15422         "BOOLEAN", HFILL }},
15423     { &hf_h245_h223AnnexB,
15424       { "h223AnnexB", "h245.h223AnnexB",
15425         FT_BOOLEAN, BASE_NONE, NULL, 0,
15426         "BOOLEAN", HFILL }},
15427     { &hf_h245_h223AnnexBwithHeader,
15428       { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader",
15429         FT_BOOLEAN, BASE_NONE, NULL, 0,
15430         "BOOLEAN", HFILL }},
15431     { &hf_h245_h223AnnexCCapability,
15432       { "h223AnnexCCapability", "h245.h223AnnexCCapability",
15433         FT_NONE, BASE_NONE, NULL, 0,
15434         NULL, HFILL }},
15435     { &hf_h245_bitRate_1_19200,
15436       { "bitRate", "h245.bitRate",
15437         FT_UINT32, BASE_DEC, NULL, 0,
15438         "INTEGER_1_19200", HFILL }},
15439     { &hf_h245_mobileMultilinkFrameCapability,
15440       { "mobileMultilinkFrameCapability", "h245.mobileMultilinkFrameCapability",
15441         FT_NONE, BASE_NONE, NULL, 0,
15442         NULL, HFILL }},
15443     { &hf_h245_maximumSampleSize,
15444       { "maximumSampleSize", "h245.maximumSampleSize",
15445         FT_UINT32, BASE_DEC, NULL, 0,
15446         "INTEGER_1_255", HFILL }},
15447     { &hf_h245_maximumPayloadLength,
15448       { "maximumPayloadLength", "h245.maximumPayloadLength",
15449         FT_UINT32, BASE_DEC, NULL, 0,
15450         "INTEGER_1_65025", HFILL }},
15451     { &hf_h245_videoWithAL1M,
15452       { "videoWithAL1M", "h245.videoWithAL1M",
15453         FT_BOOLEAN, BASE_NONE, NULL, 0,
15454         "BOOLEAN", HFILL }},
15455     { &hf_h245_videoWithAL2M,
15456       { "videoWithAL2M", "h245.videoWithAL2M",
15457         FT_BOOLEAN, BASE_NONE, NULL, 0,
15458         "BOOLEAN", HFILL }},
15459     { &hf_h245_videoWithAL3M,
15460       { "videoWithAL3M", "h245.videoWithAL3M",
15461         FT_BOOLEAN, BASE_NONE, NULL, 0,
15462         "BOOLEAN", HFILL }},
15463     { &hf_h245_audioWithAL1M,
15464       { "audioWithAL1M", "h245.audioWithAL1M",
15465         FT_BOOLEAN, BASE_NONE, NULL, 0,
15466         "BOOLEAN", HFILL }},
15467     { &hf_h245_audioWithAL2M,
15468       { "audioWithAL2M", "h245.audioWithAL2M",
15469         FT_BOOLEAN, BASE_NONE, NULL, 0,
15470         "BOOLEAN", HFILL }},
15471     { &hf_h245_audioWithAL3M,
15472       { "audioWithAL3M", "h245.audioWithAL3M",
15473         FT_BOOLEAN, BASE_NONE, NULL, 0,
15474         "BOOLEAN", HFILL }},
15475     { &hf_h245_dataWithAL1M,
15476       { "dataWithAL1M", "h245.dataWithAL1M",
15477         FT_BOOLEAN, BASE_NONE, NULL, 0,
15478         "BOOLEAN", HFILL }},
15479     { &hf_h245_dataWithAL2M,
15480       { "dataWithAL2M", "h245.dataWithAL2M",
15481         FT_BOOLEAN, BASE_NONE, NULL, 0,
15482         "BOOLEAN", HFILL }},
15483     { &hf_h245_dataWithAL3M,
15484       { "dataWithAL3M", "h245.dataWithAL3M",
15485         FT_BOOLEAN, BASE_NONE, NULL, 0,
15486         "BOOLEAN", HFILL }},
15487     { &hf_h245_alpduInterleaving,
15488       { "alpduInterleaving", "h245.alpduInterleaving",
15489         FT_BOOLEAN, BASE_NONE, NULL, 0,
15490         "BOOLEAN", HFILL }},
15491     { &hf_h245_maximumAL1MPDUSize,
15492       { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize",
15493         FT_UINT32, BASE_DEC, NULL, 0,
15494         "INTEGER_0_65535", HFILL }},
15495     { &hf_h245_maximumAL2MSDUSize,
15496       { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize",
15497         FT_UINT32, BASE_DEC, NULL, 0,
15498         "INTEGER_0_65535", HFILL }},
15499     { &hf_h245_maximumAL3MSDUSize,
15500       { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize",
15501         FT_UINT32, BASE_DEC, NULL, 0,
15502         "INTEGER_0_65535", HFILL }},
15503     { &hf_h245_rsCodeCapability,
15504       { "rsCodeCapability", "h245.rsCodeCapability",
15505         FT_BOOLEAN, BASE_NONE, NULL, 0,
15506         "BOOLEAN", HFILL }},
15507     { &hf_h245_suspendResumeCapabilitywAddress,
15508       { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress",
15509         FT_BOOLEAN, BASE_NONE, NULL, 0,
15510         "BOOLEAN", HFILL }},
15511     { &hf_h245_suspendResumeCapabilitywoAddress,
15512       { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress",
15513         FT_BOOLEAN, BASE_NONE, NULL, 0,
15514         "BOOLEAN", HFILL }},
15515     { &hf_h245_rejCapability,
15516       { "rejCapability", "h245.rejCapability",
15517         FT_BOOLEAN, BASE_NONE, NULL, 0,
15518         "BOOLEAN", HFILL }},
15519     { &hf_h245_sREJCapability,
15520       { "sREJCapability", "h245.sREJCapability",
15521         FT_BOOLEAN, BASE_NONE, NULL, 0,
15522         "BOOLEAN", HFILL }},
15523     { &hf_h245_mREJCapability,
15524       { "mREJCapability", "h245.mREJCapability",
15525         FT_BOOLEAN, BASE_NONE, NULL, 0,
15526         "BOOLEAN", HFILL }},
15527     { &hf_h245_crc8bitCapability,
15528       { "crc8bitCapability", "h245.crc8bitCapability",
15529         FT_BOOLEAN, BASE_NONE, NULL, 0,
15530         "BOOLEAN", HFILL }},
15531     { &hf_h245_crc16bitCapability,
15532       { "crc16bitCapability", "h245.crc16bitCapability",
15533         FT_BOOLEAN, BASE_NONE, NULL, 0,
15534         "BOOLEAN", HFILL }},
15535     { &hf_h245_crc32bitCapability,
15536       { "crc32bitCapability", "h245.crc32bitCapability",
15537         FT_BOOLEAN, BASE_NONE, NULL, 0,
15538         "BOOLEAN", HFILL }},
15539     { &hf_h245_uihCapability,
15540       { "uihCapability", "h245.uihCapability",
15541         FT_BOOLEAN, BASE_NONE, NULL, 0,
15542         "BOOLEAN", HFILL }},
15543     { &hf_h245_numOfDLCS,
15544       { "numOfDLCS", "h245.numOfDLCS",
15545         FT_UINT32, BASE_DEC, NULL, 0,
15546         "INTEGER_2_8191", HFILL }},
15547     { &hf_h245_twoOctetAddressFieldCapability,
15548       { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability",
15549         FT_BOOLEAN, BASE_NONE, NULL, 0,
15550         "BOOLEAN", HFILL }},
15551     { &hf_h245_loopBackTestCapability,
15552       { "loopBackTestCapability", "h245.loopBackTestCapability",
15553         FT_BOOLEAN, BASE_NONE, NULL, 0,
15554         "BOOLEAN", HFILL }},
15555     { &hf_h245_n401Capability,
15556       { "n401Capability", "h245.n401Capability",
15557         FT_UINT32, BASE_DEC, NULL, 0,
15558         "INTEGER_1_4095", HFILL }},
15559     { &hf_h245_maxWindowSizeCapability,
15560       { "maxWindowSizeCapability", "h245.maxWindowSizeCapability",
15561         FT_UINT32, BASE_DEC, NULL, 0,
15562         "INTEGER_1_127", HFILL }},
15563     { &hf_h245_v75Capability,
15564       { "v75Capability", "h245.v75Capability",
15565         FT_NONE, BASE_NONE, NULL, 0,
15566         NULL, HFILL }},
15567     { &hf_h245_audioHeader,
15568       { "audioHeader", "h245.audioHeader",
15569         FT_BOOLEAN, BASE_NONE, NULL, 0,
15570         "BOOLEAN", HFILL }},
15571     { &hf_h245_maximumAudioDelayJitter,
15572       { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter",
15573         FT_UINT32, BASE_DEC, NULL, 0,
15574         "INTEGER_0_1023", HFILL }},
15575     { &hf_h245_receiveMultipointCapability,
15576       { "receiveMultipointCapability", "h245.receiveMultipointCapability",
15577         FT_NONE, BASE_NONE, NULL, 0,
15578         "MultipointCapability", HFILL }},
15579     { &hf_h245_transmitMultipointCapability,
15580       { "transmitMultipointCapability", "h245.transmitMultipointCapability",
15581         FT_NONE, BASE_NONE, NULL, 0,
15582         "MultipointCapability", HFILL }},
15583     { &hf_h245_receiveAndTransmitMultipointCapability,
15584       { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability",
15585         FT_NONE, BASE_NONE, NULL, 0,
15586         "MultipointCapability", HFILL }},
15587     { &hf_h245_mcCapability,
15588       { "mcCapability", "h245.mcCapability",
15589         FT_NONE, BASE_NONE, NULL, 0,
15590         NULL, HFILL }},
15591     { &hf_h245_centralizedConferenceMC,
15592       { "centralizedConferenceMC", "h245.centralizedConferenceMC",
15593         FT_BOOLEAN, BASE_NONE, NULL, 0,
15594         "BOOLEAN", HFILL }},
15595     { &hf_h245_decentralizedConferenceMC,
15596       { "decentralizedConferenceMC", "h245.decentralizedConferenceMC",
15597         FT_BOOLEAN, BASE_NONE, NULL, 0,
15598         "BOOLEAN", HFILL }},
15599     { &hf_h245_rtcpVideoControlCapability,
15600       { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability",
15601         FT_BOOLEAN, BASE_NONE, NULL, 0,
15602         "BOOLEAN", HFILL }},
15603     { &hf_h245_mediaPacketizationCapability,
15604       { "mediaPacketizationCapability", "h245.mediaPacketizationCapability",
15605         FT_NONE, BASE_NONE, NULL, 0,
15606         NULL, HFILL }},
15607     { &hf_h245_transportCapability,
15608       { "transportCapability", "h245.transportCapability",
15609         FT_NONE, BASE_NONE, NULL, 0,
15610         NULL, HFILL }},
15611     { &hf_h245_redundancyEncodingCapability,
15612       { "redundancyEncodingCapability", "h245.redundancyEncodingCapability",
15613         FT_UINT32, BASE_DEC, NULL, 0,
15614         "SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability", HFILL }},
15615     { &hf_h245_redundancyEncodingCapability_item,
15616       { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability",
15617         FT_NONE, BASE_NONE, NULL, 0,
15618         NULL, HFILL }},
15619     { &hf_h245_logicalChannelSwitchingCapability,
15620       { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability",
15621         FT_BOOLEAN, BASE_NONE, NULL, 0,
15622         "BOOLEAN", HFILL }},
15623     { &hf_h245_t120DynamicPortCapability,
15624       { "t120DynamicPortCapability", "h245.t120DynamicPortCapability",
15625         FT_BOOLEAN, BASE_NONE, NULL, 0,
15626         "BOOLEAN", HFILL }},
15627     { &hf_h245_h261aVideoPacketization,
15628       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
15629         FT_BOOLEAN, BASE_NONE, NULL, 0,
15630         "BOOLEAN", HFILL }},
15631     { &hf_h245_rtpPayloadTypes,
15632       { "rtpPayloadType", "h245.rtpPayloadType",
15633         FT_UINT32, BASE_DEC, NULL, 0,
15634         "SEQUENCE_SIZE_1_256_OF_RTPPayloadType", HFILL }},
15635     { &hf_h245_rtpPayloadTypes_item,
15636       { "RTPPayloadType", "h245.RTPPayloadType",
15637         FT_NONE, BASE_NONE, NULL, 0,
15638         NULL, HFILL }},
15639     { &hf_h245_qosMode,
15640       { "qosMode", "h245.qosMode",
15641         FT_UINT32, BASE_DEC, VALS(h245_QOSMode_vals), 0,
15642         NULL, HFILL }},
15643     { &hf_h245_tokenRate,
15644       { "tokenRate", "h245.tokenRate",
15645         FT_UINT32, BASE_DEC, NULL, 0,
15646         "INTEGER_1_4294967295", HFILL }},
15647     { &hf_h245_bucketSize,
15648       { "bucketSize", "h245.bucketSize",
15649         FT_UINT32, BASE_DEC, NULL, 0,
15650         "INTEGER_1_4294967295", HFILL }},
15651     { &hf_h245_peakRate,
15652       { "peakRate", "h245.peakRate",
15653         FT_UINT32, BASE_DEC, NULL, 0,
15654         "INTEGER_1_4294967295", HFILL }},
15655     { &hf_h245_minPoliced,
15656       { "minPoliced", "h245.minPoliced",
15657         FT_UINT32, BASE_DEC, NULL, 0,
15658         "INTEGER_1_4294967295", HFILL }},
15659     { &hf_h245_maxPktSize,
15660       { "maxPktSize", "h245.maxPktSize",
15661         FT_UINT32, BASE_DEC, NULL, 0,
15662         "INTEGER_1_4294967295", HFILL }},
15663     { &hf_h245_guaranteedQOS,
15664       { "guaranteedQOS", "h245.guaranteedQOS",
15665         FT_NONE, BASE_NONE, NULL, 0,
15666         NULL, HFILL }},
15667     { &hf_h245_controlledLoad,
15668       { "controlledLoad", "h245.controlledLoad",
15669         FT_NONE, BASE_NONE, NULL, 0,
15670         NULL, HFILL }},
15671     { &hf_h245_maxNTUSize,
15672       { "maxNTUSize", "h245.maxNTUSize",
15673         FT_UINT32, BASE_DEC, NULL, 0,
15674         "INTEGER_0_65535", HFILL }},
15675     { &hf_h245_atmUBR,
15676       { "atmUBR", "h245.atmUBR",
15677         FT_BOOLEAN, BASE_NONE, NULL, 0,
15678         "BOOLEAN", HFILL }},
15679     { &hf_h245_atmrtVBR,
15680       { "atmrtVBR", "h245.atmrtVBR",
15681         FT_BOOLEAN, BASE_NONE, NULL, 0,
15682         "BOOLEAN", HFILL }},
15683     { &hf_h245_atmnrtVBR,
15684       { "atmnrtVBR", "h245.atmnrtVBR",
15685         FT_BOOLEAN, BASE_NONE, NULL, 0,
15686         "BOOLEAN", HFILL }},
15687     { &hf_h245_atmABR,
15688       { "atmABR", "h245.atmABR",
15689         FT_BOOLEAN, BASE_NONE, NULL, 0,
15690         "BOOLEAN", HFILL }},
15691     { &hf_h245_atmCBR,
15692       { "atmCBR", "h245.atmCBR",
15693         FT_BOOLEAN, BASE_NONE, NULL, 0,
15694         "BOOLEAN", HFILL }},
15695     { &hf_h245_nonStandardParameter,
15696       { "nonStandardParameter", "h245.nonStandardParameter",
15697         FT_NONE, BASE_NONE, NULL, 0,
15698         NULL, HFILL }},
15699     { &hf_h245_value,
15700       { "value", "h245.value",
15701         FT_UINT32, BASE_DEC, NULL, 0,
15702         "INTEGER_0_255", HFILL }},
15703     { &hf_h245_servicePrioritySignalled,
15704       { "servicePrioritySignalled", "h245.servicePrioritySignalled",
15705         FT_BOOLEAN, BASE_NONE, NULL, 0,
15706         "BOOLEAN", HFILL }},
15707     { &hf_h245_servicePriorityValue,
15708       { "servicePriorityValue", "h245.servicePriorityValue",
15709         FT_NONE, BASE_NONE, NULL, 0,
15710         NULL, HFILL }},
15711     { &hf_h245_serviceClass,
15712       { "serviceClass", "h245.serviceClass",
15713         FT_UINT32, BASE_DEC, NULL, 0,
15714         "INTEGER_0_4095", HFILL }},
15715     { &hf_h245_serviceSubclass,
15716       { "serviceSubclass", "h245.serviceSubclass",
15717         FT_UINT32, BASE_DEC, NULL, 0,
15718         "INTEGER_0_255", HFILL }},
15719     { &hf_h245_desired,
15720       { "desired", "h245.desired",
15721         FT_NONE, BASE_NONE, NULL, 0,
15722         NULL, HFILL }},
15723     { &hf_h245_required,
15724       { "required", "h245.required",
15725         FT_NONE, BASE_NONE, NULL, 0,
15726         NULL, HFILL }},
15727     { &hf_h245_class0,
15728       { "class0", "h245.class0",
15729         FT_NONE, BASE_NONE, NULL, 0,
15730         NULL, HFILL }},
15731     { &hf_h245_class1,
15732       { "class1", "h245.class1",
15733         FT_NONE, BASE_NONE, NULL, 0,
15734         NULL, HFILL }},
15735     { &hf_h245_class2,
15736       { "class2", "h245.class2",
15737         FT_NONE, BASE_NONE, NULL, 0,
15738         NULL, HFILL }},
15739     { &hf_h245_class3,
15740       { "class3", "h245.class3",
15741         FT_NONE, BASE_NONE, NULL, 0,
15742         NULL, HFILL }},
15743     { &hf_h245_class4,
15744       { "class4", "h245.class4",
15745         FT_NONE, BASE_NONE, NULL, 0,
15746         NULL, HFILL }},
15747     { &hf_h245_class5,
15748       { "class5", "h245.class5",
15749         FT_NONE, BASE_NONE, NULL, 0,
15750         NULL, HFILL }},
15751     { &hf_h245_qosType,
15752       { "qosType", "h245.qosType",
15753         FT_UINT32, BASE_DEC, VALS(h245_QOSType_vals), 0,
15754         NULL, HFILL }},
15755     { &hf_h245_qosClass,
15756       { "qosClass", "h245.qosClass",
15757         FT_UINT32, BASE_DEC, VALS(h245_QOSClass_vals), 0,
15758         NULL, HFILL }},
15759     { &hf_h245_averageRate,
15760       { "averageRate", "h245.averageRate",
15761         FT_UINT32, BASE_DEC, NULL, 0,
15762         "INTEGER_1_4294967295", HFILL }},
15763     { &hf_h245_burst,
15764       { "burst", "h245.burst",
15765         FT_UINT32, BASE_DEC, NULL, 0,
15766         "INTEGER_1_4294967295", HFILL }},
15767     { &hf_h245_rsvpParameters,
15768       { "rsvpParameters", "h245.rsvpParameters",
15769         FT_NONE, BASE_NONE, NULL, 0,
15770         NULL, HFILL }},
15771     { &hf_h245_atmParameters,
15772       { "atmParameters", "h245.atmParameters",
15773         FT_NONE, BASE_NONE, NULL, 0,
15774         NULL, HFILL }},
15775     { &hf_h245_localQoS,
15776       { "localQoS", "h245.localQoS",
15777         FT_BOOLEAN, BASE_NONE, NULL, 0,
15778         "BOOLEAN", HFILL }},
15779     { &hf_h245_genericTransportParameters,
15780       { "genericTransportParameters", "h245.genericTransportParameters",
15781         FT_NONE, BASE_NONE, NULL, 0,
15782         NULL, HFILL }},
15783     { &hf_h245_servicePriority,
15784       { "servicePriority", "h245.servicePriority",
15785         FT_NONE, BASE_NONE, NULL, 0,
15786         NULL, HFILL }},
15787     { &hf_h245_authorizationParameter,
15788       { "authorizationParameter", "h245.authorizationParameter",
15789         FT_NONE, BASE_NONE, NULL, 0,
15790         "AuthorizationParameters", HFILL }},
15791     { &hf_h245_qosDescriptor,
15792       { "qosDescriptor", "h245.qosDescriptor",
15793         FT_NONE, BASE_NONE, NULL, 0,
15794         NULL, HFILL }},
15795     { &hf_h245_dscpValue,
15796       { "dscpValue", "h245.dscpValue",
15797         FT_UINT32, BASE_DEC, NULL, 0,
15798         "INTEGER_0_63", HFILL }},
15799     { &hf_h245_ip_UDP,
15800       { "ip-UDP", "h245.ip_UDP",
15801         FT_NONE, BASE_NONE, NULL, 0,
15802         NULL, HFILL }},
15803     { &hf_h245_ip_TCP,
15804       { "ip-TCP", "h245.ip_TCP",
15805         FT_NONE, BASE_NONE, NULL, 0,
15806         NULL, HFILL }},
15807     { &hf_h245_atm_AAL5_UNIDIR,
15808       { "atm-AAL5-UNIDIR", "h245.atm_AAL5_UNIDIR",
15809         FT_NONE, BASE_NONE, NULL, 0,
15810         NULL, HFILL }},
15811     { &hf_h245_atm_AAL5_BIDIR,
15812       { "atm-AAL5-BIDIR", "h245.atm_AAL5_BIDIR",
15813         FT_NONE, BASE_NONE, NULL, 0,
15814         NULL, HFILL }},
15815     { &hf_h245_atm_AAL5_compressed,
15816       { "atm-AAL5-compressed", "h245.atm_AAL5_compressed",
15817         FT_NONE, BASE_NONE, NULL, 0,
15818         NULL, HFILL }},
15819     { &hf_h245_variable_delta,
15820       { "variable-delta", "h245.variable_delta",
15821         FT_BOOLEAN, BASE_NONE, NULL, 0,
15822         "BOOLEAN", HFILL }},
15823     { &hf_h245_mediaTransport,
15824       { "mediaTransport", "h245.mediaTransport",
15825         FT_UINT32, BASE_DEC, VALS(h245_MediaTransportType_vals), 0,
15826         "MediaTransportType", HFILL }},
15827     { &hf_h245_qOSCapabilities,
15828       { "qOSCapabilities", "h245.qOSCapabilities",
15829         FT_UINT32, BASE_DEC, NULL, 0,
15830         "SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }},
15831     { &hf_h245_qOSCapabilities_item,
15832       { "QOSCapability", "h245.QOSCapability",
15833         FT_NONE, BASE_NONE, NULL, 0,
15834         NULL, HFILL }},
15835     { &hf_h245_mediaChannelCapabilities,
15836       { "mediaChannelCapabilities", "h245.mediaChannelCapabilities",
15837         FT_UINT32, BASE_DEC, NULL, 0,
15838         "SEQUENCE_SIZE_1_256_OF_MediaChannelCapability", HFILL }},
15839     { &hf_h245_mediaChannelCapabilities_item,
15840       { "MediaChannelCapability", "h245.MediaChannelCapability",
15841         FT_NONE, BASE_NONE, NULL, 0,
15842         NULL, HFILL }},
15843     { &hf_h245_redundancyEncodingMethod,
15844       { "redundancyEncodingMethod", "h245.redundancyEncodingMethod",
15845         FT_UINT32, BASE_DEC, VALS(h245_RedundancyEncodingMethod_vals), 0,
15846         NULL, HFILL }},
15847     { &hf_h245_primaryEncoding,
15848       { "primaryEncoding", "h245.primaryEncoding",
15849         FT_UINT32, BASE_DEC, NULL, 0,
15850         "CapabilityTableEntryNumber", HFILL }},
15851     { &hf_h245_secondaryEncodingCapability,
15852       { "secondaryEncoding", "h245.secondaryEncoding",
15853         FT_UINT32, BASE_DEC, NULL, 0,
15854         "SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber", HFILL }},
15855     { &hf_h245_secondaryEncodingCapability_item,
15856       { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
15857         FT_UINT32, BASE_DEC, NULL, 0,
15858         NULL, HFILL }},
15859     { &hf_h245_rtpAudioRedundancyEncoding,
15860       { "rtpAudioRedundancyEncoding", "h245.rtpAudioRedundancyEncoding",
15861         FT_NONE, BASE_NONE, NULL, 0,
15862         NULL, HFILL }},
15863     { &hf_h245_rtpH263VideoRedundancyEncoding,
15864       { "rtpH263VideoRedundancyEncoding", "h245.rtpH263VideoRedundancyEncoding",
15865         FT_NONE, BASE_NONE, NULL, 0,
15866         NULL, HFILL }},
15867     { &hf_h245_numberOfThreads,
15868       { "numberOfThreads", "h245.numberOfThreads",
15869         FT_UINT32, BASE_DEC, NULL, 0,
15870         "INTEGER_1_16", HFILL }},
15871     { &hf_h245_framesBetweenSyncPoints,
15872       { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints",
15873         FT_UINT32, BASE_DEC, NULL, 0,
15874         "INTEGER_1_256", HFILL }},
15875     { &hf_h245_frameToThreadMapping,
15876       { "frameToThreadMapping", "h245.frameToThreadMapping",
15877         FT_UINT32, BASE_DEC, VALS(h245_T_frameToThreadMapping_vals), 0,
15878         NULL, HFILL }},
15879     { &hf_h245_roundrobin,
15880       { "roundrobin", "h245.roundrobin",
15881         FT_NONE, BASE_NONE, NULL, 0,
15882         NULL, HFILL }},
15883     { &hf_h245_custom,
15884       { "custom", "h245.custom",
15885         FT_UINT32, BASE_DEC, NULL, 0,
15886         "SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping", HFILL }},
15887     { &hf_h245_custom_item,
15888       { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping",
15889         FT_NONE, BASE_NONE, NULL, 0,
15890         NULL, HFILL }},
15891     { &hf_h245_containedThreads,
15892       { "containedThreads", "h245.containedThreads",
15893         FT_UINT32, BASE_DEC, NULL, 0,
15894         NULL, HFILL }},
15895     { &hf_h245_containedThreads_item,
15896       { "containedThreads item", "h245.containedThreads_item",
15897         FT_UINT32, BASE_DEC, NULL, 0,
15898         "INTEGER_0_15", HFILL }},
15899     { &hf_h245_threadNumber,
15900       { "threadNumber", "h245.threadNumber",
15901         FT_UINT32, BASE_DEC, NULL, 0,
15902         "INTEGER_0_15", HFILL }},
15903     { &hf_h245_frameSequence,
15904       { "frameSequence", "h245.frameSequence",
15905         FT_UINT32, BASE_DEC, NULL, 0,
15906         NULL, HFILL }},
15907     { &hf_h245_frameSequence_item,
15908       { "frameSequence item", "h245.frameSequence_item",
15909         FT_UINT32, BASE_DEC, NULL, 0,
15910         "INTEGER_0_255", HFILL }},
15911     { &hf_h245_multicastCapability,
15912       { "multicastCapability", "h245.multicastCapability",
15913         FT_BOOLEAN, BASE_NONE, NULL, 0,
15914         "BOOLEAN", HFILL }},
15915     { &hf_h245_multiUniCastConference,
15916       { "multiUniCastConference", "h245.multiUniCastConference",
15917         FT_BOOLEAN, BASE_NONE, NULL, 0,
15918         "BOOLEAN", HFILL }},
15919     { &hf_h245_mediaDistributionCapability,
15920       { "mediaDistributionCapability", "h245.mediaDistributionCapability",
15921         FT_UINT32, BASE_DEC, NULL, 0,
15922         "SEQUENCE_OF_MediaDistributionCapability", HFILL }},
15923     { &hf_h245_mediaDistributionCapability_item,
15924       { "MediaDistributionCapability", "h245.MediaDistributionCapability",
15925         FT_NONE, BASE_NONE, NULL, 0,
15926         NULL, HFILL }},
15927     { &hf_h245_centralizedControl,
15928       { "centralizedControl", "h245.centralizedControl",
15929         FT_BOOLEAN, BASE_NONE, NULL, 0,
15930         "BOOLEAN", HFILL }},
15931     { &hf_h245_distributedControl,
15932       { "distributedControl", "h245.distributedControl",
15933         FT_BOOLEAN, BASE_NONE, NULL, 0,
15934         "BOOLEAN", HFILL }},
15935     { &hf_h245_centralizedAudio,
15936       { "centralizedAudio", "h245.centralizedAudio",
15937         FT_BOOLEAN, BASE_NONE, NULL, 0,
15938         "BOOLEAN", HFILL }},
15939     { &hf_h245_distributedAudio,
15940       { "distributedAudio", "h245.distributedAudio",
15941         FT_BOOLEAN, BASE_NONE, NULL, 0,
15942         "BOOLEAN", HFILL }},
15943     { &hf_h245_centralizedVideo,
15944       { "centralizedVideo", "h245.centralizedVideo",
15945         FT_BOOLEAN, BASE_NONE, NULL, 0,
15946         "BOOLEAN", HFILL }},
15947     { &hf_h245_distributedVideo,
15948       { "distributedVideo", "h245.distributedVideo",
15949         FT_BOOLEAN, BASE_NONE, NULL, 0,
15950         "BOOLEAN", HFILL }},
15951     { &hf_h245_centralizedData,
15952       { "centralizedData", "h245.centralizedData",
15953         FT_UINT32, BASE_DEC, NULL, 0,
15954         "SEQUENCE_OF_DataApplicationCapability", HFILL }},
15955     { &hf_h245_centralizedData_item,
15956       { "DataApplicationCapability", "h245.DataApplicationCapability",
15957         FT_NONE, BASE_NONE, NULL, 0,
15958         NULL, HFILL }},
15959     { &hf_h245_distributedData,
15960       { "distributedData", "h245.distributedData",
15961         FT_UINT32, BASE_DEC, NULL, 0,
15962         "SEQUENCE_OF_DataApplicationCapability", HFILL }},
15963     { &hf_h245_distributedData_item,
15964       { "DataApplicationCapability", "h245.DataApplicationCapability",
15965         FT_NONE, BASE_NONE, NULL, 0,
15966         NULL, HFILL }},
15967     { &hf_h245_h261VideoCapability,
15968       { "h261VideoCapability", "h245.h261VideoCapability",
15969         FT_NONE, BASE_NONE, NULL, 0,
15970         NULL, HFILL }},
15971     { &hf_h245_h262VideoCapability,
15972       { "h262VideoCapability", "h245.h262VideoCapability",
15973         FT_NONE, BASE_NONE, NULL, 0,
15974         NULL, HFILL }},
15975     { &hf_h245_h263VideoCapability,
15976       { "h263VideoCapability", "h245.h263VideoCapability",
15977         FT_NONE, BASE_NONE, NULL, 0,
15978         NULL, HFILL }},
15979     { &hf_h245_is11172VideoCapability,
15980       { "is11172VideoCapability", "h245.is11172VideoCapability",
15981         FT_NONE, BASE_NONE, NULL, 0,
15982         NULL, HFILL }},
15983     { &hf_h245_genericVideoCapability,
15984       { "genericVideoCapability", "h245.genericVideoCapability",
15985         FT_NONE, BASE_NONE, NULL, 0,
15986         "GenericCapability", HFILL }},
15987     { &hf_h245_extendedVideoCapability,
15988       { "extendedVideoCapability", "h245.extendedVideoCapability",
15989         FT_NONE, BASE_NONE, NULL, 0,
15990         NULL, HFILL }},
15991     { &hf_h245_videoCapability,
15992       { "videoCapability", "h245.videoCapability",
15993         FT_UINT32, BASE_DEC, NULL, 0,
15994         "SEQUENCE_OF_VideoCapability", HFILL }},
15995     { &hf_h245_videoCapability_item,
15996       { "VideoCapability", "h245.VideoCapability",
15997         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15998         NULL, HFILL }},
15999     { &hf_h245_videoCapabilityExtension,
16000       { "videoCapabilityExtension", "h245.videoCapabilityExtension",
16001         FT_UINT32, BASE_DEC, NULL, 0,
16002         "SEQUENCE_OF_GenericCapability", HFILL }},
16003     { &hf_h245_videoCapabilityExtension_item,
16004       { "GenericCapability", "h245.GenericCapability",
16005         FT_NONE, BASE_NONE, NULL, 0,
16006         NULL, HFILL }},
16007     { &hf_h245_qcifMPI_1_4,
16008       { "qcifMPI", "h245.qcifMPI",
16009         FT_UINT32, BASE_DEC, NULL, 0,
16010         "INTEGER_1_4", HFILL }},
16011     { &hf_h245_cifMPI_1_4,
16012       { "cifMPI", "h245.cifMPI",
16013         FT_UINT32, BASE_DEC, NULL, 0,
16014         "INTEGER_1_4", HFILL }},
16015     { &hf_h245_temporalSpatialTradeOffCapability,
16016       { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability",
16017         FT_BOOLEAN, BASE_NONE, NULL, 0,
16018         "BOOLEAN", HFILL }},
16019     { &hf_h245_maxBitRate_1_19200,
16020       { "maxBitRate", "h245.maxBitRate",
16021         FT_UINT32, BASE_DEC, NULL, 0,
16022         "INTEGER_1_19200", HFILL }},
16023     { &hf_h245_stillImageTransmission,
16024       { "stillImageTransmission", "h245.stillImageTransmission",
16025         FT_BOOLEAN, BASE_NONE, NULL, 0,
16026         "BOOLEAN", HFILL }},
16027     { &hf_h245_videoBadMBsCap,
16028       { "videoBadMBsCap", "h245.videoBadMBsCap",
16029         FT_BOOLEAN, BASE_NONE, NULL, 0,
16030         "BOOLEAN", HFILL }},
16031     { &hf_h245_profileAndLevel_SPatML,
16032       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
16033         FT_BOOLEAN, BASE_NONE, NULL, 0,
16034         "BOOLEAN", HFILL }},
16035     { &hf_h245_profileAndLevel_MPatLL,
16036       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
16037         FT_BOOLEAN, BASE_NONE, NULL, 0,
16038         "BOOLEAN", HFILL }},
16039     { &hf_h245_profileAndLevel_MPatML,
16040       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
16041         FT_BOOLEAN, BASE_NONE, NULL, 0,
16042         "BOOLEAN", HFILL }},
16043     { &hf_h245_profileAndLevel_MPatH_14,
16044       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
16045         FT_BOOLEAN, BASE_NONE, NULL, 0,
16046         "BOOLEAN", HFILL }},
16047     { &hf_h245_profileAndLevel_MPatHL,
16048       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
16049         FT_BOOLEAN, BASE_NONE, NULL, 0,
16050         "BOOLEAN", HFILL }},
16051     { &hf_h245_profileAndLevel_SNRatLL,
16052       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
16053         FT_BOOLEAN, BASE_NONE, NULL, 0,
16054         "BOOLEAN", HFILL }},
16055     { &hf_h245_profileAndLevel_SNRatML,
16056       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
16057         FT_BOOLEAN, BASE_NONE, NULL, 0,
16058         "BOOLEAN", HFILL }},
16059     { &hf_h245_profileAndLevel_SpatialatH_14,
16060       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
16061         FT_BOOLEAN, BASE_NONE, NULL, 0,
16062         "BOOLEAN", HFILL }},
16063     { &hf_h245_profileAndLevel_HPatML,
16064       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
16065         FT_BOOLEAN, BASE_NONE, NULL, 0,
16066         "BOOLEAN", HFILL }},
16067     { &hf_h245_profileAndLevel_HPatH_14,
16068       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
16069         FT_BOOLEAN, BASE_NONE, NULL, 0,
16070         "BOOLEAN", HFILL }},
16071     { &hf_h245_profileAndLevel_HPatHL,
16072       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
16073         FT_BOOLEAN, BASE_NONE, NULL, 0,
16074         "BOOLEAN", HFILL }},
16075     { &hf_h245_videoBitRate,
16076       { "videoBitRate", "h245.videoBitRate",
16077         FT_UINT32, BASE_DEC, NULL, 0,
16078         "INTEGER_0_1073741823", HFILL }},
16079     { &hf_h245_vbvBufferSize,
16080       { "vbvBufferSize", "h245.vbvBufferSize",
16081         FT_UINT32, BASE_DEC, NULL, 0,
16082         "INTEGER_0_262143", HFILL }},
16083     { &hf_h245_samplesPerLine,
16084       { "samplesPerLine", "h245.samplesPerLine",
16085         FT_UINT32, BASE_DEC, NULL, 0,
16086         "INTEGER_0_16383", HFILL }},
16087     { &hf_h245_linesPerFrame,
16088       { "linesPerFrame", "h245.linesPerFrame",
16089         FT_UINT32, BASE_DEC, NULL, 0,
16090         "INTEGER_0_16383", HFILL }},
16091     { &hf_h245_framesPerSecond,
16092       { "framesPerSecond", "h245.framesPerSecond",
16093         FT_UINT32, BASE_DEC, NULL, 0,
16094         "INTEGER_0_15", HFILL }},
16095     { &hf_h245_luminanceSampleRate,
16096       { "luminanceSampleRate", "h245.luminanceSampleRate",
16097         FT_UINT32, BASE_DEC, NULL, 0,
16098         "INTEGER_0_4294967295", HFILL }},
16099     { &hf_h245_sqcifMPI_1_32,
16100       { "sqcifMPI", "h245.sqcifMPI",
16101         FT_UINT32, BASE_DEC, NULL, 0,
16102         "INTEGER_1_32", HFILL }},
16103     { &hf_h245_qcifMPI,
16104       { "qcifMPI", "h245.qcifMPI",
16105         FT_UINT32, BASE_DEC, NULL, 0,
16106         "INTEGER_1_32", HFILL }},
16107     { &hf_h245_cifMPI,
16108       { "cifMPI", "h245.cifMPI",
16109         FT_UINT32, BASE_DEC, NULL, 0,
16110         "INTEGER_1_32", HFILL }},
16111     { &hf_h245_cif4MPI_1_32,
16112       { "cif4MPI", "h245.cif4MPI",
16113         FT_UINT32, BASE_DEC, NULL, 0,
16114         "INTEGER_1_32", HFILL }},
16115     { &hf_h245_cif16MPI_1_32,
16116       { "cif16MPI", "h245.cif16MPI",
16117         FT_UINT32, BASE_DEC, NULL, 0,
16118         "INTEGER_1_32", HFILL }},
16119     { &hf_h245_maxBitRate,
16120       { "maxBitRate", "h245.maxBitRate",
16121         FT_UINT32, BASE_DEC, NULL, 0,
16122         "INTEGER_1_192400", HFILL }},
16123     { &hf_h245_unrestrictedVector,
16124       { "unrestrictedVector", "h245.unrestrictedVector",
16125         FT_BOOLEAN, BASE_NONE, NULL, 0,
16126         "BOOLEAN", HFILL }},
16127     { &hf_h245_arithmeticCoding,
16128       { "arithmeticCoding", "h245.arithmeticCoding",
16129         FT_BOOLEAN, BASE_NONE, NULL, 0,
16130         "BOOLEAN", HFILL }},
16131     { &hf_h245_advancedPrediction,
16132       { "advancedPrediction", "h245.advancedPrediction",
16133         FT_BOOLEAN, BASE_NONE, NULL, 0,
16134         "BOOLEAN", HFILL }},
16135     { &hf_h245_pbFrames,
16136       { "pbFrames", "h245.pbFrames",
16137         FT_BOOLEAN, BASE_NONE, NULL, 0,
16138         "BOOLEAN", HFILL }},
16139     { &hf_h245_hrd_B,
16140       { "hrd-B", "h245.hrd_B",
16141         FT_UINT32, BASE_DEC, NULL, 0,
16142         "INTEGER_0_524287", HFILL }},
16143     { &hf_h245_bppMaxKb,
16144       { "bppMaxKb", "h245.bppMaxKb",
16145         FT_UINT32, BASE_DEC, NULL, 0,
16146         "INTEGER_0_65535", HFILL }},
16147     { &hf_h245_slowSqcifMPI,
16148       { "slowSqcifMPI", "h245.slowSqcifMPI",
16149         FT_UINT32, BASE_DEC, NULL, 0,
16150         "INTEGER_1_3600", HFILL }},
16151     { &hf_h245_slowQcifMPI,
16152       { "slowQcifMPI", "h245.slowQcifMPI",
16153         FT_UINT32, BASE_DEC, NULL, 0,
16154         "INTEGER_1_3600", HFILL }},
16155     { &hf_h245_slowCifMPI,
16156       { "slowCifMPI", "h245.slowCifMPI",
16157         FT_UINT32, BASE_DEC, NULL, 0,
16158         "INTEGER_1_3600", HFILL }},
16159     { &hf_h245_slowCif4MPI,
16160       { "slowCif4MPI", "h245.slowCif4MPI",
16161         FT_UINT32, BASE_DEC, NULL, 0,
16162         "INTEGER_1_3600", HFILL }},
16163     { &hf_h245_slowCif16MPI,
16164       { "slowCif16MPI", "h245.slowCif16MPI",
16165         FT_UINT32, BASE_DEC, NULL, 0,
16166         "INTEGER_1_3600", HFILL }},
16167     { &hf_h245_errorCompensation,
16168       { "errorCompensation", "h245.errorCompensation",
16169         FT_BOOLEAN, BASE_NONE, NULL, 0,
16170         "BOOLEAN", HFILL }},
16171     { &hf_h245_enhancementLayerInfo,
16172       { "enhancementLayerInfo", "h245.enhancementLayerInfo",
16173         FT_NONE, BASE_NONE, NULL, 0,
16174         NULL, HFILL }},
16175     { &hf_h245_h263Options,
16176       { "h263Options", "h245.h263Options",
16177         FT_NONE, BASE_NONE, NULL, 0,
16178         NULL, HFILL }},
16179     { &hf_h245_baseBitRateConstrained,
16180       { "baseBitRateConstrained", "h245.baseBitRateConstrained",
16181         FT_BOOLEAN, BASE_NONE, NULL, 0,
16182         "BOOLEAN", HFILL }},
16183     { &hf_h245_snrEnhancement,
16184       { "snrEnhancement", "h245.snrEnhancement",
16185         FT_UINT32, BASE_DEC, NULL, 0,
16186         "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16187     { &hf_h245_snrEnhancement_item,
16188       { "EnhancementOptions", "h245.EnhancementOptions",
16189         FT_NONE, BASE_NONE, NULL, 0,
16190         NULL, HFILL }},
16191     { &hf_h245_spatialEnhancement,
16192       { "spatialEnhancement", "h245.spatialEnhancement",
16193         FT_UINT32, BASE_DEC, NULL, 0,
16194         "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16195     { &hf_h245_spatialEnhancement_item,
16196       { "EnhancementOptions", "h245.EnhancementOptions",
16197         FT_NONE, BASE_NONE, NULL, 0,
16198         NULL, HFILL }},
16199     { &hf_h245_bPictureEnhancement,
16200       { "bPictureEnhancement", "h245.bPictureEnhancement",
16201         FT_UINT32, BASE_DEC, NULL, 0,
16202         "SET_SIZE_1_14_OF_BEnhancementParameters", HFILL }},
16203     { &hf_h245_bPictureEnhancement_item,
16204       { "BEnhancementParameters", "h245.BEnhancementParameters",
16205         FT_NONE, BASE_NONE, NULL, 0,
16206         NULL, HFILL }},
16207     { &hf_h245_enhancementOptions,
16208       { "enhancementOptions", "h245.enhancementOptions",
16209         FT_NONE, BASE_NONE, NULL, 0,
16210         NULL, HFILL }},
16211     { &hf_h245_numberOfBPictures,
16212       { "numberOfBPictures", "h245.numberOfBPictures",
16213         FT_UINT32, BASE_DEC, NULL, 0,
16214         "INTEGER_1_64", HFILL }},
16215     { &hf_h245_advancedIntraCodingMode,
16216       { "advancedIntraCodingMode", "h245.advancedIntraCodingMode",
16217         FT_BOOLEAN, BASE_NONE, NULL, 0,
16218         "BOOLEAN", HFILL }},
16219     { &hf_h245_deblockingFilterMode,
16220       { "deblockingFilterMode", "h245.deblockingFilterMode",
16221         FT_BOOLEAN, BASE_NONE, NULL, 0,
16222         "BOOLEAN", HFILL }},
16223     { &hf_h245_improvedPBFramesMode,
16224       { "improvedPBFramesMode", "h245.improvedPBFramesMode",
16225         FT_BOOLEAN, BASE_NONE, NULL, 0,
16226         "BOOLEAN", HFILL }},
16227     { &hf_h245_unlimitedMotionVectors,
16228       { "unlimitedMotionVectors", "h245.unlimitedMotionVectors",
16229         FT_BOOLEAN, BASE_NONE, NULL, 0,
16230         "BOOLEAN", HFILL }},
16231     { &hf_h245_fullPictureFreeze,
16232       { "fullPictureFreeze", "h245.fullPictureFreeze",
16233         FT_BOOLEAN, BASE_NONE, NULL, 0,
16234         "BOOLEAN", HFILL }},
16235     { &hf_h245_partialPictureFreezeAndRelease,
16236       { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease",
16237         FT_BOOLEAN, BASE_NONE, NULL, 0,
16238         "BOOLEAN", HFILL }},
16239     { &hf_h245_resizingPartPicFreezeAndRelease,
16240       { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease",
16241         FT_BOOLEAN, BASE_NONE, NULL, 0,
16242         "BOOLEAN", HFILL }},
16243     { &hf_h245_fullPictureSnapshot,
16244       { "fullPictureSnapshot", "h245.fullPictureSnapshot",
16245         FT_BOOLEAN, BASE_NONE, NULL, 0,
16246         "BOOLEAN", HFILL }},
16247     { &hf_h245_partialPictureSnapshot,
16248       { "partialPictureSnapshot", "h245.partialPictureSnapshot",
16249         FT_BOOLEAN, BASE_NONE, NULL, 0,
16250         "BOOLEAN", HFILL }},
16251     { &hf_h245_videoSegmentTagging,
16252       { "videoSegmentTagging", "h245.videoSegmentTagging",
16253         FT_BOOLEAN, BASE_NONE, NULL, 0,
16254         "BOOLEAN", HFILL }},
16255     { &hf_h245_progressiveRefinement,
16256       { "progressiveRefinement", "h245.progressiveRefinement",
16257         FT_BOOLEAN, BASE_NONE, NULL, 0,
16258         "BOOLEAN", HFILL }},
16259     { &hf_h245_dynamicPictureResizingByFour,
16260       { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour",
16261         FT_BOOLEAN, BASE_NONE, NULL, 0,
16262         "BOOLEAN", HFILL }},
16263     { &hf_h245_dynamicPictureResizingSixteenthPel,
16264       { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel",
16265         FT_BOOLEAN, BASE_NONE, NULL, 0,
16266         "BOOLEAN", HFILL }},
16267     { &hf_h245_dynamicWarpingHalfPel,
16268       { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel",
16269         FT_BOOLEAN, BASE_NONE, NULL, 0,
16270         "BOOLEAN", HFILL }},
16271     { &hf_h245_dynamicWarpingSixteenthPel,
16272       { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel",
16273         FT_BOOLEAN, BASE_NONE, NULL, 0,
16274         "BOOLEAN", HFILL }},
16275     { &hf_h245_independentSegmentDecoding,
16276       { "independentSegmentDecoding", "h245.independentSegmentDecoding",
16277         FT_BOOLEAN, BASE_NONE, NULL, 0,
16278         "BOOLEAN", HFILL }},
16279     { &hf_h245_slicesInOrder_NonRect,
16280       { "slicesInOrder-NonRect", "h245.slicesInOrder_NonRect",
16281         FT_BOOLEAN, BASE_NONE, NULL, 0,
16282         "BOOLEAN", HFILL }},
16283     { &hf_h245_slicesInOrder_Rect,
16284       { "slicesInOrder-Rect", "h245.slicesInOrder_Rect",
16285         FT_BOOLEAN, BASE_NONE, NULL, 0,
16286         "BOOLEAN", HFILL }},
16287     { &hf_h245_slicesNoOrder_NonRect,
16288       { "slicesNoOrder-NonRect", "h245.slicesNoOrder_NonRect",
16289         FT_BOOLEAN, BASE_NONE, NULL, 0,
16290         "BOOLEAN", HFILL }},
16291     { &hf_h245_slicesNoOrder_Rect,
16292       { "slicesNoOrder-Rect", "h245.slicesNoOrder_Rect",
16293         FT_BOOLEAN, BASE_NONE, NULL, 0,
16294         "BOOLEAN", HFILL }},
16295     { &hf_h245_alternateInterVLCMode,
16296       { "alternateInterVLCMode", "h245.alternateInterVLCMode",
16297         FT_BOOLEAN, BASE_NONE, NULL, 0,
16298         "BOOLEAN", HFILL }},
16299     { &hf_h245_modifiedQuantizationMode,
16300       { "modifiedQuantizationMode", "h245.modifiedQuantizationMode",
16301         FT_BOOLEAN, BASE_NONE, NULL, 0,
16302         "BOOLEAN", HFILL }},
16303     { &hf_h245_reducedResolutionUpdate,
16304       { "reducedResolutionUpdate", "h245.reducedResolutionUpdate",
16305         FT_BOOLEAN, BASE_NONE, NULL, 0,
16306         "BOOLEAN", HFILL }},
16307     { &hf_h245_transparencyParameters,
16308       { "transparencyParameters", "h245.transparencyParameters",
16309         FT_NONE, BASE_NONE, NULL, 0,
16310         NULL, HFILL }},
16311     { &hf_h245_separateVideoBackChannel,
16312       { "separateVideoBackChannel", "h245.separateVideoBackChannel",
16313         FT_BOOLEAN, BASE_NONE, NULL, 0,
16314         "BOOLEAN", HFILL }},
16315     { &hf_h245_refPictureSelection,
16316       { "refPictureSelection", "h245.refPictureSelection",
16317         FT_NONE, BASE_NONE, NULL, 0,
16318         NULL, HFILL }},
16319     { &hf_h245_customPictureClockFrequency,
16320       { "customPictureClockFrequency", "h245.customPictureClockFrequency",
16321         FT_UINT32, BASE_DEC, NULL, 0,
16322         "SET_SIZE_1_16_OF_CustomPictureClockFrequency", HFILL }},
16323     { &hf_h245_customPictureClockFrequency_item,
16324       { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency",
16325         FT_NONE, BASE_NONE, NULL, 0,
16326         NULL, HFILL }},
16327     { &hf_h245_customPictureFormat,
16328       { "customPictureFormat", "h245.customPictureFormat",
16329         FT_UINT32, BASE_DEC, NULL, 0,
16330         "SET_SIZE_1_16_OF_CustomPictureFormat", HFILL }},
16331     { &hf_h245_customPictureFormat_item,
16332       { "CustomPictureFormat", "h245.CustomPictureFormat",
16333         FT_NONE, BASE_NONE, NULL, 0,
16334         NULL, HFILL }},
16335     { &hf_h245_modeCombos,
16336       { "modeCombos", "h245.modeCombos",
16337         FT_UINT32, BASE_DEC, NULL, 0,
16338         "SET_SIZE_1_16_OF_H263VideoModeCombos", HFILL }},
16339     { &hf_h245_modeCombos_item,
16340       { "H263VideoModeCombos", "h245.H263VideoModeCombos",
16341         FT_NONE, BASE_NONE, NULL, 0,
16342         NULL, HFILL }},
16343     { &hf_h245_h263Version3Options,
16344       { "h263Version3Options", "h245.h263Version3Options",
16345         FT_NONE, BASE_NONE, NULL, 0,
16346         NULL, HFILL }},
16347     { &hf_h245_presentationOrder,
16348       { "presentationOrder", "h245.presentationOrder",
16349         FT_UINT32, BASE_DEC, NULL, 0,
16350         "INTEGER_1_256", HFILL }},
16351     { &hf_h245_offset_x,
16352       { "offset-x", "h245.offset_x",
16353         FT_INT32, BASE_DEC, NULL, 0,
16354         "INTEGER_M262144_262143", HFILL }},
16355     { &hf_h245_offset_y,
16356       { "offset-y", "h245.offset_y",
16357         FT_INT32, BASE_DEC, NULL, 0,
16358         "INTEGER_M262144_262143", HFILL }},
16359     { &hf_h245_scale_x,
16360       { "scale-x", "h245.scale_x",
16361         FT_UINT32, BASE_DEC, NULL, 0,
16362         "INTEGER_1_255", HFILL }},
16363     { &hf_h245_scale_y,
16364       { "scale-y", "h245.scale_y",
16365         FT_UINT32, BASE_DEC, NULL, 0,
16366         "INTEGER_1_255", HFILL }},
16367     { &hf_h245_additionalPictureMemory,
16368       { "additionalPictureMemory", "h245.additionalPictureMemory",
16369         FT_NONE, BASE_NONE, NULL, 0,
16370         NULL, HFILL }},
16371     { &hf_h245_sqcifAdditionalPictureMemory,
16372       { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory",
16373         FT_UINT32, BASE_DEC, NULL, 0,
16374         "INTEGER_1_256", HFILL }},
16375     { &hf_h245_qcifAdditionalPictureMemory,
16376       { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory",
16377         FT_UINT32, BASE_DEC, NULL, 0,
16378         "INTEGER_1_256", HFILL }},
16379     { &hf_h245_cifAdditionalPictureMemory,
16380       { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory",
16381         FT_UINT32, BASE_DEC, NULL, 0,
16382         "INTEGER_1_256", HFILL }},
16383     { &hf_h245_cif4AdditionalPictureMemory,
16384       { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory",
16385         FT_UINT32, BASE_DEC, NULL, 0,
16386         "INTEGER_1_256", HFILL }},
16387     { &hf_h245_cif16AdditionalPictureMemory,
16388       { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory",
16389         FT_UINT32, BASE_DEC, NULL, 0,
16390         "INTEGER_1_256", HFILL }},
16391     { &hf_h245_bigCpfAdditionalPictureMemory,
16392       { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory",
16393         FT_UINT32, BASE_DEC, NULL, 0,
16394         "INTEGER_1_256", HFILL }},
16395     { &hf_h245_videoMux,
16396       { "videoMux", "h245.videoMux",
16397         FT_BOOLEAN, BASE_NONE, NULL, 0,
16398         "BOOLEAN", HFILL }},
16399     { &hf_h245_videoBackChannelSend,
16400       { "videoBackChannelSend", "h245.videoBackChannelSend",
16401         FT_UINT32, BASE_DEC, VALS(h245_T_videoBackChannelSend_vals), 0,
16402         NULL, HFILL }},
16403     { &hf_h245_none,
16404       { "none", "h245.none",
16405         FT_NONE, BASE_NONE, NULL, 0,
16406         NULL, HFILL }},
16407     { &hf_h245_ackMessageOnly,
16408       { "ackMessageOnly", "h245.ackMessageOnly",
16409         FT_NONE, BASE_NONE, NULL, 0,
16410         NULL, HFILL }},
16411     { &hf_h245_nackMessageOnly,
16412       { "nackMessageOnly", "h245.nackMessageOnly",
16413         FT_NONE, BASE_NONE, NULL, 0,
16414         NULL, HFILL }},
16415     { &hf_h245_ackOrNackMessageOnly,
16416       { "ackOrNackMessageOnly", "h245.ackOrNackMessageOnly",
16417         FT_NONE, BASE_NONE, NULL, 0,
16418         NULL, HFILL }},
16419     { &hf_h245_ackAndNackMessage,
16420       { "ackAndNackMessage", "h245.ackAndNackMessage",
16421         FT_NONE, BASE_NONE, NULL, 0,
16422         NULL, HFILL }},
16423     { &hf_h245_enhancedReferencePicSelect,
16424       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16425         FT_NONE, BASE_NONE, NULL, 0,
16426         NULL, HFILL }},
16427     { &hf_h245_subPictureRemovalParameters,
16428       { "subPictureRemovalParameters", "h245.subPictureRemovalParameters",
16429         FT_NONE, BASE_NONE, NULL, 0,
16430         NULL, HFILL }},
16431     { &hf_h245_mpuHorizMBs,
16432       { "mpuHorizMBs", "h245.mpuHorizMBs",
16433         FT_UINT32, BASE_DEC, NULL, 0,
16434         "INTEGER_1_128", HFILL }},
16435     { &hf_h245_mpuVertMBs,
16436       { "mpuVertMBs", "h245.mpuVertMBs",
16437         FT_UINT32, BASE_DEC, NULL, 0,
16438         "INTEGER_1_72", HFILL }},
16439     { &hf_h245_mpuTotalNumber,
16440       { "mpuTotalNumber", "h245.mpuTotalNumber",
16441         FT_UINT32, BASE_DEC, NULL, 0,
16442         "INTEGER_1_65536", HFILL }},
16443     { &hf_h245_clockConversionCode,
16444       { "clockConversionCode", "h245.clockConversionCode",
16445         FT_UINT32, BASE_DEC, NULL, 0,
16446         "INTEGER_1000_1001", HFILL }},
16447     { &hf_h245_clockDivisor,
16448       { "clockDivisor", "h245.clockDivisor",
16449         FT_UINT32, BASE_DEC, NULL, 0,
16450         "INTEGER_1_127", HFILL }},
16451     { &hf_h245_sqcifMPI,
16452       { "sqcifMPI", "h245.sqcifMPI",
16453         FT_UINT32, BASE_DEC, NULL, 0,
16454         "INTEGER_1_2048", HFILL }},
16455     { &hf_h245_qcifMPI_1_2048,
16456       { "qcifMPI", "h245.qcifMPI",
16457         FT_UINT32, BASE_DEC, NULL, 0,
16458         "INTEGER_1_2048", HFILL }},
16459     { &hf_h245_cifMPI2_1_2048,
16460       { "cifMPI", "h245.cifMPI",
16461         FT_UINT32, BASE_DEC, NULL, 0,
16462         "INTEGER_1_2048", HFILL }},
16463     { &hf_h245_cif4MPI,
16464       { "cif4MPI", "h245.cif4MPI",
16465         FT_UINT32, BASE_DEC, NULL, 0,
16466         "INTEGER_1_2048", HFILL }},
16467     { &hf_h245_cif16MPI,
16468       { "cif16MPI", "h245.cif16MPI",
16469         FT_UINT32, BASE_DEC, NULL, 0,
16470         "INTEGER_1_2048", HFILL }},
16471     { &hf_h245_maxCustomPictureWidth,
16472       { "maxCustomPictureWidth", "h245.maxCustomPictureWidth",
16473         FT_UINT32, BASE_DEC, NULL, 0,
16474         "INTEGER_1_2048", HFILL }},
16475     { &hf_h245_maxCustomPictureHeight,
16476       { "maxCustomPictureHeight", "h245.maxCustomPictureHeight",
16477         FT_UINT32, BASE_DEC, NULL, 0,
16478         "INTEGER_1_2048", HFILL }},
16479     { &hf_h245_minCustomPictureWidth,
16480       { "minCustomPictureWidth", "h245.minCustomPictureWidth",
16481         FT_UINT32, BASE_DEC, NULL, 0,
16482         "INTEGER_1_2048", HFILL }},
16483     { &hf_h245_minCustomPictureHeight,
16484       { "minCustomPictureHeight", "h245.minCustomPictureHeight",
16485         FT_UINT32, BASE_DEC, NULL, 0,
16486         "INTEGER_1_2048", HFILL }},
16487     { &hf_h245_mPI,
16488       { "mPI", "h245.mPI",
16489         FT_NONE, BASE_NONE, NULL, 0,
16490         NULL, HFILL }},
16491     { &hf_h245_standardMPI,
16492       { "standardMPI", "h245.standardMPI",
16493         FT_UINT32, BASE_DEC, NULL, 0,
16494         "INTEGER_1_31", HFILL }},
16495     { &hf_h245_customPCF,
16496       { "customPCF", "h245.customPCF",
16497         FT_UINT32, BASE_DEC, NULL, 0,
16498         NULL, HFILL }},
16499     { &hf_h245_customPCF_item,
16500       { "customPCF item", "h245.customPCF_item",
16501         FT_NONE, BASE_NONE, NULL, 0,
16502         NULL, HFILL }},
16503     { &hf_h245_customMPI,
16504       { "customMPI", "h245.customMPI",
16505         FT_UINT32, BASE_DEC, NULL, 0,
16506         "INTEGER_1_2048", HFILL }},
16507     { &hf_h245_pixelAspectInformation,
16508       { "pixelAspectInformation", "h245.pixelAspectInformation",
16509         FT_UINT32, BASE_DEC, VALS(h245_T_pixelAspectInformation_vals), 0,
16510         NULL, HFILL }},
16511     { &hf_h245_anyPixelAspectRatio,
16512       { "anyPixelAspectRatio", "h245.anyPixelAspectRatio",
16513         FT_BOOLEAN, BASE_NONE, NULL, 0,
16514         "BOOLEAN", HFILL }},
16515     { &hf_h245_pixelAspectCode,
16516       { "pixelAspectCode", "h245.pixelAspectCode",
16517         FT_UINT32, BASE_DEC, NULL, 0,
16518         NULL, HFILL }},
16519     { &hf_h245_pixelAspectCode_item,
16520       { "pixelAspectCode item", "h245.pixelAspectCode_item",
16521         FT_UINT32, BASE_DEC, NULL, 0,
16522         "INTEGER_1_14", HFILL }},
16523     { &hf_h245_extendedPAR,
16524       { "extendedPAR", "h245.extendedPAR",
16525         FT_UINT32, BASE_DEC, NULL, 0,
16526         NULL, HFILL }},
16527     { &hf_h245_extendedPAR_item,
16528       { "extendedPAR item", "h245.extendedPAR_item",
16529         FT_NONE, BASE_NONE, NULL, 0,
16530         NULL, HFILL }},
16531     { &hf_h245_width,
16532       { "width", "h245.width",
16533         FT_UINT32, BASE_DEC, NULL, 0,
16534         "INTEGER_1_255", HFILL }},
16535     { &hf_h245_height,
16536       { "height", "h245.height",
16537         FT_UINT32, BASE_DEC, NULL, 0,
16538         "INTEGER_1_255", HFILL }},
16539     { &hf_h245_h263VideoUncoupledModes,
16540       { "h263VideoUncoupledModes", "h245.h263VideoUncoupledModes",
16541         FT_NONE, BASE_NONE, NULL, 0,
16542         "H263ModeComboFlags", HFILL }},
16543     { &hf_h245_h263VideoCoupledModes,
16544       { "h263VideoCoupledModes", "h245.h263VideoCoupledModes",
16545         FT_UINT32, BASE_DEC, NULL, 0,
16546         "SET_SIZE_1_16_OF_H263ModeComboFlags", HFILL }},
16547     { &hf_h245_h263VideoCoupledModes_item,
16548       { "H263ModeComboFlags", "h245.H263ModeComboFlags",
16549         FT_NONE, BASE_NONE, NULL, 0,
16550         NULL, HFILL }},
16551     { &hf_h245_referencePicSelect,
16552       { "referencePicSelect", "h245.referencePicSelect",
16553         FT_BOOLEAN, BASE_NONE, NULL, 0,
16554         "BOOLEAN", HFILL }},
16555     { &hf_h245_enhancedReferencePicSelectBool,
16556       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16557         FT_BOOLEAN, BASE_NONE, NULL, 0,
16558         "BOOLEAN", HFILL }},
16559     { &hf_h245_dataPartitionedSlices,
16560       { "dataPartitionedSlices", "h245.dataPartitionedSlices",
16561         FT_BOOLEAN, BASE_NONE, NULL, 0,
16562         "BOOLEAN", HFILL }},
16563     { &hf_h245_fixedPointIDCT0,
16564       { "fixedPointIDCT0", "h245.fixedPointIDCT0",
16565         FT_BOOLEAN, BASE_NONE, NULL, 0,
16566         "BOOLEAN", HFILL }},
16567     { &hf_h245_interlacedFields,
16568       { "interlacedFields", "h245.interlacedFields",
16569         FT_BOOLEAN, BASE_NONE, NULL, 0,
16570         "BOOLEAN", HFILL }},
16571     { &hf_h245_currentPictureHeaderRepetition,
16572       { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition",
16573         FT_BOOLEAN, BASE_NONE, NULL, 0,
16574         "BOOLEAN", HFILL }},
16575     { &hf_h245_previousPictureHeaderRepetition,
16576       { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition",
16577         FT_BOOLEAN, BASE_NONE, NULL, 0,
16578         "BOOLEAN", HFILL }},
16579     { &hf_h245_nextPictureHeaderRepetition,
16580       { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition",
16581         FT_BOOLEAN, BASE_NONE, NULL, 0,
16582         "BOOLEAN", HFILL }},
16583     { &hf_h245_pictureNumberBoolean,
16584       { "pictureNumber", "h245.pictureNumber",
16585         FT_BOOLEAN, BASE_NONE, NULL, 0,
16586         "BOOLEAN", HFILL }},
16587     { &hf_h245_spareReferencePictures,
16588       { "spareReferencePictures", "h245.spareReferencePictures",
16589         FT_BOOLEAN, BASE_NONE, NULL, 0,
16590         "BOOLEAN", HFILL }},
16591     { &hf_h245_constrainedBitstream,
16592       { "constrainedBitstream", "h245.constrainedBitstream",
16593         FT_BOOLEAN, BASE_NONE, NULL, 0,
16594         "BOOLEAN", HFILL }},
16595     { &hf_h245_pictureRate,
16596       { "pictureRate", "h245.pictureRate",
16597         FT_UINT32, BASE_DEC, NULL, 0,
16598         "INTEGER_0_15", HFILL }},
16599     { &hf_h245_g711Alaw64k,
16600       { "g711Alaw64k", "h245.g711Alaw64k",
16601         FT_UINT32, BASE_DEC, NULL, 0,
16602         "INTEGER_1_256", HFILL }},
16603     { &hf_h245_g711Alaw56k,
16604       { "g711Alaw56k", "h245.g711Alaw56k",
16605         FT_UINT32, BASE_DEC, NULL, 0,
16606         "INTEGER_1_256", HFILL }},
16607     { &hf_h245_g711Ulaw64k,
16608       { "g711Ulaw64k", "h245.g711Ulaw64k",
16609         FT_UINT32, BASE_DEC, NULL, 0,
16610         "INTEGER_1_256", HFILL }},
16611     { &hf_h245_g711Ulaw56k,
16612       { "g711Ulaw56k", "h245.g711Ulaw56k",
16613         FT_UINT32, BASE_DEC, NULL, 0,
16614         "INTEGER_1_256", HFILL }},
16615     { &hf_h245_g722_64k,
16616       { "g722-64k", "h245.g722_64k",
16617         FT_UINT32, BASE_DEC, NULL, 0,
16618         "INTEGER_1_256", HFILL }},
16619     { &hf_h245_g722_56k,
16620       { "g722-56k", "h245.g722_56k",
16621         FT_UINT32, BASE_DEC, NULL, 0,
16622         "INTEGER_1_256", HFILL }},
16623     { &hf_h245_g722_48k,
16624       { "g722-48k", "h245.g722_48k",
16625         FT_UINT32, BASE_DEC, NULL, 0,
16626         "INTEGER_1_256", HFILL }},
16627     { &hf_h245_g7231,
16628       { "g7231", "h245.g7231",
16629         FT_NONE, BASE_NONE, NULL, 0,
16630         NULL, HFILL }},
16631     { &hf_h245_maxAl_sduAudioFrames,
16632       { "maxAl-sduAudioFrames", "h245.maxAl_sduAudioFrames",
16633         FT_UINT32, BASE_DEC, NULL, 0,
16634         "INTEGER_1_256", HFILL }},
16635     { &hf_h245_silenceSuppression,
16636       { "silenceSuppression", "h245.silenceSuppression",
16637         FT_BOOLEAN, BASE_NONE, NULL, 0,
16638         "BOOLEAN", HFILL }},
16639     { &hf_h245_g728,
16640       { "g728", "h245.g728",
16641         FT_UINT32, BASE_DEC, NULL, 0,
16642         "INTEGER_1_256", HFILL }},
16643     { &hf_h245_g729,
16644       { "g729", "h245.g729",
16645         FT_UINT32, BASE_DEC, NULL, 0,
16646         "INTEGER_1_256", HFILL }},
16647     { &hf_h245_g729AnnexA,
16648       { "g729AnnexA", "h245.g729AnnexA",
16649         FT_UINT32, BASE_DEC, NULL, 0,
16650         "INTEGER_1_256", HFILL }},
16651     { &hf_h245_is11172AudioCapability,
16652       { "is11172AudioCapability", "h245.is11172AudioCapability",
16653         FT_NONE, BASE_NONE, NULL, 0,
16654         NULL, HFILL }},
16655     { &hf_h245_is13818AudioCapability,
16656       { "is13818AudioCapability", "h245.is13818AudioCapability",
16657         FT_NONE, BASE_NONE, NULL, 0,
16658         NULL, HFILL }},
16659     { &hf_h245_g729wAnnexB,
16660       { "g729wAnnexB", "h245.g729wAnnexB",
16661         FT_UINT32, BASE_DEC, NULL, 0,
16662         "INTEGER_1_256", HFILL }},
16663     { &hf_h245_g729AnnexAwAnnexB,
16664       { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB",
16665         FT_UINT32, BASE_DEC, NULL, 0,
16666         "INTEGER_1_256", HFILL }},
16667     { &hf_h245_g7231AnnexCCapability,
16668       { "g7231AnnexCCapability", "h245.g7231AnnexCCapability",
16669         FT_NONE, BASE_NONE, NULL, 0,
16670         NULL, HFILL }},
16671     { &hf_h245_gsmFullRate,
16672       { "gsmFullRate", "h245.gsmFullRate",
16673         FT_NONE, BASE_NONE, NULL, 0,
16674         "GSMAudioCapability", HFILL }},
16675     { &hf_h245_gsmHalfRate,
16676       { "gsmHalfRate", "h245.gsmHalfRate",
16677         FT_NONE, BASE_NONE, NULL, 0,
16678         "GSMAudioCapability", HFILL }},
16679     { &hf_h245_gsmEnhancedFullRate,
16680       { "gsmEnhancedFullRate", "h245.gsmEnhancedFullRate",
16681         FT_NONE, BASE_NONE, NULL, 0,
16682         "GSMAudioCapability", HFILL }},
16683     { &hf_h245_genericAudioCapability,
16684       { "genericAudioCapability", "h245.genericAudioCapability",
16685         FT_NONE, BASE_NONE, NULL, 0,
16686         "GenericCapability", HFILL }},
16687     { &hf_h245_g729Extensions,
16688       { "g729Extensions", "h245.g729Extensions",
16689         FT_NONE, BASE_NONE, NULL, 0,
16690         NULL, HFILL }},
16691     { &hf_h245_vbd,
16692       { "vbd", "h245.vbd",
16693         FT_NONE, BASE_NONE, NULL, 0,
16694         "VBDCapability", HFILL }},
16695     { &hf_h245_audioTelephonyEvent,
16696       { "audioTelephonyEvent", "h245.audioTelephonyEvent",
16697         FT_NONE, BASE_NONE, NULL, 0,
16698         "NoPTAudioTelephonyEventCapability", HFILL }},
16699     { &hf_h245_audioTone,
16700       { "audioTone", "h245.audioTone",
16701         FT_NONE, BASE_NONE, NULL, 0,
16702         "NoPTAudioToneCapability", HFILL }},
16703     { &hf_h245_audioUnit,
16704       { "audioUnit", "h245.audioUnit",
16705         FT_UINT32, BASE_DEC, NULL, 0,
16706         "INTEGER_1_256", HFILL }},
16707     { &hf_h245_annexA,
16708       { "annexA", "h245.annexA",
16709         FT_BOOLEAN, BASE_NONE, NULL, 0,
16710         "BOOLEAN", HFILL }},
16711     { &hf_h245_annexB,
16712       { "annexB", "h245.annexB",
16713         FT_BOOLEAN, BASE_NONE, NULL, 0,
16714         "BOOLEAN", HFILL }},
16715     { &hf_h245_annexD,
16716       { "annexD", "h245.annexD",
16717         FT_BOOLEAN, BASE_NONE, NULL, 0,
16718         "BOOLEAN", HFILL }},
16719     { &hf_h245_annexE,
16720       { "annexE", "h245.annexE",
16721         FT_BOOLEAN, BASE_NONE, NULL, 0,
16722         "BOOLEAN", HFILL }},
16723     { &hf_h245_annexF,
16724       { "annexF", "h245.annexF",
16725         FT_BOOLEAN, BASE_NONE, NULL, 0,
16726         "BOOLEAN", HFILL }},
16727     { &hf_h245_annexG,
16728       { "annexG", "h245.annexG",
16729         FT_BOOLEAN, BASE_NONE, NULL, 0,
16730         "BOOLEAN", HFILL }},
16731     { &hf_h245_annexH,
16732       { "annexH", "h245.annexH",
16733         FT_BOOLEAN, BASE_NONE, NULL, 0,
16734         "BOOLEAN", HFILL }},
16735     { &hf_h245_highRateMode0,
16736       { "highRateMode0", "h245.highRateMode0",
16737         FT_UINT32, BASE_DEC, NULL, 0,
16738         "INTEGER_27_78", HFILL }},
16739     { &hf_h245_highRateMode1,
16740       { "highRateMode1", "h245.highRateMode1",
16741         FT_UINT32, BASE_DEC, NULL, 0,
16742         "INTEGER_27_78", HFILL }},
16743     { &hf_h245_lowRateMode0,
16744       { "lowRateMode0", "h245.lowRateMode0",
16745         FT_UINT32, BASE_DEC, NULL, 0,
16746         "INTEGER_23_66", HFILL }},
16747     { &hf_h245_lowRateMode1,
16748       { "lowRateMode1", "h245.lowRateMode1",
16749         FT_UINT32, BASE_DEC, NULL, 0,
16750         "INTEGER_23_66", HFILL }},
16751     { &hf_h245_sidMode0,
16752       { "sidMode0", "h245.sidMode0",
16753         FT_UINT32, BASE_DEC, NULL, 0,
16754         "INTEGER_6_17", HFILL }},
16755     { &hf_h245_sidMode1,
16756       { "sidMode1", "h245.sidMode1",
16757         FT_UINT32, BASE_DEC, NULL, 0,
16758         "INTEGER_6_17", HFILL }},
16759     { &hf_h245_g723AnnexCAudioMode,
16760       { "g723AnnexCAudioMode", "h245.g723AnnexCAudioMode",
16761         FT_NONE, BASE_NONE, NULL, 0,
16762         NULL, HFILL }},
16763     { &hf_h245_audioLayer1,
16764       { "audioLayer1", "h245.audioLayer1",
16765         FT_BOOLEAN, BASE_NONE, NULL, 0,
16766         "BOOLEAN", HFILL }},
16767     { &hf_h245_audioLayer2,
16768       { "audioLayer2", "h245.audioLayer2",
16769         FT_BOOLEAN, BASE_NONE, NULL, 0,
16770         "BOOLEAN", HFILL }},
16771     { &hf_h245_audioLayer3,
16772       { "audioLayer3", "h245.audioLayer3",
16773         FT_BOOLEAN, BASE_NONE, NULL, 0,
16774         "BOOLEAN", HFILL }},
16775     { &hf_h245_audioSampling32k,
16776       { "audioSampling32k", "h245.audioSampling32k",
16777         FT_BOOLEAN, BASE_NONE, NULL, 0,
16778         "BOOLEAN", HFILL }},
16779     { &hf_h245_audioSampling44k1,
16780       { "audioSampling44k1", "h245.audioSampling44k1",
16781         FT_BOOLEAN, BASE_NONE, NULL, 0,
16782         "BOOLEAN", HFILL }},
16783     { &hf_h245_audioSampling48k,
16784       { "audioSampling48k", "h245.audioSampling48k",
16785         FT_BOOLEAN, BASE_NONE, NULL, 0,
16786         "BOOLEAN", HFILL }},
16787     { &hf_h245_singleChannel,
16788       { "singleChannel", "h245.singleChannel",
16789         FT_BOOLEAN, BASE_NONE, NULL, 0,
16790         "BOOLEAN", HFILL }},
16791     { &hf_h245_twoChannels,
16792       { "twoChannels", "h245.twoChannels",
16793         FT_BOOLEAN, BASE_NONE, NULL, 0,
16794         "BOOLEAN", HFILL }},
16795     { &hf_h245_bitRate_1_448,
16796       { "bitRate", "h245.bitRate",
16797         FT_UINT32, BASE_DEC, NULL, 0,
16798         "INTEGER_1_448", HFILL }},
16799     { &hf_h245_audioSampling16k,
16800       { "audioSampling16k", "h245.audioSampling16k",
16801         FT_BOOLEAN, BASE_NONE, NULL, 0,
16802         "BOOLEAN", HFILL }},
16803     { &hf_h245_audioSampling22k05,
16804       { "audioSampling22k05", "h245.audioSampling22k05",
16805         FT_BOOLEAN, BASE_NONE, NULL, 0,
16806         "BOOLEAN", HFILL }},
16807     { &hf_h245_audioSampling24k,
16808       { "audioSampling24k", "h245.audioSampling24k",
16809         FT_BOOLEAN, BASE_NONE, NULL, 0,
16810         "BOOLEAN", HFILL }},
16811     { &hf_h245_threeChannels2_1,
16812       { "threeChannels2-1", "h245.threeChannels2_1",
16813         FT_BOOLEAN, BASE_NONE, NULL, 0,
16814         "BOOLEAN", HFILL }},
16815     { &hf_h245_threeChannels3_0,
16816       { "threeChannels3-0", "h245.threeChannels3_0",
16817         FT_BOOLEAN, BASE_NONE, NULL, 0,
16818         "BOOLEAN", HFILL }},
16819     { &hf_h245_fourChannels2_0_2_0,
16820       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
16821         FT_BOOLEAN, BASE_NONE, NULL, 0,
16822         "BOOLEAN", HFILL }},
16823     { &hf_h245_fourChannels2_2,
16824       { "fourChannels2-2", "h245.fourChannels2_2",
16825         FT_BOOLEAN, BASE_NONE, NULL, 0,
16826         "BOOLEAN", HFILL }},
16827     { &hf_h245_fourChannels3_1,
16828       { "fourChannels3-1", "h245.fourChannels3_1",
16829         FT_BOOLEAN, BASE_NONE, NULL, 0,
16830         "BOOLEAN", HFILL }},
16831     { &hf_h245_fiveChannels3_0_2_0,
16832       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
16833         FT_BOOLEAN, BASE_NONE, NULL, 0,
16834         "BOOLEAN", HFILL }},
16835     { &hf_h245_fiveChannels3_2,
16836       { "fiveChannels3-2", "h245.fiveChannels3_2",
16837         FT_BOOLEAN, BASE_NONE, NULL, 0,
16838         "BOOLEAN", HFILL }},
16839     { &hf_h245_lowFrequencyEnhancement,
16840       { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement",
16841         FT_BOOLEAN, BASE_NONE, NULL, 0,
16842         "BOOLEAN", HFILL }},
16843     { &hf_h245_multilingual,
16844       { "multilingual", "h245.multilingual",
16845         FT_BOOLEAN, BASE_NONE, NULL, 0,
16846         "BOOLEAN", HFILL }},
16847     { &hf_h245_bitRate2_1_1130,
16848       { "bitRate", "h245.bitRate",
16849         FT_UINT32, BASE_DEC, NULL, 0,
16850         "INTEGER_1_1130", HFILL }},
16851     { &hf_h245_audioUnitSize,
16852       { "audioUnitSize", "h245.audioUnitSize",
16853         FT_UINT32, BASE_DEC, NULL, 0,
16854         "INTEGER_1_256", HFILL }},
16855     { &hf_h245_comfortNoise,
16856       { "comfortNoise", "h245.comfortNoise",
16857         FT_BOOLEAN, BASE_NONE, NULL, 0,
16858         "BOOLEAN", HFILL }},
16859     { &hf_h245_scrambled,
16860       { "scrambled", "h245.scrambled",
16861         FT_BOOLEAN, BASE_NONE, NULL, 0,
16862         "BOOLEAN", HFILL }},
16863     { &hf_h245_vbd_cap_type,
16864       { "type", "h245.type",
16865         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
16866         "AudioCapability", HFILL }},
16867     { &hf_h245_t120,
16868       { "t120", "h245.t120",
16869         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16870         "DataProtocolCapability", HFILL }},
16871     { &hf_h245_dsm_cc,
16872       { "dsm-cc", "h245.dsm_cc",
16873         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16874         "DataProtocolCapability", HFILL }},
16875     { &hf_h245_userData,
16876       { "userData", "h245.userData",
16877         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16878         "DataProtocolCapability", HFILL }},
16879     { &hf_h245_t84,
16880       { "t84", "h245.t84",
16881         FT_NONE, BASE_NONE, NULL, 0,
16882         NULL, HFILL }},
16883     { &hf_h245_t84Protocol,
16884       { "t84Protocol", "h245.t84Protocol",
16885         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16886         "DataProtocolCapability", HFILL }},
16887     { &hf_h245_t84Profile,
16888       { "t84Profile", "h245.t84Profile",
16889         FT_UINT32, BASE_DEC, VALS(h245_T84Profile_vals), 0,
16890         NULL, HFILL }},
16891     { &hf_h245_t434,
16892       { "t434", "h245.t434",
16893         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16894         "DataProtocolCapability", HFILL }},
16895     { &hf_h245_h224,
16896       { "h224", "h245.h224",
16897         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16898         "DataProtocolCapability", HFILL }},
16899     { &hf_h245_nlpidProtocol,
16900       { "nlpidProtocol", "h245.nlpidProtocol",
16901         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16902         "DataProtocolCapability", HFILL }},
16903     { &hf_h245_nlpidData,
16904       { "nlpidData", "h245.nlpidData",
16905         FT_BYTES, BASE_NONE, NULL, 0,
16906         "OCTET_STRING", HFILL }},
16907     { &hf_h245_nlpid,
16908       { "nlpid", "h245.nlpid",
16909         FT_NONE, BASE_NONE, NULL, 0,
16910         NULL, HFILL }},
16911     { &hf_h245_dsvdControl,
16912       { "dsvdControl", "h245.dsvdControl",
16913         FT_NONE, BASE_NONE, NULL, 0,
16914         NULL, HFILL }},
16915     { &hf_h245_h222DataPartitioning,
16916       { "h222DataPartitioning", "h245.h222DataPartitioning",
16917         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16918         "DataProtocolCapability", HFILL }},
16919     { &hf_h245_t30fax,
16920       { "t30fax", "h245.t30fax",
16921         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16922         "DataProtocolCapability", HFILL }},
16923     { &hf_h245_t140,
16924       { "t140", "h245.t140",
16925         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16926         "DataProtocolCapability", HFILL }},
16927     { &hf_h245_t38fax,
16928       { "t38fax", "h245.t38fax",
16929         FT_NONE, BASE_NONE, NULL, 0,
16930         NULL, HFILL }},
16931     { &hf_h245_t38FaxProtocol,
16932       { "t38FaxProtocol", "h245.t38FaxProtocol",
16933         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16934         "DataProtocolCapability", HFILL }},
16935     { &hf_h245_t38FaxProfile,
16936       { "t38FaxProfile", "h245.t38FaxProfile",
16937         FT_NONE, BASE_NONE, NULL, 0,
16938         NULL, HFILL }},
16939     { &hf_h245_genericDataCapability,
16940       { "genericDataCapability", "h245.genericDataCapability",
16941         FT_NONE, BASE_NONE, NULL, 0,
16942         "GenericCapability", HFILL }},
16943     { &hf_h245_application,
16944       { "application", "h245.application",
16945         FT_UINT32, BASE_DEC, VALS(h245_Application_vals), 0,
16946         NULL, HFILL }},
16947     { &hf_h245_maxBitRate2_0_4294967295,
16948       { "maxBitRate", "h245.maxBitRate",
16949         FT_UINT32, BASE_DEC, NULL, 0,
16950         "INTEGER_0_4294967295", HFILL }},
16951     { &hf_h245_v14buffered,
16952       { "v14buffered", "h245.v14buffered",
16953         FT_NONE, BASE_NONE, NULL, 0,
16954         NULL, HFILL }},
16955     { &hf_h245_v42lapm,
16956       { "v42lapm", "h245.v42lapm",
16957         FT_NONE, BASE_NONE, NULL, 0,
16958         NULL, HFILL }},
16959     { &hf_h245_hdlcFrameTunnelling,
16960       { "hdlcFrameTunnelling", "h245.hdlcFrameTunnelling",
16961         FT_NONE, BASE_NONE, NULL, 0,
16962         NULL, HFILL }},
16963     { &hf_h245_h310SeparateVCStack,
16964       { "h310SeparateVCStack", "h245.h310SeparateVCStack",
16965         FT_NONE, BASE_NONE, NULL, 0,
16966         NULL, HFILL }},
16967     { &hf_h245_h310SingleVCStack,
16968       { "h310SingleVCStack", "h245.h310SingleVCStack",
16969         FT_NONE, BASE_NONE, NULL, 0,
16970         NULL, HFILL }},
16971     { &hf_h245_transparent,
16972       { "transparent", "h245.transparent",
16973         FT_NONE, BASE_NONE, NULL, 0,
16974         NULL, HFILL }},
16975     { &hf_h245_segmentationAndReassembly,
16976       { "segmentationAndReassembly", "h245.segmentationAndReassembly",
16977         FT_NONE, BASE_NONE, NULL, 0,
16978         NULL, HFILL }},
16979     { &hf_h245_hdlcFrameTunnelingwSAR,
16980       { "hdlcFrameTunnelingwSAR", "h245.hdlcFrameTunnelingwSAR",
16981         FT_NONE, BASE_NONE, NULL, 0,
16982         NULL, HFILL }},
16983     { &hf_h245_v120,
16984       { "v120", "h245.v120",
16985         FT_NONE, BASE_NONE, NULL, 0,
16986         NULL, HFILL }},
16987     { &hf_h245_separateLANStack,
16988       { "separateLANStack", "h245.separateLANStack",
16989         FT_NONE, BASE_NONE, NULL, 0,
16990         NULL, HFILL }},
16991     { &hf_h245_v76wCompression,
16992       { "v76wCompression", "h245.v76wCompression",
16993         FT_UINT32, BASE_DEC, VALS(h245_T_v76wCompression_vals), 0,
16994         NULL, HFILL }},
16995     { &hf_h245_transmitCompression,
16996       { "transmitCompression", "h245.transmitCompression",
16997         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16998         "CompressionType", HFILL }},
16999     { &hf_h245_receiveCompression,
17000       { "receiveCompression", "h245.receiveCompression",
17001         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
17002         "CompressionType", HFILL }},
17003     { &hf_h245_transmitAndReceiveCompression,
17004       { "transmitAndReceiveCompression", "h245.transmitAndReceiveCompression",
17005         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
17006         "CompressionType", HFILL }},
17007     { &hf_h245_tcp,
17008       { "tcp", "h245.tcp",
17009         FT_NONE, BASE_NONE, NULL, 0,
17010         NULL, HFILL }},
17011     { &hf_h245_udp,
17012       { "udp", "h245.udp",
17013         FT_NONE, BASE_NONE, NULL, 0,
17014         NULL, HFILL }},
17015     { &hf_h245_v42bis,
17016       { "v42bis", "h245.v42bis",
17017         FT_NONE, BASE_NONE, NULL, 0,
17018         NULL, HFILL }},
17019     { &hf_h245_numberOfCodewords,
17020       { "numberOfCodewords", "h245.numberOfCodewords",
17021         FT_UINT32, BASE_DEC, NULL, 0,
17022         "INTEGER_1_65536", HFILL }},
17023     { &hf_h245_maximumStringLength,
17024       { "maximumStringLength", "h245.maximumStringLength",
17025         FT_UINT32, BASE_DEC, NULL, 0,
17026         "INTEGER_1_256", HFILL }},
17027     { &hf_h245_t84Unrestricted,
17028       { "t84Unrestricted", "h245.t84Unrestricted",
17029         FT_NONE, BASE_NONE, NULL, 0,
17030         NULL, HFILL }},
17031     { &hf_h245_t84Restricted,
17032       { "t84Restricted", "h245.t84Restricted",
17033         FT_NONE, BASE_NONE, NULL, 0,
17034         NULL, HFILL }},
17035     { &hf_h245_qcif_bool,
17036       { "qcif", "h245.qcif",
17037         FT_BOOLEAN, BASE_NONE, NULL, 0,
17038         "BOOLEAN", HFILL }},
17039     { &hf_h245_cif_bool,
17040       { "cif", "h245.cif",
17041         FT_BOOLEAN, BASE_NONE, NULL, 0,
17042         "BOOLEAN", HFILL }},
17043     { &hf_h245_ccir601Seq,
17044       { "ccir601Seq", "h245.ccir601Seq",
17045         FT_BOOLEAN, BASE_NONE, NULL, 0,
17046         "BOOLEAN", HFILL }},
17047     { &hf_h245_ccir601Prog,
17048       { "ccir601Prog", "h245.ccir601Prog",
17049         FT_BOOLEAN, BASE_NONE, NULL, 0,
17050         "BOOLEAN", HFILL }},
17051     { &hf_h245_hdtvSeq,
17052       { "hdtvSeq", "h245.hdtvSeq",
17053         FT_BOOLEAN, BASE_NONE, NULL, 0,
17054         "BOOLEAN", HFILL }},
17055     { &hf_h245_hdtvProg,
17056       { "hdtvProg", "h245.hdtvProg",
17057         FT_BOOLEAN, BASE_NONE, NULL, 0,
17058         "BOOLEAN", HFILL }},
17059     { &hf_h245_g3FacsMH200x100,
17060       { "g3FacsMH200x100", "h245.g3FacsMH200x100",
17061         FT_BOOLEAN, BASE_NONE, NULL, 0,
17062         "BOOLEAN", HFILL }},
17063     { &hf_h245_g3FacsMH200x200,
17064       { "g3FacsMH200x200", "h245.g3FacsMH200x200",
17065         FT_BOOLEAN, BASE_NONE, NULL, 0,
17066         "BOOLEAN", HFILL }},
17067     { &hf_h245_g4FacsMMR200x100,
17068       { "g4FacsMMR200x100", "h245.g4FacsMMR200x100",
17069         FT_BOOLEAN, BASE_NONE, NULL, 0,
17070         "BOOLEAN", HFILL }},
17071     { &hf_h245_g4FacsMMR200x200,
17072       { "g4FacsMMR200x200", "h245.g4FacsMMR200x200",
17073         FT_BOOLEAN, BASE_NONE, NULL, 0,
17074         "BOOLEAN", HFILL }},
17075     { &hf_h245_jbig200x200Seq,
17076       { "jbig200x200Seq", "h245.jbig200x200Seq",
17077         FT_BOOLEAN, BASE_NONE, NULL, 0,
17078         "BOOLEAN", HFILL }},
17079     { &hf_h245_jbig200x200Prog,
17080       { "jbig200x200Prog", "h245.jbig200x200Prog",
17081         FT_BOOLEAN, BASE_NONE, NULL, 0,
17082         "BOOLEAN", HFILL }},
17083     { &hf_h245_jbig300x300Seq,
17084       { "jbig300x300Seq", "h245.jbig300x300Seq",
17085         FT_BOOLEAN, BASE_NONE, NULL, 0,
17086         "BOOLEAN", HFILL }},
17087     { &hf_h245_jbig300x300Prog,
17088       { "jbig300x300Prog", "h245.jbig300x300Prog",
17089         FT_BOOLEAN, BASE_NONE, NULL, 0,
17090         "BOOLEAN", HFILL }},
17091     { &hf_h245_digPhotoLow,
17092       { "digPhotoLow", "h245.digPhotoLow",
17093         FT_BOOLEAN, BASE_NONE, NULL, 0,
17094         "BOOLEAN", HFILL }},
17095     { &hf_h245_digPhotoMedSeq,
17096       { "digPhotoMedSeq", "h245.digPhotoMedSeq",
17097         FT_BOOLEAN, BASE_NONE, NULL, 0,
17098         "BOOLEAN", HFILL }},
17099     { &hf_h245_digPhotoMedProg,
17100       { "digPhotoMedProg", "h245.digPhotoMedProg",
17101         FT_BOOLEAN, BASE_NONE, NULL, 0,
17102         "BOOLEAN", HFILL }},
17103     { &hf_h245_digPhotoHighSeq,
17104       { "digPhotoHighSeq", "h245.digPhotoHighSeq",
17105         FT_BOOLEAN, BASE_NONE, NULL, 0,
17106         "BOOLEAN", HFILL }},
17107     { &hf_h245_digPhotoHighProg,
17108       { "digPhotoHighProg", "h245.digPhotoHighProg",
17109         FT_BOOLEAN, BASE_NONE, NULL, 0,
17110         "BOOLEAN", HFILL }},
17111     { &hf_h245_fillBitRemoval,
17112       { "fillBitRemoval", "h245.fillBitRemoval",
17113         FT_BOOLEAN, BASE_NONE, NULL, 0,
17114         "BOOLEAN", HFILL }},
17115     { &hf_h245_transcodingJBIG,
17116       { "transcodingJBIG", "h245.transcodingJBIG",
17117         FT_BOOLEAN, BASE_NONE, NULL, 0,
17118         "BOOLEAN", HFILL }},
17119     { &hf_h245_transcodingMMR,
17120       { "transcodingMMR", "h245.transcodingMMR",
17121         FT_BOOLEAN, BASE_NONE, NULL, 0,
17122         "BOOLEAN", HFILL }},
17123     { &hf_h245_version,
17124       { "version", "h245.version",
17125         FT_UINT32, BASE_DEC, NULL, 0,
17126         "INTEGER_0_255", HFILL }},
17127     { &hf_h245_t38FaxRateManagement,
17128       { "t38FaxRateManagement", "h245.t38FaxRateManagement",
17129         FT_UINT32, BASE_DEC, VALS(h245_T38FaxRateManagement_vals), 0,
17130         NULL, HFILL }},
17131     { &hf_h245_t38FaxUdpOptions,
17132       { "t38FaxUdpOptions", "h245.t38FaxUdpOptions",
17133         FT_NONE, BASE_NONE, NULL, 0,
17134         NULL, HFILL }},
17135     { &hf_h245_t38FaxTcpOptions,
17136       { "t38FaxTcpOptions", "h245.t38FaxTcpOptions",
17137         FT_NONE, BASE_NONE, NULL, 0,
17138         NULL, HFILL }},
17139     { &hf_h245_localTCF,
17140       { "localTCF", "h245.localTCF",
17141         FT_NONE, BASE_NONE, NULL, 0,
17142         NULL, HFILL }},
17143     { &hf_h245_transferredTCF,
17144       { "transferredTCF", "h245.transferredTCF",
17145         FT_NONE, BASE_NONE, NULL, 0,
17146         NULL, HFILL }},
17147     { &hf_h245_t38FaxMaxBuffer,
17148       { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer",
17149         FT_INT32, BASE_DEC, NULL, 0,
17150         "INTEGER", HFILL }},
17151     { &hf_h245_t38FaxMaxDatagram,
17152       { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram",
17153         FT_INT32, BASE_DEC, NULL, 0,
17154         "INTEGER", HFILL }},
17155     { &hf_h245_t38FaxUdpEC,
17156       { "t38FaxUdpEC", "h245.t38FaxUdpEC",
17157         FT_UINT32, BASE_DEC, VALS(h245_T_t38FaxUdpEC_vals), 0,
17158         NULL, HFILL }},
17159     { &hf_h245_t38UDPFEC,
17160       { "t38UDPFEC", "h245.t38UDPFEC",
17161         FT_NONE, BASE_NONE, NULL, 0,
17162         NULL, HFILL }},
17163     { &hf_h245_t38UDPRedundancy,
17164       { "t38UDPRedundancy", "h245.t38UDPRedundancy",
17165         FT_NONE, BASE_NONE, NULL, 0,
17166         NULL, HFILL }},
17167     { &hf_h245_t38TCPBidirectionalMode,
17168       { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode",
17169         FT_BOOLEAN, BASE_NONE, NULL, 0,
17170         "BOOLEAN", HFILL }},
17171     { &hf_h245_encryptionCapability,
17172       { "encryptionCapability", "h245.encryptionCapability",
17173         FT_UINT32, BASE_DEC, NULL, 0,
17174         NULL, HFILL }},
17175     { &hf_h245_authenticationCapability,
17176       { "authenticationCapability", "h245.authenticationCapability",
17177         FT_NONE, BASE_NONE, NULL, 0,
17178         NULL, HFILL }},
17179     { &hf_h245_integrityCapability,
17180       { "integrityCapability", "h245.integrityCapability",
17181         FT_NONE, BASE_NONE, NULL, 0,
17182         NULL, HFILL }},
17183     { &hf_h245_genericH235SecurityCapability,
17184       { "genericH235SecurityCapability", "h245.genericH235SecurityCapability",
17185         FT_NONE, BASE_NONE, NULL, 0,
17186         "GenericCapability", HFILL }},
17187     { &hf_h245_EncryptionCapability_item,
17188       { "MediaEncryptionAlgorithm", "h245.MediaEncryptionAlgorithm",
17189         FT_UINT32, BASE_DEC, VALS(h245_MediaEncryptionAlgorithm_vals), 0,
17190         NULL, HFILL }},
17191     { &hf_h245_algorithm,
17192       { "algorithm", "h245.algorithm",
17193         FT_OID, BASE_NONE, NULL, 0,
17194         "OBJECT_IDENTIFIER", HFILL }},
17195     { &hf_h245_antiSpamAlgorithm,
17196       { "antiSpamAlgorithm", "h245.antiSpamAlgorithm",
17197         FT_OID, BASE_NONE, NULL, 0,
17198         "OBJECT_IDENTIFIER", HFILL }},
17199     { &hf_h245_ui_nonStandard,
17200       { "nonStandard", "h245.nonStandard",
17201         FT_UINT32, BASE_DEC, NULL, 0,
17202         "SEQUENCE_SIZE_1_16_OF_NonStandardParameter", HFILL }},
17203     { &hf_h245_ui_nonStandard_item,
17204       { "NonStandardParameter", "h245.NonStandardParameter",
17205         FT_NONE, BASE_NONE, NULL, 0,
17206         NULL, HFILL }},
17207     { &hf_h245_basicString,
17208       { "basicString", "h245.basicString",
17209         FT_NONE, BASE_NONE, NULL, 0,
17210         NULL, HFILL }},
17211     { &hf_h245_iA5String,
17212       { "iA5String", "h245.iA5String",
17213         FT_NONE, BASE_NONE, NULL, 0,
17214         NULL, HFILL }},
17215     { &hf_h245_generalString,
17216       { "generalString", "h245.generalString",
17217         FT_NONE, BASE_NONE, NULL, 0,
17218         NULL, HFILL }},
17219     { &hf_h245_dtmf,
17220       { "dtmf", "h245.dtmf",
17221         FT_NONE, BASE_NONE, NULL, 0,
17222         NULL, HFILL }},
17223     { &hf_h245_hookflash,
17224       { "hookflash", "h245.hookflash",
17225         FT_NONE, BASE_NONE, NULL, 0,
17226         NULL, HFILL }},
17227     { &hf_h245_extendedAlphanumericFlag,
17228       { "extendedAlphanumeric", "h245.extendedAlphanumeric",
17229         FT_NONE, BASE_NONE, NULL, 0,
17230         NULL, HFILL }},
17231     { &hf_h245_encryptedBasicString,
17232       { "encryptedBasicString", "h245.encryptedBasicString",
17233         FT_NONE, BASE_NONE, NULL, 0,
17234         NULL, HFILL }},
17235     { &hf_h245_encryptedIA5String,
17236       { "encryptedIA5String", "h245.encryptedIA5String",
17237         FT_NONE, BASE_NONE, NULL, 0,
17238         NULL, HFILL }},
17239     { &hf_h245_encryptedGeneralString,
17240       { "encryptedGeneralString", "h245.encryptedGeneralString",
17241         FT_NONE, BASE_NONE, NULL, 0,
17242         NULL, HFILL }},
17243     { &hf_h245_secureDTMF,
17244       { "secureDTMF", "h245.secureDTMF",
17245         FT_NONE, BASE_NONE, NULL, 0,
17246         NULL, HFILL }},
17247     { &hf_h245_genericUserInputCapability,
17248       { "genericUserInputCapability", "h245.genericUserInputCapability",
17249         FT_NONE, BASE_NONE, NULL, 0,
17250         "GenericCapability", HFILL }},
17251     { &hf_h245_nonStandardParams,
17252       { "nonStandardData", "h245.nonStandardData",
17253         FT_UINT32, BASE_DEC, NULL, 0,
17254         "SEQUENCE_OF_NonStandardParameter", HFILL }},
17255     { &hf_h245_nonStandardParams_item,
17256       { "NonStandardParameter", "h245.NonStandardParameter",
17257         FT_NONE, BASE_NONE, NULL, 0,
17258         NULL, HFILL }},
17259     { &hf_h245_chairControlCapability,
17260       { "chairControlCapability", "h245.chairControlCapability",
17261         FT_BOOLEAN, BASE_NONE, NULL, 0,
17262         "BOOLEAN", HFILL }},
17263     { &hf_h245_videoIndicateMixingCapability,
17264       { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability",
17265         FT_BOOLEAN, BASE_NONE, NULL, 0,
17266         "BOOLEAN", HFILL }},
17267     { &hf_h245_multipointVisualizationCapability,
17268       { "multipointVisualizationCapability", "h245.multipointVisualizationCapability",
17269         FT_BOOLEAN, BASE_NONE, NULL, 0,
17270         "BOOLEAN", HFILL }},
17271     { &hf_h245_capabilityIdentifier,
17272       { "capabilityIdentifier", "h245.capabilityIdentifier",
17273         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
17274         NULL, HFILL }},
17275     { &hf_h245_collapsing,
17276       { "collapsing", "h245.collapsing",
17277         FT_UINT32, BASE_DEC, NULL, 0,
17278         NULL, HFILL }},
17279     { &hf_h245_collapsing_item,
17280       { "collapsing item", "h245.collapsing_item",
17281         FT_NONE, BASE_NONE, NULL, 0,
17282         NULL, HFILL }},
17283     { &hf_h245_nonCollapsing,
17284       { "nonCollapsing", "h245.nonCollapsing",
17285         FT_UINT32, BASE_DEC, NULL, 0,
17286         NULL, HFILL }},
17287     { &hf_h245_nonCollapsing_item,
17288       { "nonCollapsing item", "h245.nonCollapsing_item",
17289         FT_NONE, BASE_NONE, NULL, 0,
17290         NULL, HFILL }},
17291     { &hf_h245_nonCollapsingRaw,
17292       { "nonCollapsingRaw", "h245.nonCollapsingRaw",
17293         FT_BYTES, BASE_NONE, NULL, 0,
17294         NULL, HFILL }},
17295     { &hf_h245_transport,
17296       { "transport", "h245.transport",
17297         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
17298         "DataProtocolCapability", HFILL }},
17299     { &hf_h245_standardOid,
17300       { "standard", "h245.standard",
17301         FT_OID, BASE_NONE, NULL, 0,
17302         "T_standardOid", HFILL }},
17303     { &hf_h245_h221NonStandard,
17304       { "h221NonStandard", "h245.h221NonStandard",
17305         FT_NONE, BASE_NONE, NULL, 0,
17306         "NonStandardParameter", HFILL }},
17307     { &hf_h245_uuid,
17308       { "uuid", "h245.uuid",
17309         FT_BYTES, BASE_NONE, NULL, 0,
17310         "OCTET_STRING_SIZE_16", HFILL }},
17311     { &hf_h245_domainBased,
17312       { "domainBased", "h245.domainBased",
17313         FT_STRING, BASE_NONE, NULL, 0,
17314         "IA5String_SIZE_1_64", HFILL }},
17315     { &hf_h245_parameterIdentifier,
17316       { "parameterIdentifier", "h245.parameterIdentifier",
17317         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17318         NULL, HFILL }},
17319     { &hf_h245_parameterValue,
17320       { "parameterValue", "h245.parameterValue",
17321         FT_UINT32, BASE_DEC, VALS(h245_ParameterValue_vals), 0,
17322         NULL, HFILL }},
17323     { &hf_h245_supersedes,
17324       { "supersedes", "h245.supersedes",
17325         FT_UINT32, BASE_DEC, NULL, 0,
17326         "SEQUENCE_OF_ParameterIdentifier", HFILL }},
17327     { &hf_h245_supersedes_item,
17328       { "ParameterIdentifier", "h245.ParameterIdentifier",
17329         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17330         NULL, HFILL }},
17331     { &hf_h245_standard,
17332       { "standard", "h245.standard",
17333         FT_UINT32, BASE_DEC, NULL, 0,
17334         NULL, HFILL }},
17335     { &hf_h245_logical,
17336       { "logical", "h245.logical",
17337         FT_NONE, BASE_NONE, NULL, 0,
17338         NULL, HFILL }},
17339     { &hf_h245_booleanArray,
17340       { "booleanArray", "h245.booleanArray",
17341         FT_UINT32, BASE_DEC, NULL, 0,
17342         NULL, HFILL }},
17343     { &hf_h245_unsignedMin,
17344       { "unsignedMin", "h245.unsignedMin",
17345         FT_UINT32, BASE_DEC, NULL, 0,
17346         NULL, HFILL }},
17347     { &hf_h245_unsignedMax,
17348       { "unsignedMax", "h245.unsignedMax",
17349         FT_UINT32, BASE_DEC, NULL, 0,
17350         NULL, HFILL }},
17351     { &hf_h245_unsigned32Min,
17352       { "unsigned32Min", "h245.unsigned32Min",
17353         FT_UINT32, BASE_DEC, NULL, 0,
17354         NULL, HFILL }},
17355     { &hf_h245_unsigned32Max,
17356       { "unsigned32Max", "h245.unsigned32Max",
17357         FT_UINT32, BASE_DEC, NULL, 0,
17358         NULL, HFILL }},
17359     { &hf_h245_octetString,
17360       { "octetString", "h245.octetString",
17361         FT_UINT32, BASE_DEC, NULL, 0,
17362         NULL, HFILL }},
17363     { &hf_h245_genericParameters,
17364       { "genericParameter", "h245.genericParameter",
17365         FT_UINT32, BASE_DEC, NULL, 0,
17366         "SEQUENCE_OF_GenericParameter", HFILL }},
17367     { &hf_h245_genericParameters_item,
17368       { "GenericParameter", "h245.GenericParameter",
17369         FT_NONE, BASE_NONE, NULL, 0,
17370         NULL, HFILL }},
17371     { &hf_h245_multiplexFormat,
17372       { "multiplexFormat", "h245.multiplexFormat",
17373         FT_UINT32, BASE_DEC, VALS(h245_MultiplexFormat_vals), 0,
17374         NULL, HFILL }},
17375     { &hf_h245_controlOnMuxStream,
17376       { "controlOnMuxStream", "h245.controlOnMuxStream",
17377         FT_BOOLEAN, BASE_NONE, NULL, 0,
17378         "BOOLEAN", HFILL }},
17379     { &hf_h245_capabilityOnMuxStream,
17380       { "capabilityOnMuxStream", "h245.capabilityOnMuxStream",
17381         FT_UINT32, BASE_DEC, NULL, 0,
17382         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17383     { &hf_h245_capabilityOnMuxStream_item,
17384       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17385         FT_UINT32, BASE_DEC, NULL, 0,
17386         NULL, HFILL }},
17387     { &hf_h245_dynamicRTPPayloadType,
17388       { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType",
17389         FT_UINT32, BASE_DEC, NULL, 0,
17390         "INTEGER_96_127", HFILL }},
17391     { &hf_h245_audioTelephoneEvent,
17392       { "audioTelephoneEvent", "h245.audioTelephoneEvent",
17393         FT_STRING, BASE_NONE, NULL, 0,
17394         "GeneralString", HFILL }},
17395     { &hf_h245_capabilities,
17396       { "capabilities", "h245.capabilities",
17397         FT_UINT32, BASE_DEC, NULL, 0,
17398         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17399     { &hf_h245_capabilities_item,
17400       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17401         FT_UINT32, BASE_DEC, NULL, 0,
17402         NULL, HFILL }},
17403     { &hf_h245_fecc_rfc2733,
17404       { "rfc2733", "h245.rfc2733",
17405         FT_NONE, BASE_NONE, NULL, 0,
17406         "FECC_rfc2733", HFILL }},
17407     { &hf_h245_redundancyEncodingBool,
17408       { "redundancyEncoding", "h245.redundancyEncoding",
17409         FT_BOOLEAN, BASE_NONE, NULL, 0,
17410         "BOOLEAN", HFILL }},
17411     { &hf_h245_separateStreamBool,
17412       { "separateStream", "h245.separateStream",
17413         FT_NONE, BASE_NONE, NULL, 0,
17414         "T_separateStreamBool", HFILL }},
17415     { &hf_h245_separatePort,
17416       { "separatePort", "h245.separatePort",
17417         FT_BOOLEAN, BASE_NONE, NULL, 0,
17418         "BOOLEAN", HFILL }},
17419     { &hf_h245_samePortBool,
17420       { "samePort", "h245.samePort",
17421         FT_BOOLEAN, BASE_NONE, NULL, 0,
17422         "BOOLEAN", HFILL }},
17423     { &hf_h245_protectedCapability,
17424       { "protectedCapability", "h245.protectedCapability",
17425         FT_UINT32, BASE_DEC, NULL, 0,
17426         "CapabilityTableEntryNumber", HFILL }},
17427     { &hf_h245_fecScheme,
17428       { "fecScheme", "h245.fecScheme",
17429         FT_OID, BASE_NONE, NULL, 0,
17430         "OBJECT_IDENTIFIER", HFILL }},
17431     { &hf_h245_rfc2733rfc2198,
17432       { "rfc2733rfc2198", "h245.rfc2733rfc2198",
17433         FT_UINT32, BASE_DEC, NULL, 0,
17434         "MaxRedundancy", HFILL }},
17435     { &hf_h245_rfc2733sameport,
17436       { "rfc2733sameport", "h245.rfc2733sameport",
17437         FT_UINT32, BASE_DEC, NULL, 0,
17438         "MaxRedundancy", HFILL }},
17439     { &hf_h245_rfc2733diffport,
17440       { "rfc2733diffport", "h245.rfc2733diffport",
17441         FT_UINT32, BASE_DEC, NULL, 0,
17442         "MaxRedundancy", HFILL }},
17443     { &hf_h245_rfc2733Format,
17444       { "rfc2733Format", "h245.rfc2733Format",
17445         FT_UINT32, BASE_DEC, VALS(h245_Rfc2733Format_vals), 0,
17446         NULL, HFILL }},
17447     { &hf_h245_olc_fw_lcn,
17448       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
17449         FT_UINT32, BASE_DEC, NULL, 0,
17450         "OLC_fw_lcn", HFILL }},
17451     { &hf_h245_forwardLogicalChannelParameters,
17452       { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters",
17453         FT_NONE, BASE_NONE, NULL, 0,
17454         NULL, HFILL }},
17455     { &hf_h245_portNumber,
17456       { "portNumber", "h245.portNumber",
17457         FT_UINT32, BASE_DEC, NULL, 0,
17458         "INTEGER_0_65535", HFILL }},
17459     { &hf_h245_dataType,
17460       { "dataType", "h245.dataType",
17461         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17462         NULL, HFILL }},
17463     { &hf_h245_olc_forw_multiplexParameters,
17464       { "multiplexParameters", "h245.multiplexParameters",
17465         FT_UINT32, BASE_DEC, VALS(h245_OLC_forw_multiplexParameters_vals), 0,
17466         "OLC_forw_multiplexParameters", HFILL }},
17467     { &hf_h245_h222LogicalChannelParameters,
17468       { "h222LogicalChannelParameters", "h245.h222LogicalChannelParameters",
17469         FT_NONE, BASE_NONE, NULL, 0,
17470         NULL, HFILL }},
17471     { &hf_h245_olc_fw_h223_params,
17472       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters",
17473         FT_NONE, BASE_NONE, NULL, 0,
17474         "OLC_fw_h223_params", HFILL }},
17475     { &hf_h245_v76LogicalChannelParameters,
17476       { "v76LogicalChannelParameters", "h245.v76LogicalChannelParameters",
17477         FT_NONE, BASE_NONE, NULL, 0,
17478         NULL, HFILL }},
17479     { &hf_h245_h2250LogicalChannelParameters,
17480       { "h2250LogicalChannelParameters", "h245.h2250LogicalChannelParameters",
17481         FT_NONE, BASE_NONE, NULL, 0,
17482         NULL, HFILL }},
17483     { &hf_h245_forwardLogicalChannelDependency,
17484       { "forwardLogicalChannelDependency", "h245.forwardLogicalChannelDependency",
17485         FT_UINT32, BASE_DEC, NULL, 0,
17486         "LogicalChannelNumber", HFILL }},
17487     { &hf_h245_replacementFor,
17488       { "replacementFor", "h245.replacementFor",
17489         FT_UINT32, BASE_DEC, NULL, 0,
17490         "LogicalChannelNumber", HFILL }},
17491     { &hf_h245_reverseLogicalChannelParameters,
17492       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters",
17493         FT_NONE, BASE_NONE, NULL, 0,
17494         "OLC_reverseLogicalChannelParameters", HFILL }},
17495     { &hf_h245_olc_rev_multiplexParameter,
17496       { "multiplexParameters", "h245.multiplexParameters",
17497         FT_UINT32, BASE_DEC, VALS(h245_OLC_rev_multiplexParameters_vals), 0,
17498         "OLC_rev_multiplexParameters", HFILL }},
17499     { &hf_h245_olc_rev_h223_params,
17500       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters",
17501         FT_NONE, BASE_NONE, NULL, 0,
17502         "OLC_rev_h223_params", HFILL }},
17503     { &hf_h245_reverseLogicalChannelDependency,
17504       { "reverseLogicalChannelDependency", "h245.reverseLogicalChannelDependency",
17505         FT_UINT32, BASE_DEC, NULL, 0,
17506         "LogicalChannelNumber", HFILL }},
17507     { &hf_h245_separateStack,
17508       { "separateStack", "h245.separateStack",
17509         FT_NONE, BASE_NONE, NULL, 0,
17510         "NetworkAccessParameters", HFILL }},
17511     { &hf_h245_encryptionSync,
17512       { "encryptionSync", "h245.encryptionSync",
17513         FT_NONE, BASE_NONE, NULL, 0,
17514         NULL, HFILL }},
17515     { &hf_h245_distribution,
17516       { "distribution", "h245.distribution",
17517         FT_UINT32, BASE_DEC, VALS(h245_T_distribution_vals), 0,
17518         NULL, HFILL }},
17519     { &hf_h245_unicast,
17520       { "unicast", "h245.unicast",
17521         FT_NONE, BASE_NONE, NULL, 0,
17522         NULL, HFILL }},
17523     { &hf_h245_multicast,
17524       { "multicast", "h245.multicast",
17525         FT_NONE, BASE_NONE, NULL, 0,
17526         NULL, HFILL }},
17527     { &hf_h245_networkAddress,
17528       { "networkAddress", "h245.networkAddress",
17529         FT_UINT32, BASE_DEC, VALS(h245_T_networkAddress_vals), 0,
17530         NULL, HFILL }},
17531     { &hf_h245_q2931Address,
17532       { "q2931Address", "h245.q2931Address",
17533         FT_NONE, BASE_NONE, NULL, 0,
17534         NULL, HFILL }},
17535     { &hf_h245_e164Address,
17536       { "e164Address", "h245.e164Address",
17537         FT_STRING, BASE_NONE, NULL, 0,
17538         NULL, HFILL }},
17539     { &hf_h245_localAreaAddress,
17540       { "localAreaAddress", "h245.localAreaAddress",
17541         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17542         "TransportAddress", HFILL }},
17543     { &hf_h245_associateConference,
17544       { "associateConference", "h245.associateConference",
17545         FT_BOOLEAN, BASE_NONE, NULL, 0,
17546         "BOOLEAN", HFILL }},
17547     { &hf_h245_externalReference,
17548       { "externalReference", "h245.externalReference",
17549         FT_BYTES, BASE_NONE, NULL, 0,
17550         "OCTET_STRING_SIZE_1_255", HFILL }},
17551     { &hf_h245_t120SetupProcedure,
17552       { "t120SetupProcedure", "h245.t120SetupProcedure",
17553         FT_UINT32, BASE_DEC, VALS(h245_T_t120SetupProcedure_vals), 0,
17554         NULL, HFILL }},
17555     { &hf_h245_originateCall,
17556       { "originateCall", "h245.originateCall",
17557         FT_NONE, BASE_NONE, NULL, 0,
17558         NULL, HFILL }},
17559     { &hf_h245_waitForCall,
17560       { "waitForCall", "h245.waitForCall",
17561         FT_NONE, BASE_NONE, NULL, 0,
17562         NULL, HFILL }},
17563     { &hf_h245_issueQuery,
17564       { "issueQuery", "h245.issueQuery",
17565         FT_NONE, BASE_NONE, NULL, 0,
17566         NULL, HFILL }},
17567     { &hf_h245_address,
17568       { "address", "h245.address",
17569         FT_UINT32, BASE_DEC, VALS(h245_T_address_vals), 0,
17570         NULL, HFILL }},
17571     { &hf_h245_internationalNumber,
17572       { "internationalNumber", "h245.internationalNumber",
17573         FT_STRING, BASE_NONE, NULL, 0,
17574         "NumericString_SIZE_1_16", HFILL }},
17575     { &hf_h245_nsapAddress,
17576       { "nsapAddress", "h245.nsapAddress",
17577         FT_BYTES, BASE_NONE, NULL, 0,
17578         "OCTET_STRING_SIZE_1_20", HFILL }},
17579     { &hf_h245_subaddress,
17580       { "subaddress", "h245.subaddress",
17581         FT_BYTES, BASE_NONE, NULL, 0,
17582         "OCTET_STRING_SIZE_1_20", HFILL }},
17583     { &hf_h245_audioHeaderPresent,
17584       { "audioHeaderPresent", "h245.audioHeaderPresent",
17585         FT_BOOLEAN, BASE_NONE, NULL, 0,
17586         "BOOLEAN", HFILL }},
17587     { &hf_h245_nullData,
17588       { "nullData", "h245.nullData",
17589         FT_NONE, BASE_NONE, NULL, 0,
17590         NULL, HFILL }},
17591     { &hf_h245_videoData,
17592       { "videoData", "h245.videoData",
17593         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
17594         "VideoCapability", HFILL }},
17595     { &hf_h245_audioData,
17596       { "audioData", "h245.audioData",
17597         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
17598         "AudioCapability", HFILL }},
17599     { &hf_h245_data,
17600       { "data", "h245.data",
17601         FT_NONE, BASE_NONE, NULL, 0,
17602         "DataApplicationCapability", HFILL }},
17603     { &hf_h245_encryptionData,
17604       { "encryptionData", "h245.encryptionData",
17605         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
17606         "EncryptionMode", HFILL }},
17607     { &hf_h245_h235Control,
17608       { "h235Control", "h245.h235Control",
17609         FT_NONE, BASE_NONE, NULL, 0,
17610         "NonStandardParameter", HFILL }},
17611     { &hf_h245_h235Media,
17612       { "h235Media", "h245.h235Media",
17613         FT_NONE, BASE_NONE, NULL, 0,
17614         NULL, HFILL }},
17615     { &hf_h245_multiplexedStream,
17616       { "multiplexedStream", "h245.multiplexedStream",
17617         FT_NONE, BASE_NONE, NULL, 0,
17618         "MultiplexedStreamParameter", HFILL }},
17619     { &hf_h245_redundancyEncoding,
17620       { "redundancyEncoding", "h245.redundancyEncoding",
17621         FT_NONE, BASE_NONE, NULL, 0,
17622         NULL, HFILL }},
17623     { &hf_h245_multiplePayloadStream,
17624       { "multiplePayloadStream", "h245.multiplePayloadStream",
17625         FT_NONE, BASE_NONE, NULL, 0,
17626         NULL, HFILL }},
17627     { &hf_h245_depFec,
17628       { "depFec", "h245.depFec",
17629         FT_UINT32, BASE_DEC, VALS(h245_DepFECData_vals), 0,
17630         "DepFECData", HFILL }},
17631     { &hf_h245_fec,
17632       { "fec", "h245.fec",
17633         FT_UINT32, BASE_DEC, VALS(h245_FECData_vals), 0,
17634         "FECData", HFILL }},
17635     { &hf_h245_mediaType,
17636       { "mediaType", "h245.mediaType",
17637         FT_UINT32, BASE_DEC, VALS(h245_T_mediaType_vals), 0,
17638         NULL, HFILL }},
17639     { &hf_h245_resourceID,
17640       { "resourceID", "h245.resourceID",
17641         FT_UINT32, BASE_DEC, NULL, 0,
17642         "INTEGER_0_65535", HFILL }},
17643     { &hf_h245_subChannelID,
17644       { "subChannelID", "h245.subChannelID",
17645         FT_UINT32, BASE_DEC, NULL, 0,
17646         "INTEGER_0_8191", HFILL }},
17647     { &hf_h245_pcr_pid,
17648       { "pcr-pid", "h245.pcr_pid",
17649         FT_UINT32, BASE_DEC, NULL, 0,
17650         "INTEGER_0_8191", HFILL }},
17651     { &hf_h245_programDescriptors,
17652       { "programDescriptors", "h245.programDescriptors",
17653         FT_BYTES, BASE_NONE, NULL, 0,
17654         "OCTET_STRING", HFILL }},
17655     { &hf_h245_streamDescriptors,
17656       { "streamDescriptors", "h245.streamDescriptors",
17657         FT_BYTES, BASE_NONE, NULL, 0,
17658         "OCTET_STRING", HFILL }},
17659     { &hf_h245_adaptationLayerType,
17660       { "adaptationLayerType", "h245.adaptationLayerType",
17661         FT_UINT32, BASE_DEC, VALS(h245_T_adaptationLayerType_vals), 0,
17662         NULL, HFILL }},
17663     { &hf_h245_h223_al_type_al1Framed,
17664       { "al1Framed", "h245.al1Framed",
17665         FT_NONE, BASE_NONE, NULL, 0,
17666         "T_h223_al_type_al1Framed", HFILL }},
17667     { &hf_h245_h223_al_type_al1NotFramed,
17668       { "al1NotFramed", "h245.al1NotFramed",
17669         FT_NONE, BASE_NONE, NULL, 0,
17670         "T_h223_al_type_al1NotFramed", HFILL }},
17671     { &hf_h245_h223_al_type_al2WithoutSequenceNumbers,
17672       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers",
17673         FT_NONE, BASE_NONE, NULL, 0,
17674         "T_h223_al_type_al2WithoutSequenceNumbers", HFILL }},
17675     { &hf_h245_h223_al_type_al2WithSequenceNumbers,
17676       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers",
17677         FT_NONE, BASE_NONE, NULL, 0,
17678         "T_h223_al_type_al2WithSequenceNumbers", HFILL }},
17679     { &hf_h245_controlFieldOctets,
17680       { "controlFieldOctets", "h245.controlFieldOctets",
17681         FT_UINT32, BASE_DEC, NULL, 0,
17682         NULL, HFILL }},
17683     { &hf_h245_al3_sendBufferSize,
17684       { "sendBufferSize", "h245.sendBufferSize",
17685         FT_UINT32, BASE_DEC, NULL, 0,
17686         "T_al3_sendBufferSize", HFILL }},
17687     { &hf_h245_h223_al_type_al3,
17688       { "al3", "h245.al3",
17689         FT_NONE, BASE_NONE, NULL, 0,
17690         "T_h223_al_type_al3", HFILL }},
17691     { &hf_h245_h223_al_type_al1M,
17692       { "al1M", "h245.al1M",
17693         FT_NONE, BASE_NONE, NULL, 0,
17694         "T_h223_al_type_al1M", HFILL }},
17695     { &hf_h245_h223_al_type_al2M,
17696       { "al2M", "h245.al2M",
17697         FT_NONE, BASE_NONE, NULL, 0,
17698         "T_h223_al_type_al2M", HFILL }},
17699     { &hf_h245_h223_al_type_al3M,
17700       { "al3M", "h245.al3M",
17701         FT_NONE, BASE_NONE, NULL, 0,
17702         "T_h223_al_type_al3M", HFILL }},
17703     { &hf_h245_h223_lc_segmentableFlag,
17704       { "segmentableFlag", "h245.segmentableFlag",
17705         FT_BOOLEAN, BASE_NONE, NULL, 0,
17706         "T_h223_lc_segmentableFlag", HFILL }},
17707     { &hf_h245_transferMode,
17708       { "transferMode", "h245.transferMode",
17709         FT_UINT32, BASE_DEC, VALS(h245_T_transferMode_vals), 0,
17710         NULL, HFILL }},
17711     { &hf_h245_framed,
17712       { "framed", "h245.framed",
17713         FT_NONE, BASE_NONE, NULL, 0,
17714         NULL, HFILL }},
17715     { &hf_h245_unframed,
17716       { "unframed", "h245.unframed",
17717         FT_NONE, BASE_NONE, NULL, 0,
17718         NULL, HFILL }},
17719     { &hf_h245_aL1HeaderFEC,
17720       { "headerFEC", "h245.headerFEC",
17721         FT_UINT32, BASE_DEC, VALS(h245_AL1HeaderFEC_vals), 0,
17722         "AL1HeaderFEC", HFILL }},
17723     { &hf_h245_sebch16_7,
17724       { "sebch16-7", "h245.sebch16_7",
17725         FT_NONE, BASE_NONE, NULL, 0,
17726         NULL, HFILL }},
17727     { &hf_h245_golay24_12,
17728       { "golay24-12", "h245.golay24_12",
17729         FT_NONE, BASE_NONE, NULL, 0,
17730         NULL, HFILL }},
17731     { &hf_h245_crcLength2,
17732       { "crcLength", "h245.crcLength",
17733         FT_UINT32, BASE_DEC, VALS(h245_AL1CrcLength_vals), 0,
17734         "AL1CrcLength", HFILL }},
17735     { &hf_h245_crc4bit,
17736       { "crc4bit", "h245.crc4bit",
17737         FT_NONE, BASE_NONE, NULL, 0,
17738         NULL, HFILL }},
17739     { &hf_h245_crc12bit,
17740       { "crc12bit", "h245.crc12bit",
17741         FT_NONE, BASE_NONE, NULL, 0,
17742         NULL, HFILL }},
17743     { &hf_h245_crc20bit,
17744       { "crc20bit", "h245.crc20bit",
17745         FT_NONE, BASE_NONE, NULL, 0,
17746         NULL, HFILL }},
17747     { &hf_h245_crc28bit,
17748       { "crc28bit", "h245.crc28bit",
17749         FT_NONE, BASE_NONE, NULL, 0,
17750         NULL, HFILL }},
17751     { &hf_h245_crc8bit,
17752       { "crc8bit", "h245.crc8bit",
17753         FT_NONE, BASE_NONE, NULL, 0,
17754         NULL, HFILL }},
17755     { &hf_h245_crc16bit,
17756       { "crc16bit", "h245.crc16bit",
17757         FT_NONE, BASE_NONE, NULL, 0,
17758         NULL, HFILL }},
17759     { &hf_h245_crc32bit,
17760       { "crc32bit", "h245.crc32bit",
17761         FT_NONE, BASE_NONE, NULL, 0,
17762         NULL, HFILL }},
17763     { &hf_h245_crcNotUsed,
17764       { "crcNotUsed", "h245.crcNotUsed",
17765         FT_NONE, BASE_NONE, NULL, 0,
17766         NULL, HFILL }},
17767     { &hf_h245_rcpcCodeRate,
17768       { "rcpcCodeRate", "h245.rcpcCodeRate",
17769         FT_UINT32, BASE_DEC, NULL, 0,
17770         "INTEGER_8_32", HFILL }},
17771     { &hf_h245_noArq,
17772       { "noArq", "h245.noArq",
17773         FT_NONE, BASE_NONE, NULL, 0,
17774         NULL, HFILL }},
17775     { &hf_h245_typeIArq,
17776       { "typeIArq", "h245.typeIArq",
17777         FT_NONE, BASE_NONE, NULL, 0,
17778         "H223AnnexCArqParameters", HFILL }},
17779     { &hf_h245_typeIIArq,
17780       { "typeIIArq", "h245.typeIIArq",
17781         FT_NONE, BASE_NONE, NULL, 0,
17782         "H223AnnexCArqParameters", HFILL }},
17783     { &hf_h245_arqType,
17784       { "arqType", "h245.arqType",
17785         FT_UINT32, BASE_DEC, VALS(h245_ArqType_vals), 0,
17786         NULL, HFILL }},
17787     { &hf_h245_alsduSplitting,
17788       { "alsduSplitting", "h245.alsduSplitting",
17789         FT_BOOLEAN, BASE_NONE, NULL, 0,
17790         "BOOLEAN", HFILL }},
17791     { &hf_h245_rsCodeCorrection,
17792       { "rsCodeCorrection", "h245.rsCodeCorrection",
17793         FT_UINT32, BASE_DEC, NULL, 0,
17794         "INTEGER_0_127", HFILL }},
17795     { &hf_h245_aL2HeaderFEC,
17796       { "headerFEC", "h245.headerFEC",
17797         FT_UINT32, BASE_DEC, VALS(h245_AL2HeaderFEC_vals), 0,
17798         "AL2HeaderFEC", HFILL }},
17799     { &hf_h245_sebch16_5,
17800       { "sebch16-5", "h245.sebch16_5",
17801         FT_NONE, BASE_NONE, NULL, 0,
17802         NULL, HFILL }},
17803     { &hf_h245_headerFormat,
17804       { "headerFormat", "h245.headerFormat",
17805         FT_UINT32, BASE_DEC, VALS(h245_T_headerFormat_vals), 0,
17806         NULL, HFILL }},
17807     { &hf_h245_crlength2,
17808       { "crcLength", "h245.crcLength",
17809         FT_UINT32, BASE_DEC, VALS(h245_AL3CrcLength_vals), 0,
17810         "AL3CrcLength", HFILL }},
17811     { &hf_h245_numberOfRetransmissions,
17812       { "numberOfRetransmissions", "h245.numberOfRetransmissions",
17813         FT_UINT32, BASE_DEC, VALS(h245_T_numberOfRetransmissions_vals), 0,
17814         NULL, HFILL }},
17815     { &hf_h245_finite,
17816       { "finite", "h245.finite",
17817         FT_UINT32, BASE_DEC, NULL, 0,
17818         "INTEGER_0_16", HFILL }},
17819     { &hf_h245_infinite,
17820       { "infinite", "h245.infinite",
17821         FT_NONE, BASE_NONE, NULL, 0,
17822         NULL, HFILL }},
17823     { &hf_h245_sendBufferSize,
17824       { "sendBufferSize", "h245.sendBufferSize",
17825         FT_UINT32, BASE_DEC, NULL, 0,
17826         "INTEGER_0_16777215", HFILL }},
17827     { &hf_h245_hdlcParameters,
17828       { "hdlcParameters", "h245.hdlcParameters",
17829         FT_NONE, BASE_NONE, NULL, 0,
17830         "V76HDLCParameters", HFILL }},
17831     { &hf_h245_suspendResume,
17832       { "suspendResume", "h245.suspendResume",
17833         FT_UINT32, BASE_DEC, VALS(h245_T_suspendResume_vals), 0,
17834         NULL, HFILL }},
17835     { &hf_h245_noSuspendResume,
17836       { "noSuspendResume", "h245.noSuspendResume",
17837         FT_NONE, BASE_NONE, NULL, 0,
17838         NULL, HFILL }},
17839     { &hf_h245_suspendResumewAddress,
17840       { "suspendResumewAddress", "h245.suspendResumewAddress",
17841         FT_NONE, BASE_NONE, NULL, 0,
17842         NULL, HFILL }},
17843     { &hf_h245_suspendResumewoAddress,
17844       { "suspendResumewoAddress", "h245.suspendResumewoAddress",
17845         FT_NONE, BASE_NONE, NULL, 0,
17846         NULL, HFILL }},
17847     { &hf_h245_uIH,
17848       { "uIH", "h245.uIH",
17849         FT_BOOLEAN, BASE_NONE, NULL, 0,
17850         "BOOLEAN", HFILL }},
17851     { &hf_h245_v76_mode,
17852       { "mode", "h245.mode",
17853         FT_UINT32, BASE_DEC, VALS(h245_V76LCP_mode_vals), 0,
17854         "V76LCP_mode", HFILL }},
17855     { &hf_h245_eRM,
17856       { "eRM", "h245.eRM",
17857         FT_NONE, BASE_NONE, NULL, 0,
17858         NULL, HFILL }},
17859     { &hf_h245_windowSize,
17860       { "windowSize", "h245.windowSize",
17861         FT_UINT32, BASE_DEC, NULL, 0,
17862         "INTEGER_1_127", HFILL }},
17863     { &hf_h245_recovery,
17864       { "recovery", "h245.recovery",
17865         FT_UINT32, BASE_DEC, VALS(h245_T_recovery_vals), 0,
17866         NULL, HFILL }},
17867     { &hf_h245_rej,
17868       { "rej", "h245.rej",
17869         FT_NONE, BASE_NONE, NULL, 0,
17870         NULL, HFILL }},
17871     { &hf_h245_sREJ,
17872       { "sREJ", "h245.sREJ",
17873         FT_NONE, BASE_NONE, NULL, 0,
17874         NULL, HFILL }},
17875     { &hf_h245_mSREJ,
17876       { "mSREJ", "h245.mSREJ",
17877         FT_NONE, BASE_NONE, NULL, 0,
17878         NULL, HFILL }},
17879     { &hf_h245_uNERM,
17880       { "uNERM", "h245.uNERM",
17881         FT_NONE, BASE_NONE, NULL, 0,
17882         NULL, HFILL }},
17883     { &hf_h245_v75Parameters,
17884       { "v75Parameters", "h245.v75Parameters",
17885         FT_NONE, BASE_NONE, NULL, 0,
17886         NULL, HFILL }},
17887     { &hf_h245_crcLength,
17888       { "crcLength", "h245.crcLength",
17889         FT_UINT32, BASE_DEC, VALS(h245_CRCLength_vals), 0,
17890         NULL, HFILL }},
17891     { &hf_h245_n401,
17892       { "n401", "h245.n401",
17893         FT_UINT32, BASE_DEC, NULL, 0,
17894         "INTEGER_1_4095", HFILL }},
17895     { &hf_h245_loopbackTestProcedure,
17896       { "loopbackTestProcedure", "h245.loopbackTestProcedure",
17897         FT_BOOLEAN, BASE_NONE, NULL, 0,
17898         "BOOLEAN", HFILL }},
17899     { &hf_h245_sessionID_0_255,
17900       { "sessionID", "h245.sessionID",
17901         FT_UINT32, BASE_DEC, NULL, 0,
17902         "INTEGER_0_255", HFILL }},
17903     { &hf_h245_associatedSessionID,
17904       { "associatedSessionID", "h245.associatedSessionID",
17905         FT_UINT32, BASE_DEC, NULL, 0,
17906         "INTEGER_1_255", HFILL }},
17907     { &hf_h245_mediaChannel,
17908       { "mediaChannel", "h245.mediaChannel",
17909         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17910         NULL, HFILL }},
17911     { &hf_h245_mediaGuaranteedDelivery,
17912       { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery",
17913         FT_BOOLEAN, BASE_NONE, NULL, 0,
17914         "BOOLEAN", HFILL }},
17915     { &hf_h245_mediaControlChannel,
17916       { "mediaControlChannel", "h245.mediaControlChannel",
17917         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17918         NULL, HFILL }},
17919     { &hf_h245_mediaControlGuaranteedDelivery,
17920       { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery",
17921         FT_BOOLEAN, BASE_NONE, NULL, 0,
17922         "BOOLEAN", HFILL }},
17923     { &hf_h245_destination,
17924       { "destination", "h245.destination",
17925         FT_NONE, BASE_NONE, NULL, 0,
17926         "TerminalLabel", HFILL }},
17927     { &hf_h245_mediaPacketization,
17928       { "mediaPacketization", "h245.mediaPacketization",
17929         FT_UINT32, BASE_DEC, VALS(h245_T_mediaPacketization_vals), 0,
17930         NULL, HFILL }},
17931     { &hf_h245_h261aVideoPacketizationFlag,
17932       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
17933         FT_NONE, BASE_NONE, NULL, 0,
17934         NULL, HFILL }},
17935     { &hf_h245_rtpPayloadType,
17936       { "rtpPayloadType", "h245.rtpPayloadType",
17937         FT_NONE, BASE_NONE, NULL, 0,
17938         NULL, HFILL }},
17939     { &hf_h245_source,
17940       { "source", "h245.source",
17941         FT_NONE, BASE_NONE, NULL, 0,
17942         "TerminalLabel", HFILL }},
17943     { &hf_h245_payloadDescriptor,
17944       { "payloadDescriptor", "h245.payloadDescriptor",
17945         FT_UINT32, BASE_DEC, VALS(h245_T_payloadDescriptor_vals), 0,
17946         NULL, HFILL }},
17947     { &hf_h245_rfc_number,
17948       { "rfc-number", "h245.rfc_number",
17949         FT_UINT32, BASE_DEC, VALS(h245_RFC_number_vals), 0,
17950         NULL, HFILL }},
17951     { &hf_h245_oid,
17952       { "oid", "h245.oid",
17953         FT_OID, BASE_NONE, NULL, 0,
17954         "OBJECT_IDENTIFIER", HFILL }},
17955     { &hf_h245_rtpPayloadType_01,
17956       { "payloadType", "h245.payloadType",
17957         FT_UINT32, BASE_DEC, NULL, 0,
17958         "T_rtpPayloadType", HFILL }},
17959     { &hf_h245_secondaryEncoding,
17960       { "secondaryEncoding", "h245.secondaryEncoding",
17961         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17962         "DataType", HFILL }},
17963     { &hf_h245_rtpRedundancyEncoding,
17964       { "rtpRedundancyEncoding", "h245.rtpRedundancyEncoding",
17965         FT_NONE, BASE_NONE, NULL, 0,
17966         NULL, HFILL }},
17967     { &hf_h245_primary,
17968       { "primary", "h245.primary",
17969         FT_NONE, BASE_NONE, NULL, 0,
17970         "RedundancyEncodingElement", HFILL }},
17971     { &hf_h245_secondary,
17972       { "secondary", "h245.secondary",
17973         FT_UINT32, BASE_DEC, NULL, 0,
17974         "SEQUENCE_OF_RedundancyEncodingElement", HFILL }},
17975     { &hf_h245_secondary_item,
17976       { "RedundancyEncodingElement", "h245.RedundancyEncodingElement",
17977         FT_NONE, BASE_NONE, NULL, 0,
17978         NULL, HFILL }},
17979     { &hf_h245_payloadType,
17980       { "payloadType", "h245.payloadType",
17981         FT_UINT32, BASE_DEC, NULL, 0,
17982         "INTEGER_0_127", HFILL }},
17983     { &hf_h245_elements,
17984       { "elements", "h245.elements",
17985         FT_UINT32, BASE_DEC, NULL, 0,
17986         "SEQUENCE_OF_MultiplePayloadStreamElement", HFILL }},
17987     { &hf_h245_elements_item,
17988       { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement",
17989         FT_NONE, BASE_NONE, NULL, 0,
17990         NULL, HFILL }},
17991     { &hf_h245_dep_rfc2733,
17992       { "rfc2733", "h245.rfc2733",
17993         FT_NONE, BASE_NONE, NULL, 0,
17994         "RFC2733Data", HFILL }},
17995     { &hf_h245_fec_data_mode,
17996       { "mode", "h245.mode",
17997         FT_UINT32, BASE_DEC, VALS(h245_FECdata_mode_vals), 0,
17998         "FECdata_mode", HFILL }},
17999     { &hf_h245_redundancyEncodingFlag,
18000       { "redundancyEncoding", "h245.redundancyEncoding",
18001         FT_NONE, BASE_NONE, NULL, 0,
18002         NULL, HFILL }},
18003     { &hf_h245_differentPort,
18004       { "differentPort", "h245.differentPort",
18005         FT_NONE, BASE_NONE, NULL, 0,
18006         NULL, HFILL }},
18007     { &hf_h245_protectedSessionID,
18008       { "protectedSessionID", "h245.protectedSessionID",
18009         FT_UINT32, BASE_DEC, NULL, 0,
18010         "INTEGER_1_255", HFILL }},
18011     { &hf_h245_protectedPayloadType,
18012       { "protectedPayloadType", "h245.protectedPayloadType",
18013         FT_UINT32, BASE_DEC, NULL, 0,
18014         "INTEGER_0_127", HFILL }},
18015     { &hf_h245_samePort,
18016       { "samePort", "h245.samePort",
18017         FT_NONE, BASE_NONE, NULL, 0,
18018         NULL, HFILL }},
18019     { &hf_h245_separateStream,
18020       { "separateStream", "h245.separateStream",
18021         FT_UINT32, BASE_DEC, VALS(h245_DepSeparateStream_vals), 0,
18022         "DepSeparateStream", HFILL }},
18023     { &hf_h245_rfc2733,
18024       { "rfc2733", "h245.rfc2733",
18025         FT_NONE, BASE_NONE, NULL, 0,
18026         NULL, HFILL }},
18027     { &hf_h245_pktMode,
18028       { "pktMode", "h245.pktMode",
18029         FT_UINT32, BASE_DEC, VALS(h245_T_pktMode_vals), 0,
18030         NULL, HFILL }},
18031     { &hf_h245_rfc2198coding,
18032       { "rfc2198coding", "h245.rfc2198coding",
18033         FT_NONE, BASE_NONE, NULL, 0,
18034         NULL, HFILL }},
18035     { &hf_h245_mode_rfc2733sameport,
18036       { "rfc2733sameport", "h245.rfc2733sameport",
18037         FT_NONE, BASE_NONE, NULL, 0,
18038         "T_mode_rfc2733sameport", HFILL }},
18039     { &hf_h245_mode_rfc2733diffport,
18040       { "rfc2733diffport", "h245.rfc2733diffport",
18041         FT_NONE, BASE_NONE, NULL, 0,
18042         "T_mode_rfc2733diffport", HFILL }},
18043     { &hf_h245_protectedChannel,
18044       { "protectedChannel", "h245.protectedChannel",
18045         FT_UINT32, BASE_DEC, NULL, 0,
18046         "LogicalChannelNumber", HFILL }},
18047     { &hf_h245_unicastAddress,
18048       { "unicastAddress", "h245.unicastAddress",
18049         FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0,
18050         NULL, HFILL }},
18051     { &hf_h245_multicastAddress,
18052       { "multicastAddress", "h245.multicastAddress",
18053         FT_UINT32, BASE_DEC, VALS(h245_MulticastAddress_vals), 0,
18054         NULL, HFILL }},
18055     { &hf_h245_iPAddress,
18056       { "iPAddress", "h245.iPAddress",
18057         FT_NONE, BASE_NONE, NULL, 0,
18058         NULL, HFILL }},
18059     { &hf_h245_ip4_network,
18060       { "network", "h245.network",
18061         FT_IPv4, BASE_NONE, NULL, 0,
18062         "Ipv4_network", HFILL }},
18063     { &hf_h245_tsapIdentifier,
18064       { "tsapIdentifier", "h245.tsapIdentifier",
18065         FT_UINT32, BASE_DEC, NULL, 0,
18066         NULL, HFILL }},
18067     { &hf_h245_iPXAddress,
18068       { "iPXAddress", "h245.iPXAddress",
18069         FT_NONE, BASE_NONE, NULL, 0,
18070         NULL, HFILL }},
18071     { &hf_h245_node,
18072       { "node", "h245.node",
18073         FT_BYTES, BASE_NONE, NULL, 0,
18074         "OCTET_STRING_SIZE_6", HFILL }},
18075     { &hf_h245_netnum,
18076       { "netnum", "h245.netnum",
18077         FT_BYTES, BASE_NONE, NULL, 0,
18078         "OCTET_STRING_SIZE_4", HFILL }},
18079     { &hf_h245_ipx_tsapIdentifier,
18080       { "tsapIdentifier", "h245.tsapIdentifier",
18081         FT_BYTES, BASE_NONE, NULL, 0,
18082         "OCTET_STRING_SIZE_2", HFILL }},
18083     { &hf_h245_iP6Address,
18084       { "iP6Address", "h245.iP6Address",
18085         FT_NONE, BASE_NONE, NULL, 0,
18086         NULL, HFILL }},
18087     { &hf_h245_ip6_network,
18088       { "network", "h245.network",
18089         FT_IPv6, BASE_NONE, NULL, 0,
18090         "OCTET_STRING_SIZE_16", HFILL }},
18091     { &hf_h245_ipv6_tsapIdentifier,
18092       { "tsapIdentifier", "h245.tsapIdentifier",
18093         FT_UINT32, BASE_DEC, NULL, 0,
18094         "INTEGER_0_65535", HFILL }},
18095     { &hf_h245_netBios,
18096       { "netBios", "h245.netBios",
18097         FT_BYTES, BASE_NONE, NULL, 0,
18098         "OCTET_STRING_SIZE_16", HFILL }},
18099     { &hf_h245_iPSourceRouteAddress,
18100       { "iPSourceRouteAddress", "h245.iPSourceRouteAddress",
18101         FT_NONE, BASE_NONE, NULL, 0,
18102         NULL, HFILL }},
18103     { &hf_h245_routing,
18104       { "routing", "h245.routing",
18105         FT_UINT32, BASE_DEC, VALS(h245_T_routing_vals), 0,
18106         NULL, HFILL }},
18107     { &hf_h245_strict,
18108       { "strict", "h245.strict",
18109         FT_NONE, BASE_NONE, NULL, 0,
18110         NULL, HFILL }},
18111     { &hf_h245_loose,
18112       { "loose", "h245.loose",
18113         FT_NONE, BASE_NONE, NULL, 0,
18114         NULL, HFILL }},
18115     { &hf_h245_network,
18116       { "network", "h245.network",
18117         FT_BYTES, BASE_NONE, NULL, 0,
18118         "OCTET_STRING_SIZE_4", HFILL }},
18119     { &hf_h245_iPSrcRoute_tsapIdentifier,
18120       { "tsapIdentifier", "h245.tsapIdentifier",
18121         FT_UINT32, BASE_DEC, NULL, 0,
18122         "INTEGER_0_65535", HFILL }},
18123     { &hf_h245_route,
18124       { "route", "h245.route",
18125         FT_UINT32, BASE_DEC, NULL, 0,
18126         NULL, HFILL }},
18127     { &hf_h245_route_item,
18128       { "route item", "h245.route_item",
18129         FT_BYTES, BASE_NONE, NULL, 0,
18130         "OCTET_STRING_SIZE_4", HFILL }},
18131     { &hf_h245_nsap,
18132       { "nsap", "h245.nsap",
18133         FT_BYTES, BASE_NONE, NULL, 0,
18134         "OCTET_STRING_SIZE_1_20", HFILL }},
18135     { &hf_h245_nonStandardAddress,
18136       { "nonStandardAddress", "h245.nonStandardAddress",
18137         FT_NONE, BASE_NONE, NULL, 0,
18138         "NonStandardParameter", HFILL }},
18139     { &hf_h245_mIPAddress,
18140       { "iPAddress", "h245.iPAddress",
18141         FT_NONE, BASE_NONE, NULL, 0,
18142         "MIPAddress", HFILL }},
18143     { &hf_h245_mip4_network,
18144       { "network", "h245.network",
18145         FT_IPv4, BASE_NONE, NULL, 0,
18146         "OCTET_STRING_SIZE_4", HFILL }},
18147     { &hf_h245_multicast_tsapIdentifier,
18148       { "tsapIdentifier", "h245.tsapIdentifier",
18149         FT_UINT32, BASE_DEC, NULL, 0,
18150         "INTEGER_0_65535", HFILL }},
18151     { &hf_h245_mIP6Address,
18152       { "iP6Address", "h245.iP6Address",
18153         FT_NONE, BASE_NONE, NULL, 0,
18154         "MIP6Address", HFILL }},
18155     { &hf_h245_mip6_network,
18156       { "network", "h245.network",
18157         FT_IPv6, BASE_NONE, NULL, 0,
18158         "OCTET_STRING_SIZE_16", HFILL }},
18159     { &hf_h245_multicast_IPv6_tsapIdentifier,
18160       { "tsapIdentifier", "h245.tsapIdentifier",
18161         FT_UINT32, BASE_DEC, NULL, 0,
18162         "INTEGER_0_65535", HFILL }},
18163     { &hf_h245_synchFlag,
18164       { "synchFlag", "h245.synchFlag",
18165         FT_UINT32, BASE_DEC, NULL, 0,
18166         "INTEGER_0_255", HFILL }},
18167     { &hf_h245_h235Key,
18168       { "h235Key", "h245.h235Key",
18169         FT_BYTES, BASE_NONE, NULL, 0,
18170         "OCTET_STRING_SIZE_1_65535", HFILL }},
18171     { &hf_h245_escrowentry,
18172       { "escrowentry", "h245.escrowentry",
18173         FT_UINT32, BASE_DEC, NULL, 0,
18174         "SEQUENCE_SIZE_1_256_OF_EscrowData", HFILL }},
18175     { &hf_h245_escrowentry_item,
18176       { "EscrowData", "h245.EscrowData",
18177         FT_NONE, BASE_NONE, NULL, 0,
18178         NULL, HFILL }},
18179     { &hf_h245_genericParameter,
18180       { "genericParameter", "h245.genericParameter",
18181         FT_NONE, BASE_NONE, NULL, 0,
18182         NULL, HFILL }},
18183     { &hf_h245_escrowID,
18184       { "escrowID", "h245.escrowID",
18185         FT_OID, BASE_NONE, NULL, 0,
18186         "OBJECT_IDENTIFIER", HFILL }},
18187     { &hf_h245_escrowValue,
18188       { "escrowValue", "h245.escrowValue",
18189         FT_BYTES, BASE_NONE, NULL, 0,
18190         "BIT_STRING_SIZE_1_65535", HFILL }},
18191     { &hf_h245_olc_ack_fw_lcn,
18192       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18193         FT_UINT32, BASE_DEC, NULL, 0,
18194         "OLC_ack_fw_lcn", HFILL }},
18195     { &hf_h245_olc_ack_reverseLogicalChannelParameters,
18196       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters",
18197         FT_NONE, BASE_NONE, NULL, 0,
18198         "OLC_ack_reverseLogicalChannelParameters", HFILL }},
18199     { &hf_h245_reverseLogicalChannelNumber,
18200       { "reverseLogicalChannelNumber", "h245.reverseLogicalChannelNumber",
18201         FT_UINT32, BASE_DEC, NULL, 0,
18202         NULL, HFILL }},
18203     { &hf_h245_olc_ack_multiplexParameters,
18204       { "multiplexParameters", "h245.multiplexParameters",
18205         FT_UINT32, BASE_DEC, VALS(h245_T_olc_ack_multiplexParameters_vals), 0,
18206         "T_olc_ack_multiplexParameters", HFILL }},
18207     { &hf_h245_forwardMultiplexAckParameters,
18208       { "forwardMultiplexAckParameters", "h245.forwardMultiplexAckParameters",
18209         FT_UINT32, BASE_DEC, VALS(h245_T_forwardMultiplexAckParameters_vals), 0,
18210         NULL, HFILL }},
18211     { &hf_h245_h2250LogicalChannelAckParameters,
18212       { "h2250LogicalChannelAckParameters", "h245.h2250LogicalChannelAckParameters",
18213         FT_NONE, BASE_NONE, NULL, 0,
18214         NULL, HFILL }},
18215     { &hf_h245_forwardLogicalChannelNumber,
18216       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18217         FT_UINT32, BASE_DEC, NULL, 0,
18218         "LogicalChannelNumber", HFILL }},
18219     { &hf_h245_olc_rej_cause,
18220       { "cause", "h245.cause",
18221         FT_UINT32, BASE_DEC, VALS(h245_OpenLogicalChannelRejectCause_vals), 0,
18222         "OpenLogicalChannelRejectCause", HFILL }},
18223     { &hf_h245_unsuitableReverseParameters,
18224       { "unsuitableReverseParameters", "h245.unsuitableReverseParameters",
18225         FT_NONE, BASE_NONE, NULL, 0,
18226         NULL, HFILL }},
18227     { &hf_h245_dataTypeNotSupported,
18228       { "dataTypeNotSupported", "h245.dataTypeNotSupported",
18229         FT_NONE, BASE_NONE, NULL, 0,
18230         NULL, HFILL }},
18231     { &hf_h245_dataTypeNotAvailable,
18232       { "dataTypeNotAvailable", "h245.dataTypeNotAvailable",
18233         FT_NONE, BASE_NONE, NULL, 0,
18234         NULL, HFILL }},
18235     { &hf_h245_unknownDataType,
18236       { "unknownDataType", "h245.unknownDataType",
18237         FT_NONE, BASE_NONE, NULL, 0,
18238         NULL, HFILL }},
18239     { &hf_h245_dataTypeALCombinationNotSupported,
18240       { "dataTypeALCombinationNotSupported", "h245.dataTypeALCombinationNotSupported",
18241         FT_NONE, BASE_NONE, NULL, 0,
18242         NULL, HFILL }},
18243     { &hf_h245_multicastChannelNotAllowed,
18244       { "multicastChannelNotAllowed", "h245.multicastChannelNotAllowed",
18245         FT_NONE, BASE_NONE, NULL, 0,
18246         NULL, HFILL }},
18247     { &hf_h245_insufficientBandwidth,
18248       { "insufficientBandwidth", "h245.insufficientBandwidth",
18249         FT_NONE, BASE_NONE, NULL, 0,
18250         NULL, HFILL }},
18251     { &hf_h245_separateStackEstablishmentFailed,
18252       { "separateStackEstablishmentFailed", "h245.separateStackEstablishmentFailed",
18253         FT_NONE, BASE_NONE, NULL, 0,
18254         NULL, HFILL }},
18255     { &hf_h245_invalidSessionID,
18256       { "invalidSessionID", "h245.invalidSessionID",
18257         FT_NONE, BASE_NONE, NULL, 0,
18258         NULL, HFILL }},
18259     { &hf_h245_masterSlaveConflict,
18260       { "masterSlaveConflict", "h245.masterSlaveConflict",
18261         FT_NONE, BASE_NONE, NULL, 0,
18262         NULL, HFILL }},
18263     { &hf_h245_waitForCommunicationMode,
18264       { "waitForCommunicationMode", "h245.waitForCommunicationMode",
18265         FT_NONE, BASE_NONE, NULL, 0,
18266         NULL, HFILL }},
18267     { &hf_h245_invalidDependentChannel,
18268       { "invalidDependentChannel", "h245.invalidDependentChannel",
18269         FT_NONE, BASE_NONE, NULL, 0,
18270         NULL, HFILL }},
18271     { &hf_h245_replacementForRejected,
18272       { "replacementForRejected", "h245.replacementForRejected",
18273         FT_NONE, BASE_NONE, NULL, 0,
18274         NULL, HFILL }},
18275     { &hf_h245_securityDenied,
18276       { "securityDenied", "h245.securityDenied",
18277         FT_NONE, BASE_NONE, NULL, 0,
18278         NULL, HFILL }},
18279     { &hf_h245_qoSControlNotSupported,
18280       { "qoSControlNotSupported", "h245.qoSControlNotSupported",
18281         FT_NONE, BASE_NONE, NULL, 0,
18282         NULL, HFILL }},
18283     { &hf_h245_sessionID,
18284       { "sessionID", "h245.sessionID",
18285         FT_UINT32, BASE_DEC, NULL, 0,
18286         "INTEGER_1_255", HFILL }},
18287     { &hf_h245_ack_mediaChannel,
18288       { "mediaChannel", "h245.mediaChannel",
18289         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18290         "Ack_mediaChannel", HFILL }},
18291     { &hf_h245_ack_mediaControlChannel,
18292       { "mediaControlChannel", "h245.mediaControlChannel",
18293         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18294         "Ack_mediaControlChannel", HFILL }},
18295     { &hf_h245_flowControlToZero,
18296       { "flowControlToZero", "h245.flowControlToZero",
18297         FT_BOOLEAN, BASE_NONE, NULL, 0,
18298         "BOOLEAN", HFILL }},
18299     { &hf_h245_cLC_source,
18300       { "source", "h245.source",
18301         FT_UINT32, BASE_DEC, VALS(h245_T_cLC_source_vals), 0,
18302         "T_cLC_source", HFILL }},
18303     { &hf_h245_user,
18304       { "user", "h245.user",
18305         FT_NONE, BASE_NONE, NULL, 0,
18306         NULL, HFILL }},
18307     { &hf_h245_lcse,
18308       { "lcse", "h245.lcse",
18309         FT_NONE, BASE_NONE, NULL, 0,
18310         NULL, HFILL }},
18311     { &hf_h245_clc_reason,
18312       { "reason", "h245.reason",
18313         FT_UINT32, BASE_DEC, VALS(h245_Clc_reason_vals), 0,
18314         "Clc_reason", HFILL }},
18315     { &hf_h245_unknown,
18316       { "unknown", "h245.unknown",
18317         FT_NONE, BASE_NONE, NULL, 0,
18318         NULL, HFILL }},
18319     { &hf_h245_reopen,
18320       { "reopen", "h245.reopen",
18321         FT_NONE, BASE_NONE, NULL, 0,
18322         NULL, HFILL }},
18323     { &hf_h245_reservationFailure,
18324       { "reservationFailure", "h245.reservationFailure",
18325         FT_NONE, BASE_NONE, NULL, 0,
18326         NULL, HFILL }},
18327     { &hf_h245_networkErrorCode,
18328       { "networkErrorCode", "h245.networkErrorCode",
18329         FT_UINT32, BASE_DEC, NULL, 0,
18330         "INTEGER_0_255", HFILL }},
18331     { &hf_h245_qosCapability,
18332       { "qosCapability", "h245.qosCapability",
18333         FT_NONE, BASE_NONE, NULL, 0,
18334         NULL, HFILL }},
18335     { &hf_h245_reason,
18336       { "reason", "h245.reason",
18337         FT_UINT32, BASE_DEC, VALS(h245_T_reason_vals), 0,
18338         NULL, HFILL }},
18339     { &hf_h245_normal,
18340       { "normal", "h245.normal",
18341         FT_NONE, BASE_NONE, NULL, 0,
18342         NULL, HFILL }},
18343     { &hf_h245_req_chan_clos_rej_cause,
18344       { "cause", "h245.cause",
18345         FT_UINT32, BASE_DEC, VALS(h245_RequestChannelCloseRejectCause_vals), 0,
18346         "RequestChannelCloseRejectCause", HFILL }},
18347     { &hf_h245_multiplexEntryDescriptors,
18348       { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors",
18349         FT_UINT32, BASE_DEC, NULL, 0,
18350         "SET_SIZE_1_15_OF_MultiplexEntryDescriptor", HFILL }},
18351     { &hf_h245_multiplexEntryDescriptors_item,
18352       { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor",
18353         FT_NONE, BASE_NONE, NULL, 0,
18354         NULL, HFILL }},
18355     { &hf_h245_multiplexTableEntryNumber,
18356       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18357         FT_UINT32, BASE_DEC, NULL, 0,
18358         NULL, HFILL }},
18359     { &hf_h245_elementList,
18360       { "elementList", "h245.elementList",
18361         FT_UINT32, BASE_DEC, NULL, 0,
18362         NULL, HFILL }},
18363     { &hf_h245_elementList_item,
18364       { "MultiplexElement", "h245.MultiplexElement",
18365         FT_NONE, BASE_NONE, NULL, 0,
18366         NULL, HFILL }},
18367     { &hf_h245_me_type,
18368       { "type", "h245.type",
18369         FT_UINT32, BASE_DEC, VALS(h245_Me_type_vals), 0,
18370         "Me_type", HFILL }},
18371     { &hf_h245_logicalChannelNum,
18372       { "logicalChannelNumber", "h245.logicalChannelNumber",
18373         FT_UINT32, BASE_DEC, NULL, 0,
18374         "T_logicalChannelNum", HFILL }},
18375     { &hf_h245_subElementList,
18376       { "subElementList", "h245.subElementList",
18377         FT_UINT32, BASE_DEC, NULL, 0,
18378         NULL, HFILL }},
18379     { &hf_h245_subElementList_item,
18380       { "MultiplexElement", "h245.MultiplexElement",
18381         FT_NONE, BASE_NONE, NULL, 0,
18382         NULL, HFILL }},
18383     { &hf_h245_me_repeatCount,
18384       { "repeatCount", "h245.repeatCount",
18385         FT_UINT32, BASE_DEC, VALS(h245_ME_repeatCount_vals), 0,
18386         "ME_repeatCount", HFILL }},
18387     { &hf_h245_me_repeatCount_finite,
18388       { "finite", "h245.finite",
18389         FT_UINT32, BASE_DEC, NULL, 0,
18390         "ME_finiteRepeatCount", HFILL }},
18391     { &hf_h245_untilClosingFlag,
18392       { "untilClosingFlag", "h245.untilClosingFlag",
18393         FT_NONE, BASE_NONE, NULL, 0,
18394         NULL, HFILL }},
18395     { &hf_h245_multiplexTableEntryNumbers,
18396       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18397         FT_UINT32, BASE_DEC, NULL, 0,
18398         "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18399     { &hf_h245_multiplexTableEntryNumbers_item,
18400       { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18401         FT_UINT32, BASE_DEC, NULL, 0,
18402         NULL, HFILL }},
18403     { &hf_h245_sendRejectionDescriptions,
18404       { "rejectionDescriptions", "h245.rejectionDescriptions",
18405         FT_UINT32, BASE_DEC, NULL, 0,
18406         "SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions", HFILL }},
18407     { &hf_h245_sendRejectionDescriptions_item,
18408       { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions",
18409         FT_NONE, BASE_NONE, NULL, 0,
18410         NULL, HFILL }},
18411     { &hf_h245_mux_rej_cause,
18412       { "cause", "h245.cause",
18413         FT_UINT32, BASE_DEC, VALS(h245_MultiplexEntryRejectionDescriptionsCause_vals), 0,
18414         "MultiplexEntryRejectionDescriptionsCause", HFILL }},
18415     { &hf_h245_unspecifiedCause,
18416       { "unspecifiedCause", "h245.unspecifiedCause",
18417         FT_NONE, BASE_NONE, NULL, 0,
18418         NULL, HFILL }},
18419     { &hf_h245_descriptorTooComplex,
18420       { "descriptorTooComplex", "h245.descriptorTooComplex",
18421         FT_NONE, BASE_NONE, NULL, 0,
18422         NULL, HFILL }},
18423     { &hf_h245_entryNumbers,
18424       { "entryNumbers", "h245.entryNumbers",
18425         FT_UINT32, BASE_DEC, NULL, 0,
18426         "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18427     { &hf_h245_entryNumbers_item,
18428       { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18429         FT_UINT32, BASE_DEC, NULL, 0,
18430         NULL, HFILL }},
18431     { &hf_h245_rejectionDescriptions,
18432       { "rejectionDescriptions", "h245.rejectionDescriptions",
18433         FT_UINT32, BASE_DEC, NULL, 0,
18434         "SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions", HFILL }},
18435     { &hf_h245_rejectionDescriptions_item,
18436       { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions",
18437         FT_NONE, BASE_NONE, NULL, 0,
18438         NULL, HFILL }},
18439     { &hf_h245_req_mux_rej_cause,
18440       { "cause", "h245.cause",
18441         FT_UINT32, BASE_DEC, VALS(h245_RequestMultiplexEntryRejectionDescriptionsCause_vals), 0,
18442         "RequestMultiplexEntryRejectionDescriptionsCause", HFILL }},
18443     { &hf_h245_requestedModes,
18444       { "requestedModes", "h245.requestedModes",
18445         FT_UINT32, BASE_DEC, NULL, 0,
18446         "SEQUENCE_SIZE_1_256_OF_ModeDescription", HFILL }},
18447     { &hf_h245_requestedModes_item,
18448       { "ModeDescription", "h245.ModeDescription",
18449         FT_UINT32, BASE_DEC, NULL, 0,
18450         NULL, HFILL }},
18451     { &hf_h245_req_mode_ack_response,
18452       { "response", "h245.response",
18453         FT_UINT32, BASE_DEC, VALS(h245_Req_mode_ack_response_vals), 0,
18454         "Req_mode_ack_response", HFILL }},
18455     { &hf_h245_willTransmitMostPreferredMode,
18456       { "willTransmitMostPreferredMode", "h245.willTransmitMostPreferredMode",
18457         FT_NONE, BASE_NONE, NULL, 0,
18458         NULL, HFILL }},
18459     { &hf_h245_willTransmitLessPreferredMode,
18460       { "willTransmitLessPreferredMode", "h245.willTransmitLessPreferredMode",
18461         FT_NONE, BASE_NONE, NULL, 0,
18462         NULL, HFILL }},
18463     { &hf_h245_req_rej_cause,
18464       { "cause", "h245.cause",
18465         FT_UINT32, BASE_DEC, VALS(h245_RequestModeRejectCause_vals), 0,
18466         "RequestModeRejectCause", HFILL }},
18467     { &hf_h245_modeUnavailable,
18468       { "modeUnavailable", "h245.modeUnavailable",
18469         FT_NONE, BASE_NONE, NULL, 0,
18470         NULL, HFILL }},
18471     { &hf_h245_multipointConstraint,
18472       { "multipointConstraint", "h245.multipointConstraint",
18473         FT_NONE, BASE_NONE, NULL, 0,
18474         NULL, HFILL }},
18475     { &hf_h245_requestDenied,
18476       { "requestDenied", "h245.requestDenied",
18477         FT_NONE, BASE_NONE, NULL, 0,
18478         NULL, HFILL }},
18479     { &hf_h245_ModeDescription_item,
18480       { "ModeElement", "h245.ModeElement",
18481         FT_NONE, BASE_NONE, NULL, 0,
18482         NULL, HFILL }},
18483     { &hf_h245_videoMode,
18484       { "videoMode", "h245.videoMode",
18485         FT_UINT32, BASE_DEC, VALS(h245_VideoMode_vals), 0,
18486         NULL, HFILL }},
18487     { &hf_h245_audioMode,
18488       { "audioMode", "h245.audioMode",
18489         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18490         NULL, HFILL }},
18491     { &hf_h245_dataMode,
18492       { "dataMode", "h245.dataMode",
18493         FT_NONE, BASE_NONE, NULL, 0,
18494         NULL, HFILL }},
18495     { &hf_h245_encryptionMode,
18496       { "encryptionMode", "h245.encryptionMode",
18497         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
18498         NULL, HFILL }},
18499     { &hf_h245_h235Mode,
18500       { "h235Mode", "h245.h235Mode",
18501         FT_NONE, BASE_NONE, NULL, 0,
18502         NULL, HFILL }},
18503     { &hf_h245_multiplexedStreamMode,
18504       { "multiplexedStreamMode", "h245.multiplexedStreamMode",
18505         FT_NONE, BASE_NONE, NULL, 0,
18506         "MultiplexedStreamParameter", HFILL }},
18507     { &hf_h245_redundancyEncodingDTMode,
18508       { "redundancyEncodingDTMode", "h245.redundancyEncodingDTMode",
18509         FT_NONE, BASE_NONE, NULL, 0,
18510         NULL, HFILL }},
18511     { &hf_h245_multiplePayloadStreamMode,
18512       { "multiplePayloadStreamMode", "h245.multiplePayloadStreamMode",
18513         FT_NONE, BASE_NONE, NULL, 0,
18514         NULL, HFILL }},
18515     { &hf_h245_depFecMode,
18516       { "depFecMode", "h245.depFecMode",
18517         FT_UINT32, BASE_DEC, VALS(h245_DepFECMode_vals), 0,
18518         NULL, HFILL }},
18519     { &hf_h245_fecMode,
18520       { "fecMode", "h245.fecMode",
18521         FT_NONE, BASE_NONE, NULL, 0,
18522         NULL, HFILL }},
18523     { &hf_h245_type,
18524       { "type", "h245.type",
18525         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18526         "ModeElementType", HFILL }},
18527     { &hf_h245_h223ModeParameters,
18528       { "h223ModeParameters", "h245.h223ModeParameters",
18529         FT_NONE, BASE_NONE, NULL, 0,
18530         NULL, HFILL }},
18531     { &hf_h245_v76ModeParameters,
18532       { "v76ModeParameters", "h245.v76ModeParameters",
18533         FT_UINT32, BASE_DEC, VALS(h245_V76ModeParameters_vals), 0,
18534         NULL, HFILL }},
18535     { &hf_h245_h2250ModeParameters,
18536       { "h2250ModeParameters", "h245.h2250ModeParameters",
18537         FT_NONE, BASE_NONE, NULL, 0,
18538         NULL, HFILL }},
18539     { &hf_h245_genericModeParameters,
18540       { "genericModeParameters", "h245.genericModeParameters",
18541         FT_NONE, BASE_NONE, NULL, 0,
18542         "GenericCapability", HFILL }},
18543     { &hf_h245_multiplexedStreamModeParameters,
18544       { "multiplexedStreamModeParameters", "h245.multiplexedStreamModeParameters",
18545         FT_NONE, BASE_NONE, NULL, 0,
18546         NULL, HFILL }},
18547     { &hf_h245_logicalChannelNumber,
18548       { "logicalChannelNumber", "h245.logicalChannelNumber",
18549         FT_UINT32, BASE_DEC, NULL, 0,
18550         NULL, HFILL }},
18551     { &hf_h245_mediaMode,
18552       { "mediaMode", "h245.mediaMode",
18553         FT_UINT32, BASE_DEC, VALS(h245_T_mediaMode_vals), 0,
18554         NULL, HFILL }},
18555     { &hf_h245_prmary_dtmode,
18556       { "primary", "h245.primary",
18557         FT_NONE, BASE_NONE, NULL, 0,
18558         "RedundancyEncodingDTModeElement", HFILL }},
18559     { &hf_h245_secondaryDTM,
18560       { "secondary", "h245.secondary",
18561         FT_UINT32, BASE_DEC, NULL, 0,
18562         "SEQUENCE_OF_RedundancyEncodingDTModeElement", HFILL }},
18563     { &hf_h245_secondaryDTM_item,
18564       { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement",
18565         FT_NONE, BASE_NONE, NULL, 0,
18566         NULL, HFILL }},
18567     { &hf_h245_re_type,
18568       { "type", "h245.type",
18569         FT_UINT32, BASE_DEC, VALS(h245_Re_type_vals), 0,
18570         "Re_type", HFILL }},
18571     { &hf_h245_mpsmElements,
18572       { "elements", "h245.elements",
18573         FT_UINT32, BASE_DEC, NULL, 0,
18574         "SEQUENCE_OF_MultiplePayloadStreamElementMode", HFILL }},
18575     { &hf_h245_mpsmElements_item,
18576       { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode",
18577         FT_NONE, BASE_NONE, NULL, 0,
18578         NULL, HFILL }},
18579     { &hf_h245_rfc2733Mode,
18580       { "rfc2733Mode", "h245.rfc2733Mode",
18581         FT_NONE, BASE_NONE, NULL, 0,
18582         NULL, HFILL }},
18583     { &hf_h245_fec_mode,
18584       { "mode", "h245.mode",
18585         FT_UINT32, BASE_DEC, VALS(h245_FEC_mode_vals), 0,
18586         "FEC_mode", HFILL }},
18587     { &hf_h245_protectedElement,
18588       { "protectedElement", "h245.protectedElement",
18589         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18590         "ModeElementType", HFILL }},
18591     { &hf_h245_adaptationLayer,
18592       { "adaptationLayerType", "h245.adaptationLayerType",
18593         FT_UINT32, BASE_DEC, VALS(h245_AdaptationLayerType_vals), 0,
18594         NULL, HFILL }},
18595     { &hf_h245_al1Framed,
18596       { "al1Framed", "h245.al1Framed",
18597         FT_NONE, BASE_NONE, NULL, 0,
18598         NULL, HFILL }},
18599     { &hf_h245_al1NotFramed,
18600       { "al1NotFramed", "h245.al1NotFramed",
18601         FT_NONE, BASE_NONE, NULL, 0,
18602         NULL, HFILL }},
18603     { &hf_h245_al2WithoutSequenceNumbers,
18604       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers",
18605         FT_NONE, BASE_NONE, NULL, 0,
18606         NULL, HFILL }},
18607     { &hf_h245_al2WithSequenceNumbers,
18608       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers",
18609         FT_NONE, BASE_NONE, NULL, 0,
18610         NULL, HFILL }},
18611     { &hf_h245_al3,
18612       { "al3", "h245.al3",
18613         FT_NONE, BASE_NONE, NULL, 0,
18614         NULL, HFILL }},
18615     { &hf_h245_al1M,
18616       { "al1M", "h245.al1M",
18617         FT_NONE, BASE_NONE, NULL, 0,
18618         "H223AL1MParameters", HFILL }},
18619     { &hf_h245_al2M,
18620       { "al2M", "h245.al2M",
18621         FT_NONE, BASE_NONE, NULL, 0,
18622         "H223AL2MParameters", HFILL }},
18623     { &hf_h245_al3M,
18624       { "al3M", "h245.al3M",
18625         FT_NONE, BASE_NONE, NULL, 0,
18626         "H223AL3MParameters", HFILL }},
18627     { &hf_h245_segmentableFlag,
18628       { "segmentableFlag", "h245.segmentableFlag",
18629         FT_BOOLEAN, BASE_NONE, NULL, 0,
18630         "BOOLEAN", HFILL }},
18631     { &hf_h245_redundancyEncodingMode,
18632       { "redundancyEncodingMode", "h245.redundancyEncodingMode",
18633         FT_NONE, BASE_NONE, NULL, 0,
18634         NULL, HFILL }},
18635     { &hf_h245_secondaryEncodingMode,
18636       { "secondaryEncoding", "h245.secondaryEncoding",
18637         FT_UINT32, BASE_DEC, VALS(h245_T_secondaryEncodingMode_vals), 0,
18638         "T_secondaryEncodingMode", HFILL }},
18639     { &hf_h245_h261VideoMode,
18640       { "h261VideoMode", "h245.h261VideoMode",
18641         FT_NONE, BASE_NONE, NULL, 0,
18642         NULL, HFILL }},
18643     { &hf_h245_h262VideoMode,
18644       { "h262VideoMode", "h245.h262VideoMode",
18645         FT_NONE, BASE_NONE, NULL, 0,
18646         NULL, HFILL }},
18647     { &hf_h245_h263VideoMode,
18648       { "h263VideoMode", "h245.h263VideoMode",
18649         FT_NONE, BASE_NONE, NULL, 0,
18650         NULL, HFILL }},
18651     { &hf_h245_is11172VideoMode,
18652       { "is11172VideoMode", "h245.is11172VideoMode",
18653         FT_NONE, BASE_NONE, NULL, 0,
18654         NULL, HFILL }},
18655     { &hf_h245_genericVideoMode,
18656       { "genericVideoMode", "h245.genericVideoMode",
18657         FT_NONE, BASE_NONE, NULL, 0,
18658         "GenericCapability", HFILL }},
18659     { &hf_h245_h261_resolution,
18660       { "resolution", "h245.resolution",
18661         FT_UINT32, BASE_DEC, VALS(h245_H261Resolution_vals), 0,
18662         "H261Resolution", HFILL }},
18663     { &hf_h245_qcif,
18664       { "qcif", "h245.qcif",
18665         FT_NONE, BASE_NONE, NULL, 0,
18666         NULL, HFILL }},
18667     { &hf_h245_cif,
18668       { "cif", "h245.cif",
18669         FT_NONE, BASE_NONE, NULL, 0,
18670         NULL, HFILL }},
18671     { &hf_h245_profileAndLevel,
18672       { "profileAndLevel", "h245.profileAndLevel",
18673         FT_UINT32, BASE_DEC, VALS(h245_T_profileAndLevel_vals), 0,
18674         NULL, HFILL }},
18675     { &hf_h245_profileAndLevel_SPatMLMode,
18676       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
18677         FT_NONE, BASE_NONE, NULL, 0,
18678         NULL, HFILL }},
18679     { &hf_h245_profileAndLevel_MPatLLMode,
18680       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
18681         FT_NONE, BASE_NONE, NULL, 0,
18682         NULL, HFILL }},
18683     { &hf_h245_profileAndLevel_MPatMLMode,
18684       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
18685         FT_NONE, BASE_NONE, NULL, 0,
18686         NULL, HFILL }},
18687     { &hf_h245_profileAndLevel_MPatH_14Mode,
18688       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
18689         FT_NONE, BASE_NONE, NULL, 0,
18690         NULL, HFILL }},
18691     { &hf_h245_profileAndLevel_MPatHLMode,
18692       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
18693         FT_NONE, BASE_NONE, NULL, 0,
18694         NULL, HFILL }},
18695     { &hf_h245_profileAndLevel_SNRatLLMode,
18696       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
18697         FT_NONE, BASE_NONE, NULL, 0,
18698         NULL, HFILL }},
18699     { &hf_h245_profileAndLevel_SNRatMLMode,
18700       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
18701         FT_NONE, BASE_NONE, NULL, 0,
18702         NULL, HFILL }},
18703     { &hf_h245_profileAndLevel_SpatialatH_14Mode,
18704       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
18705         FT_NONE, BASE_NONE, NULL, 0,
18706         NULL, HFILL }},
18707     { &hf_h245_profileAndLevel_HPatMLMode,
18708       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
18709         FT_NONE, BASE_NONE, NULL, 0,
18710         NULL, HFILL }},
18711     { &hf_h245_profileAndLevel_HPatH_14Mode,
18712       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
18713         FT_NONE, BASE_NONE, NULL, 0,
18714         NULL, HFILL }},
18715     { &hf_h245_profileAndLevel_HPatHLMode,
18716       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
18717         FT_NONE, BASE_NONE, NULL, 0,
18718         NULL, HFILL }},
18719     { &hf_h245_h263_resolution,
18720       { "resolution", "h245.resolution",
18721         FT_UINT32, BASE_DEC, VALS(h245_H263Resolution_vals), 0,
18722         "H263Resolution", HFILL }},
18723     { &hf_h245_sqcif,
18724       { "sqcif", "h245.sqcif",
18725         FT_NONE, BASE_NONE, NULL, 0,
18726         NULL, HFILL }},
18727     { &hf_h245_cif4,
18728       { "cif4", "h245.cif4",
18729         FT_NONE, BASE_NONE, NULL, 0,
18730         NULL, HFILL }},
18731     { &hf_h245_cif16,
18732       { "cif16", "h245.cif16",
18733         FT_NONE, BASE_NONE, NULL, 0,
18734         NULL, HFILL }},
18735     { &hf_h245_custom_res,
18736       { "custom", "h245.custom",
18737         FT_NONE, BASE_NONE, NULL, 0,
18738         NULL, HFILL }},
18739     { &hf_h245_g711Alaw64k_mode,
18740       { "g711Alaw64k", "h245.g711Alaw64k",
18741         FT_NONE, BASE_NONE, NULL, 0,
18742         NULL, HFILL }},
18743     { &hf_h245_g711Alaw56k_mode,
18744       { "g711Alaw56k", "h245.g711Alaw56k",
18745         FT_NONE, BASE_NONE, NULL, 0,
18746         NULL, HFILL }},
18747     { &hf_h245_g711Ulaw64k_mode,
18748       { "g711Ulaw64k", "h245.g711Ulaw64k",
18749         FT_NONE, BASE_NONE, NULL, 0,
18750         NULL, HFILL }},
18751     { &hf_h245_g711Ulaw56k_mode,
18752       { "g711Ulaw56k", "h245.g711Ulaw56k",
18753         FT_NONE, BASE_NONE, NULL, 0,
18754         NULL, HFILL }},
18755     { &hf_h245_g722_64k_mode,
18756       { "g722-64k", "h245.g722_64k",
18757         FT_NONE, BASE_NONE, NULL, 0,
18758         NULL, HFILL }},
18759     { &hf_h245_g722_56k_mode,
18760       { "g722-56k", "h245.g722_56k",
18761         FT_NONE, BASE_NONE, NULL, 0,
18762         NULL, HFILL }},
18763     { &hf_h245_g722_48k_mode,
18764       { "g722-48k", "h245.g722_48k",
18765         FT_NONE, BASE_NONE, NULL, 0,
18766         NULL, HFILL }},
18767     { &hf_h245_g728_mode,
18768       { "g728", "h245.g728",
18769         FT_NONE, BASE_NONE, NULL, 0,
18770         NULL, HFILL }},
18771     { &hf_h245_g729_mode,
18772       { "g729", "h245.g729",
18773         FT_NONE, BASE_NONE, NULL, 0,
18774         NULL, HFILL }},
18775     { &hf_h245_g729AnnexA_mode,
18776       { "g729AnnexA", "h245.g729AnnexA",
18777         FT_NONE, BASE_NONE, NULL, 0,
18778         NULL, HFILL }},
18779     { &hf_h245_g7231_mode,
18780       { "g7231", "h245.g7231",
18781         FT_UINT32, BASE_DEC, VALS(h245_Mode_g7231_vals), 0,
18782         "Mode_g7231", HFILL }},
18783     { &hf_h245_noSilenceSuppressionLowRate,
18784       { "noSilenceSuppressionLowRate", "h245.noSilenceSuppressionLowRate",
18785         FT_NONE, BASE_NONE, NULL, 0,
18786         NULL, HFILL }},
18787     { &hf_h245_noSilenceSuppressionHighRate,
18788       { "noSilenceSuppressionHighRate", "h245.noSilenceSuppressionHighRate",
18789         FT_NONE, BASE_NONE, NULL, 0,
18790         NULL, HFILL }},
18791     { &hf_h245_silenceSuppressionLowRate,
18792       { "silenceSuppressionLowRate", "h245.silenceSuppressionLowRate",
18793         FT_NONE, BASE_NONE, NULL, 0,
18794         NULL, HFILL }},
18795     { &hf_h245_silenceSuppressionHighRate,
18796       { "silenceSuppressionHighRate", "h245.silenceSuppressionHighRate",
18797         FT_NONE, BASE_NONE, NULL, 0,
18798         NULL, HFILL }},
18799     { &hf_h245_is11172AudioMode,
18800       { "is11172AudioMode", "h245.is11172AudioMode",
18801         FT_NONE, BASE_NONE, NULL, 0,
18802         NULL, HFILL }},
18803     { &hf_h245_is13818AudioMode,
18804       { "is13818AudioMode", "h245.is13818AudioMode",
18805         FT_NONE, BASE_NONE, NULL, 0,
18806         NULL, HFILL }},
18807     { &hf_h245_g7231AnnexCMode,
18808       { "g7231AnnexCMode", "h245.g7231AnnexCMode",
18809         FT_NONE, BASE_NONE, NULL, 0,
18810         NULL, HFILL }},
18811     { &hf_h245_genericAudioMode,
18812       { "genericAudioMode", "h245.genericAudioMode",
18813         FT_NONE, BASE_NONE, NULL, 0,
18814         "GenericCapability", HFILL }},
18815     { &hf_h245_vbd_mode,
18816       { "vbd", "h245.vbd",
18817         FT_NONE, BASE_NONE, NULL, 0,
18818         "VBDMode", HFILL }},
18819     { &hf_h245_audioLayer,
18820       { "audioLayer", "h245.audioLayer",
18821         FT_UINT32, BASE_DEC, VALS(h245_T_audioLayer_vals), 0,
18822         NULL, HFILL }},
18823     { &hf_h245_audioLayer1Mode,
18824       { "audioLayer1", "h245.audioLayer1",
18825         FT_NONE, BASE_NONE, NULL, 0,
18826         NULL, HFILL }},
18827     { &hf_h245_audioLayer2Mode,
18828       { "audioLayer2", "h245.audioLayer2",
18829         FT_NONE, BASE_NONE, NULL, 0,
18830         NULL, HFILL }},
18831     { &hf_h245_audioLayer3Mode,
18832       { "audioLayer3", "h245.audioLayer3",
18833         FT_NONE, BASE_NONE, NULL, 0,
18834         NULL, HFILL }},
18835     { &hf_h245_audioSampling,
18836       { "audioSampling", "h245.audioSampling",
18837         FT_UINT32, BASE_DEC, VALS(h245_T_audioSampling_vals), 0,
18838         NULL, HFILL }},
18839     { &hf_h245_audioSampling32kMode,
18840       { "audioSampling32k", "h245.audioSampling32k",
18841         FT_NONE, BASE_NONE, NULL, 0,
18842         NULL, HFILL }},
18843     { &hf_h245_audioSampling44k1Mode,
18844       { "audioSampling44k1", "h245.audioSampling44k1",
18845         FT_NONE, BASE_NONE, NULL, 0,
18846         NULL, HFILL }},
18847     { &hf_h245_audioSampling48kMode,
18848       { "audioSampling48k", "h245.audioSampling48k",
18849         FT_NONE, BASE_NONE, NULL, 0,
18850         NULL, HFILL }},
18851     { &hf_h245_is11172multichannelType,
18852       { "multichannelType", "h245.multichannelType",
18853         FT_UINT32, BASE_DEC, VALS(h245_IS11172_multichannelType_vals), 0,
18854         "IS11172_multichannelType", HFILL }},
18855     { &hf_h245_singleChannelMode,
18856       { "singleChannel", "h245.singleChannel",
18857         FT_NONE, BASE_NONE, NULL, 0,
18858         NULL, HFILL }},
18859     { &hf_h245_twoChannelStereo,
18860       { "twoChannelStereo", "h245.twoChannelStereo",
18861         FT_NONE, BASE_NONE, NULL, 0,
18862         NULL, HFILL }},
18863     { &hf_h245_twoChannelDual,
18864       { "twoChannelDual", "h245.twoChannelDual",
18865         FT_NONE, BASE_NONE, NULL, 0,
18866         NULL, HFILL }},
18867     { &hf_h245_audioLayerMode,
18868       { "audioLayer", "h245.audioLayer",
18869         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioLayer_vals), 0,
18870         "IS13818AudioLayer", HFILL }},
18871     { &hf_h245_audioSamplingMode,
18872       { "audioSampling", "h245.audioSampling",
18873         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioSampling_vals), 0,
18874         "IS13818AudioSampling", HFILL }},
18875     { &hf_h245_audioSampling16kMode,
18876       { "audioSampling16k", "h245.audioSampling16k",
18877         FT_NONE, BASE_NONE, NULL, 0,
18878         NULL, HFILL }},
18879     { &hf_h245_audioSampling22k05Mode,
18880       { "audioSampling22k05", "h245.audioSampling22k05",
18881         FT_NONE, BASE_NONE, NULL, 0,
18882         NULL, HFILL }},
18883     { &hf_h245_audioSampling24kMode,
18884       { "audioSampling24k", "h245.audioSampling24k",
18885         FT_NONE, BASE_NONE, NULL, 0,
18886         NULL, HFILL }},
18887     { &hf_h245_is13818MultichannelType,
18888       { "multichannelType", "h245.multichannelType",
18889         FT_UINT32, BASE_DEC, VALS(h245_IS13818MultichannelType_vals), 0,
18890         "IS13818MultichannelType", HFILL }},
18891     { &hf_h245_threeChannels2_1Mode,
18892       { "threeChannels2-1", "h245.threeChannels2_1",
18893         FT_NONE, BASE_NONE, NULL, 0,
18894         NULL, HFILL }},
18895     { &hf_h245_threeChannels3_0Mode,
18896       { "threeChannels3-0", "h245.threeChannels3_0",
18897         FT_NONE, BASE_NONE, NULL, 0,
18898         NULL, HFILL }},
18899     { &hf_h245_fourChannels2_0_2_0Mode,
18900       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
18901         FT_NONE, BASE_NONE, NULL, 0,
18902         NULL, HFILL }},
18903     { &hf_h245_fourChannels2_2Mode,
18904       { "fourChannels2-2", "h245.fourChannels2_2",
18905         FT_NONE, BASE_NONE, NULL, 0,
18906         NULL, HFILL }},
18907     { &hf_h245_fourChannels3_1Mode,
18908       { "fourChannels3-1", "h245.fourChannels3_1",
18909         FT_NONE, BASE_NONE, NULL, 0,
18910         NULL, HFILL }},
18911     { &hf_h245_fiveChannels3_0_2_0Mode,
18912       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
18913         FT_NONE, BASE_NONE, NULL, 0,
18914         NULL, HFILL }},
18915     { &hf_h245_fiveChannels3_2Mode,
18916       { "fiveChannels3-2", "h245.fiveChannels3_2",
18917         FT_NONE, BASE_NONE, NULL, 0,
18918         NULL, HFILL }},
18919     { &hf_h245_vbd_type,
18920       { "type", "h245.type",
18921         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18922         "AudioMode", HFILL }},
18923     { &hf_h245_datamodeapplication,
18924       { "application", "h245.application",
18925         FT_UINT32, BASE_DEC, VALS(h245_DataModeApplication_vals), 0,
18926         "DataModeApplication", HFILL }},
18927     { &hf_h245_t84DataProtocolCapability,
18928       { "t84", "h245.t84",
18929         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
18930         "DataProtocolCapability", HFILL }},
18931     { &hf_h245_t38faxDataProtocolCapability,
18932       { "t38fax", "h245.t38fax",
18933         FT_NONE, BASE_NONE, NULL, 0,
18934         "T38faxApp", HFILL }},
18935     { &hf_h245_genericDataMode,
18936       { "genericDataMode", "h245.genericDataMode",
18937         FT_NONE, BASE_NONE, NULL, 0,
18938         "GenericCapability", HFILL }},
18939     { &hf_h245_bitRate_0_4294967295,
18940       { "bitRate", "h245.bitRate",
18941         FT_UINT32, BASE_DEC, NULL, 0,
18942         "INTEGER_0_4294967295", HFILL }},
18943     { &hf_h245_h233Encryption,
18944       { "h233Encryption", "h245.h233Encryption",
18945         FT_NONE, BASE_NONE, NULL, 0,
18946         NULL, HFILL }},
18947     { &hf_h245_mlr_type,
18948       { "type", "h245.type",
18949         FT_UINT32, BASE_DEC, VALS(h245_Mlr_type_vals), 0,
18950         "Mlr_type", HFILL }},
18951     { &hf_h245_systemLoop,
18952       { "systemLoop", "h245.systemLoop",
18953         FT_NONE, BASE_NONE, NULL, 0,
18954         NULL, HFILL }},
18955     { &hf_h245_mediaLoop,
18956       { "mediaLoop", "h245.mediaLoop",
18957         FT_UINT32, BASE_DEC, NULL, 0,
18958         "LogicalChannelNumber", HFILL }},
18959     { &hf_h245_logicalChannelLoop,
18960       { "logicalChannelLoop", "h245.logicalChannelLoop",
18961         FT_UINT32, BASE_DEC, NULL, 0,
18962         "LogicalChannelNumber", HFILL }},
18963     { &hf_h245_mla_type,
18964       { "type", "h245.type",
18965         FT_UINT32, BASE_DEC, VALS(h245_Mla_type_vals), 0,
18966         "Mla_type", HFILL }},
18967     { &hf_h245_mlrej_type,
18968       { "type", "h245.type",
18969         FT_UINT32, BASE_DEC, VALS(h245_Mlrej_type_vals), 0,
18970         "Mlrej_type", HFILL }},
18971     { &hf_h245_maintloop_rej_cause,
18972       { "cause", "h245.cause",
18973         FT_UINT32, BASE_DEC, VALS(h245_MaintenanceLoopRejectCause_vals), 0,
18974         "MaintenanceLoopRejectCause", HFILL }},
18975     { &hf_h245_canNotPerformLoop,
18976       { "canNotPerformLoop", "h245.canNotPerformLoop",
18977         FT_NONE, BASE_NONE, NULL, 0,
18978         NULL, HFILL }},
18979     { &hf_h245_communicationModeTable,
18980       { "communicationModeTable", "h245.communicationModeTable",
18981         FT_UINT32, BASE_DEC, NULL, 0,
18982         "SET_SIZE_1_256_OF_CommunicationModeTableEntry", HFILL }},
18983     { &hf_h245_communicationModeTable_item,
18984       { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry",
18985         FT_NONE, BASE_NONE, NULL, 0,
18986         NULL, HFILL }},
18987     { &hf_h245_terminalLabel,
18988       { "terminalLabel", "h245.terminalLabel",
18989         FT_NONE, BASE_NONE, NULL, 0,
18990         NULL, HFILL }},
18991     { &hf_h245_sessionDescription,
18992       { "sessionDescription", "h245.sessionDescription",
18993         FT_STRING, BASE_NONE, NULL, 0,
18994         "BMPString_SIZE_1_128", HFILL }},
18995     { &hf_h245_entryDataType,
18996       { "dataType", "h245.dataType",
18997         FT_UINT32, BASE_DEC, VALS(h245_T_entryDataType_vals), 0,
18998         "T_entryDataType", HFILL }},
18999     { &hf_h245_cm_mediaChannel,
19000       { "mediaChannel", "h245.mediaChannel",
19001         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
19002         "Cm_mediaChannel", HFILL }},
19003     { &hf_h245_cm_mediaControlChannel,
19004       { "mediaControlChannel", "h245.mediaControlChannel",
19005         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
19006         "TransportAddress", HFILL }},
19007     { &hf_h245_sessionDependency,
19008       { "sessionDependency", "h245.sessionDependency",
19009         FT_UINT32, BASE_DEC, NULL, 0,
19010         "INTEGER_1_255", HFILL }},
19011     { &hf_h245_terminalListRequest,
19012       { "terminalListRequest", "h245.terminalListRequest",
19013         FT_NONE, BASE_NONE, NULL, 0,
19014         NULL, HFILL }},
19015     { &hf_h245_makeMeChair,
19016       { "makeMeChair", "h245.makeMeChair",
19017         FT_NONE, BASE_NONE, NULL, 0,
19018         NULL, HFILL }},
19019     { &hf_h245_cancelMakeMeChair,
19020       { "cancelMakeMeChair", "h245.cancelMakeMeChair",
19021         FT_NONE, BASE_NONE, NULL, 0,
19022         NULL, HFILL }},
19023     { &hf_h245_dropTerminal,
19024       { "dropTerminal", "h245.dropTerminal",
19025         FT_NONE, BASE_NONE, NULL, 0,
19026         "TerminalLabel", HFILL }},
19027     { &hf_h245_requestTerminalID,
19028       { "requestTerminalID", "h245.requestTerminalID",
19029         FT_NONE, BASE_NONE, NULL, 0,
19030         "TerminalLabel", HFILL }},
19031     { &hf_h245_enterH243Password,
19032       { "enterH243Password", "h245.enterH243Password",
19033         FT_NONE, BASE_NONE, NULL, 0,
19034         NULL, HFILL }},
19035     { &hf_h245_enterH243TerminalID,
19036       { "enterH243TerminalID", "h245.enterH243TerminalID",
19037         FT_NONE, BASE_NONE, NULL, 0,
19038         NULL, HFILL }},
19039     { &hf_h245_enterH243ConferenceID,
19040       { "enterH243ConferenceID", "h245.enterH243ConferenceID",
19041         FT_NONE, BASE_NONE, NULL, 0,
19042         NULL, HFILL }},
19043     { &hf_h245_enterExtensionAddress,
19044       { "enterExtensionAddress", "h245.enterExtensionAddress",
19045         FT_NONE, BASE_NONE, NULL, 0,
19046         NULL, HFILL }},
19047     { &hf_h245_requestChairTokenOwner,
19048       { "requestChairTokenOwner", "h245.requestChairTokenOwner",
19049         FT_NONE, BASE_NONE, NULL, 0,
19050         NULL, HFILL }},
19051     { &hf_h245_requestTerminalCertificate,
19052       { "requestTerminalCertificate", "h245.requestTerminalCertificate",
19053         FT_NONE, BASE_NONE, NULL, 0,
19054         NULL, HFILL }},
19055     { &hf_h245_certSelectionCriteria,
19056       { "certSelectionCriteria", "h245.certSelectionCriteria",
19057         FT_UINT32, BASE_DEC, NULL, 0,
19058         NULL, HFILL }},
19059     { &hf_h245_sRandom,
19060       { "sRandom", "h245.sRandom",
19061         FT_UINT32, BASE_DEC, NULL, 0,
19062         "INTEGER_1_4294967295", HFILL }},
19063     { &hf_h245_broadcastMyLogicalChannel,
19064       { "broadcastMyLogicalChannel", "h245.broadcastMyLogicalChannel",
19065         FT_UINT32, BASE_DEC, NULL, 0,
19066         "LogicalChannelNumber", HFILL }},
19067     { &hf_h245_makeTerminalBroadcaster,
19068       { "makeTerminalBroadcaster", "h245.makeTerminalBroadcaster",
19069         FT_NONE, BASE_NONE, NULL, 0,
19070         "TerminalLabel", HFILL }},
19071     { &hf_h245_sendThisSource,
19072       { "sendThisSource", "h245.sendThisSource",
19073         FT_NONE, BASE_NONE, NULL, 0,
19074         "TerminalLabel", HFILL }},
19075     { &hf_h245_requestAllTerminalIDs,
19076       { "requestAllTerminalIDs", "h245.requestAllTerminalIDs",
19077         FT_NONE, BASE_NONE, NULL, 0,
19078         NULL, HFILL }},
19079     { &hf_h245_remoteMCRequest,
19080       { "remoteMCRequest", "h245.remoteMCRequest",
19081         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCRequest_vals), 0,
19082         NULL, HFILL }},
19083     { &hf_h245_CertSelectionCriteria_item,
19084       { "Criteria", "h245.Criteria",
19085         FT_NONE, BASE_NONE, NULL, 0,
19086         NULL, HFILL }},
19087     { &hf_h245_field,
19088       { "field", "h245.field",
19089         FT_OID, BASE_NONE, NULL, 0,
19090         "OBJECT_IDENTIFIER", HFILL }},
19091     { &hf_h245_criteriaValue,
19092       { "value", "h245.value",
19093         FT_BYTES, BASE_NONE, NULL, 0,
19094         "OCTET_STRING_SIZE_1_65535", HFILL }},
19095     { &hf_h245_mcuNumber,
19096       { "mcuNumber", "h245.mcuNumber",
19097         FT_UINT32, BASE_DEC, NULL, 0,
19098         NULL, HFILL }},
19099     { &hf_h245_terminalNumber,
19100       { "terminalNumber", "h245.terminalNumber",
19101         FT_UINT32, BASE_DEC, NULL, 0,
19102         NULL, HFILL }},
19103     { &hf_h245_mCTerminalIDResponse,
19104       { "mCTerminalIDResponse", "h245.mCTerminalIDResponse",
19105         FT_NONE, BASE_NONE, NULL, 0,
19106         NULL, HFILL }},
19107     { &hf_h245_terminalID,
19108       { "terminalID", "h245.terminalID",
19109         FT_BYTES, BASE_NONE, NULL, 0,
19110         NULL, HFILL }},
19111     { &hf_h245_terminalIDResponse,
19112       { "terminalIDResponse", "h245.terminalIDResponse",
19113         FT_NONE, BASE_NONE, NULL, 0,
19114         NULL, HFILL }},
19115     { &hf_h245_conferenceIDResponse,
19116       { "conferenceIDResponse", "h245.conferenceIDResponse",
19117         FT_NONE, BASE_NONE, NULL, 0,
19118         NULL, HFILL }},
19119     { &hf_h245_conferenceID,
19120       { "conferenceID", "h245.conferenceID",
19121         FT_BYTES, BASE_NONE, NULL, 0,
19122         NULL, HFILL }},
19123     { &hf_h245_passwordResponse,
19124       { "passwordResponse", "h245.passwordResponse",
19125         FT_NONE, BASE_NONE, NULL, 0,
19126         NULL, HFILL }},
19127     { &hf_h245_password,
19128       { "password", "h245.password",
19129         FT_BYTES, BASE_NONE, NULL, 0,
19130         NULL, HFILL }},
19131     { &hf_h245_terminalListResponse,
19132       { "terminalListResponse", "h245.terminalListResponse",
19133         FT_UINT32, BASE_DEC, NULL, 0,
19134         "SET_SIZE_1_256_OF_TerminalLabel", HFILL }},
19135     { &hf_h245_terminalListResponse_item,
19136       { "TerminalLabel", "h245.TerminalLabel",
19137         FT_NONE, BASE_NONE, NULL, 0,
19138         NULL, HFILL }},
19139     { &hf_h245_videoCommandReject,
19140       { "videoCommandReject", "h245.videoCommandReject",
19141         FT_NONE, BASE_NONE, NULL, 0,
19142         NULL, HFILL }},
19143     { &hf_h245_terminalDropReject,
19144       { "terminalDropReject", "h245.terminalDropReject",
19145         FT_NONE, BASE_NONE, NULL, 0,
19146         NULL, HFILL }},
19147     { &hf_h245_makeMeChairResponse,
19148       { "makeMeChairResponse", "h245.makeMeChairResponse",
19149         FT_UINT32, BASE_DEC, VALS(h245_T_makeMeChairResponse_vals), 0,
19150         NULL, HFILL }},
19151     { &hf_h245_grantedChairToken,
19152       { "grantedChairToken", "h245.grantedChairToken",
19153         FT_NONE, BASE_NONE, NULL, 0,
19154         NULL, HFILL }},
19155     { &hf_h245_deniedChairToken,
19156       { "deniedChairToken", "h245.deniedChairToken",
19157         FT_NONE, BASE_NONE, NULL, 0,
19158         NULL, HFILL }},
19159     { &hf_h245_extensionAddressResponse,
19160       { "extensionAddressResponse", "h245.extensionAddressResponse",
19161         FT_NONE, BASE_NONE, NULL, 0,
19162         NULL, HFILL }},
19163     { &hf_h245_extensionAddress,
19164       { "extensionAddress", "h245.extensionAddress",
19165         FT_BYTES, BASE_NONE, NULL, 0,
19166         "TerminalID", HFILL }},
19167     { &hf_h245_chairTokenOwnerResponse,
19168       { "chairTokenOwnerResponse", "h245.chairTokenOwnerResponse",
19169         FT_NONE, BASE_NONE, NULL, 0,
19170         NULL, HFILL }},
19171     { &hf_h245_terminalCertificateResponse,
19172       { "terminalCertificateResponse", "h245.terminalCertificateResponse",
19173         FT_NONE, BASE_NONE, NULL, 0,
19174         NULL, HFILL }},
19175     { &hf_h245_certificateResponse,
19176       { "certificateResponse", "h245.certificateResponse",
19177         FT_BYTES, BASE_NONE, NULL, 0,
19178         "OCTET_STRING_SIZE_1_65535", HFILL }},
19179     { &hf_h245_broadcastMyLogicalChannelResponse,
19180       { "broadcastMyLogicalChannelResponse", "h245.broadcastMyLogicalChannelResponse",
19181         FT_UINT32, BASE_DEC, VALS(h245_T_broadcastMyLogicalChannelResponse_vals), 0,
19182         NULL, HFILL }},
19183     { &hf_h245_grantedBroadcastMyLogicalChannel,
19184       { "grantedBroadcastMyLogicalChannel", "h245.grantedBroadcastMyLogicalChannel",
19185         FT_NONE, BASE_NONE, NULL, 0,
19186         NULL, HFILL }},
19187     { &hf_h245_deniedBroadcastMyLogicalChannel,
19188       { "deniedBroadcastMyLogicalChannel", "h245.deniedBroadcastMyLogicalChannel",
19189         FT_NONE, BASE_NONE, NULL, 0,
19190         NULL, HFILL }},
19191     { &hf_h245_makeTerminalBroadcasterResponse,
19192       { "makeTerminalBroadcasterResponse", "h245.makeTerminalBroadcasterResponse",
19193         FT_UINT32, BASE_DEC, VALS(h245_T_makeTerminalBroadcasterResponse_vals), 0,
19194         NULL, HFILL }},
19195     { &hf_h245_grantedMakeTerminalBroadcaster,
19196       { "grantedMakeTerminalBroadcaster", "h245.grantedMakeTerminalBroadcaster",
19197         FT_NONE, BASE_NONE, NULL, 0,
19198         NULL, HFILL }},
19199     { &hf_h245_deniedMakeTerminalBroadcaster,
19200       { "deniedMakeTerminalBroadcaster", "h245.deniedMakeTerminalBroadcaster",
19201         FT_NONE, BASE_NONE, NULL, 0,
19202         NULL, HFILL }},
19203     { &hf_h245_sendThisSourceResponse,
19204       { "sendThisSourceResponse", "h245.sendThisSourceResponse",
19205         FT_UINT32, BASE_DEC, VALS(h245_T_sendThisSourceResponse_vals), 0,
19206         NULL, HFILL }},
19207     { &hf_h245_grantedSendThisSource,
19208       { "grantedSendThisSource", "h245.grantedSendThisSource",
19209         FT_NONE, BASE_NONE, NULL, 0,
19210         NULL, HFILL }},
19211     { &hf_h245_deniedSendThisSource,
19212       { "deniedSendThisSource", "h245.deniedSendThisSource",
19213         FT_NONE, BASE_NONE, NULL, 0,
19214         NULL, HFILL }},
19215     { &hf_h245_requestAllTerminalIDsResponse,
19216       { "requestAllTerminalIDsResponse", "h245.requestAllTerminalIDsResponse",
19217         FT_NONE, BASE_NONE, NULL, 0,
19218         NULL, HFILL }},
19219     { &hf_h245_remoteMCResponse,
19220       { "remoteMCResponse", "h245.remoteMCResponse",
19221         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCResponse_vals), 0,
19222         NULL, HFILL }},
19223     { &hf_h245_terminalInformation,
19224       { "terminalInformation", "h245.terminalInformation",
19225         FT_UINT32, BASE_DEC, NULL, 0,
19226         "SEQUENCE_OF_TerminalInformation", HFILL }},
19227     { &hf_h245_terminalInformation_item,
19228       { "TerminalInformation", "h245.TerminalInformation",
19229         FT_NONE, BASE_NONE, NULL, 0,
19230         NULL, HFILL }},
19231     { &hf_h245_masterActivate,
19232       { "masterActivate", "h245.masterActivate",
19233         FT_NONE, BASE_NONE, NULL, 0,
19234         NULL, HFILL }},
19235     { &hf_h245_slaveActivate,
19236       { "slaveActivate", "h245.slaveActivate",
19237         FT_NONE, BASE_NONE, NULL, 0,
19238         NULL, HFILL }},
19239     { &hf_h245_deActivate,
19240       { "deActivate", "h245.deActivate",
19241         FT_NONE, BASE_NONE, NULL, 0,
19242         NULL, HFILL }},
19243     { &hf_h245_accept,
19244       { "accept", "h245.accept",
19245         FT_NONE, BASE_NONE, NULL, 0,
19246         NULL, HFILL }},
19247     { &hf_h245_reject,
19248       { "reject", "h245.reject",
19249         FT_UINT32, BASE_DEC, VALS(h245_T_reject_vals), 0,
19250         NULL, HFILL }},
19251     { &hf_h245_functionNotSupportedFlag,
19252       { "functionNotSupported", "h245.functionNotSupported",
19253         FT_NONE, BASE_NONE, NULL, 0,
19254         NULL, HFILL }},
19255     { &hf_h245_callInformationReq,
19256       { "callInformation", "h245.callInformation",
19257         FT_NONE, BASE_NONE, NULL, 0,
19258         "CallInformationReq", HFILL }},
19259     { &hf_h245_maxNumberOfAdditionalConnections,
19260       { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections",
19261         FT_UINT32, BASE_DEC, NULL, 0,
19262         "INTEGER_1_65535", HFILL }},
19263     { &hf_h245_addConnectionReq,
19264       { "addConnection", "h245.addConnection",
19265         FT_NONE, BASE_NONE, NULL, 0,
19266         "AddConnectionReq", HFILL }},
19267     { &hf_h245_dialingInformation,
19268       { "dialingInformation", "h245.dialingInformation",
19269         FT_UINT32, BASE_DEC, VALS(h245_DialingInformation_vals), 0,
19270         NULL, HFILL }},
19271     { &hf_h245_removeConnectionReq,
19272       { "removeConnection", "h245.removeConnection",
19273         FT_NONE, BASE_NONE, NULL, 0,
19274         "RemoveConnectionReq", HFILL }},
19275     { &hf_h245_connectionIdentifier,
19276       { "connectionIdentifier", "h245.connectionIdentifier",
19277         FT_NONE, BASE_NONE, NULL, 0,
19278         NULL, HFILL }},
19279     { &hf_h245_maximumHeaderIntervalReq,
19280       { "maximumHeaderInterval", "h245.maximumHeaderInterval",
19281         FT_NONE, BASE_NONE, NULL, 0,
19282         "MaximumHeaderIntervalReq", HFILL }},
19283     { &hf_h245_requestType,
19284       { "requestType", "h245.requestType",
19285         FT_UINT32, BASE_DEC, VALS(h245_T_requestType_vals), 0,
19286         NULL, HFILL }},
19287     { &hf_h245_currentIntervalInformation,
19288       { "currentIntervalInformation", "h245.currentIntervalInformation",
19289         FT_NONE, BASE_NONE, NULL, 0,
19290         NULL, HFILL }},
19291     { &hf_h245_requestedInterval,
19292       { "requestedInterval", "h245.requestedInterval",
19293         FT_UINT32, BASE_DEC, NULL, 0,
19294         "INTEGER_0_65535", HFILL }},
19295     { &hf_h245_callInformationResp,
19296       { "callInformation", "h245.callInformation",
19297         FT_NONE, BASE_NONE, NULL, 0,
19298         "CallInformationResp", HFILL }},
19299     { &hf_h245_callAssociationNumber,
19300       { "callAssociationNumber", "h245.callAssociationNumber",
19301         FT_UINT32, BASE_DEC, NULL, 0,
19302         "INTEGER_0_4294967295", HFILL }},
19303     { &hf_h245_addConnectionResp,
19304       { "addConnection", "h245.addConnection",
19305         FT_NONE, BASE_NONE, NULL, 0,
19306         "AddConnectionResp", HFILL }},
19307     { &hf_h245_responseCode,
19308       { "responseCode", "h245.responseCode",
19309         FT_UINT32, BASE_DEC, VALS(h245_T_responseCode_vals), 0,
19310         NULL, HFILL }},
19311     { &hf_h245_accepted,
19312       { "accepted", "h245.accepted",
19313         FT_NONE, BASE_NONE, NULL, 0,
19314         NULL, HFILL }},
19315     { &hf_h245_rejected,
19316       { "rejected", "h245.rejected",
19317         FT_UINT32, BASE_DEC, VALS(h245_T_rejected_vals), 0,
19318         NULL, HFILL }},
19319     { &hf_h245_connectionsNotAvailable,
19320       { "connectionsNotAvailable", "h245.connectionsNotAvailable",
19321         FT_NONE, BASE_NONE, NULL, 0,
19322         NULL, HFILL }},
19323     { &hf_h245_userRejected,
19324       { "userRejected", "h245.userRejected",
19325         FT_NONE, BASE_NONE, NULL, 0,
19326         NULL, HFILL }},
19327     { &hf_h245_removeConnectionResp,
19328       { "removeConnection", "h245.removeConnection",
19329         FT_NONE, BASE_NONE, NULL, 0,
19330         "RemoveConnectionResp", HFILL }},
19331     { &hf_h245_maximumHeaderIntervalResp,
19332       { "maximumHeaderInterval", "h245.maximumHeaderInterval",
19333         FT_NONE, BASE_NONE, NULL, 0,
19334         "MaximumHeaderIntervalResp", HFILL }},
19335     { &hf_h245_currentInterval,
19336       { "currentInterval", "h245.currentInterval",
19337         FT_UINT32, BASE_DEC, NULL, 0,
19338         "INTEGER_0_65535", HFILL }},
19339     { &hf_h245_crcDesired,
19340       { "crcDesired", "h245.crcDesired",
19341         FT_NONE, BASE_NONE, NULL, 0,
19342         NULL, HFILL }},
19343     { &hf_h245_excessiveError,
19344       { "excessiveError", "h245.excessiveError",
19345         FT_NONE, BASE_NONE, NULL, 0,
19346         NULL, HFILL }},
19347     { &hf_h245_differential,
19348       { "differential", "h245.differential",
19349         FT_UINT32, BASE_DEC, NULL, 0,
19350         "SET_SIZE_1_65535_OF_DialingInformationNumber", HFILL }},
19351     { &hf_h245_differential_item,
19352       { "DialingInformationNumber", "h245.DialingInformationNumber",
19353         FT_NONE, BASE_NONE, NULL, 0,
19354         NULL, HFILL }},
19355     { &hf_h245_infoNotAvailable,
19356       { "infoNotAvailable", "h245.infoNotAvailable",
19357         FT_UINT32, BASE_DEC, NULL, 0,
19358         "INTEGER_1_65535", HFILL }},
19359     { &hf_h245_networkAddressNum,
19360       { "networkAddress", "h245.networkAddress",
19361         FT_STRING, BASE_NONE, NULL, 0,
19362         "NumericString_SIZE_0_40", HFILL }},
19363     { &hf_h245_subAddress,
19364       { "subAddress", "h245.subAddress",
19365         FT_STRING, BASE_NONE, NULL, 0,
19366         "IA5String_SIZE_1_40", HFILL }},
19367     { &hf_h245_networkType,
19368       { "networkType", "h245.networkType",
19369         FT_UINT32, BASE_DEC, NULL, 0,
19370         "SET_SIZE_1_255_OF_DialingInformationNetworkType", HFILL }},
19371     { &hf_h245_networkType_item,
19372       { "DialingInformationNetworkType", "h245.DialingInformationNetworkType",
19373         FT_UINT32, BASE_DEC, VALS(h245_DialingInformationNetworkType_vals), 0,
19374         NULL, HFILL }},
19375     { &hf_h245_n_isdn,
19376       { "n-isdn", "h245.n_isdn",
19377         FT_NONE, BASE_NONE, NULL, 0,
19378         NULL, HFILL }},
19379     { &hf_h245_gstn,
19380       { "gstn", "h245.gstn",
19381         FT_NONE, BASE_NONE, NULL, 0,
19382         NULL, HFILL }},
19383     { &hf_h245_mobile,
19384       { "mobile", "h245.mobile",
19385         FT_NONE, BASE_NONE, NULL, 0,
19386         NULL, HFILL }},
19387     { &hf_h245_channelTag,
19388       { "channelTag", "h245.channelTag",
19389         FT_UINT32, BASE_DEC, NULL, 0,
19390         "INTEGER_0_4294967295", HFILL }},
19391     { &hf_h245_sequenceNum,
19392       { "sequenceNumber", "h245.sequenceNumber",
19393         FT_UINT32, BASE_DEC, NULL, 0,
19394         "INTEGER_0_4294967295", HFILL }},
19395     { &hf_h245_maximumBitRate,
19396       { "maximumBitRate", "h245.maximumBitRate",
19397         FT_UINT32, BASE_DEC, NULL, 0,
19398         NULL, HFILL }},
19399     { &hf_h245_rejectReason,
19400       { "rejectReason", "h245.rejectReason",
19401         FT_UINT32, BASE_DEC, VALS(h245_LogicalChannelRateRejectReason_vals), 0,
19402         "LogicalChannelRateRejectReason", HFILL }},
19403     { &hf_h245_currentMaximumBitRate,
19404       { "currentMaximumBitRate", "h245.currentMaximumBitRate",
19405         FT_UINT32, BASE_DEC, NULL, 0,
19406         "MaximumBitRate", HFILL }},
19407     { &hf_h245_undefinedReason,
19408       { "undefinedReason", "h245.undefinedReason",
19409         FT_NONE, BASE_NONE, NULL, 0,
19410         NULL, HFILL }},
19411     { &hf_h245_insufficientResources,
19412       { "insufficientResources", "h245.insufficientResources",
19413         FT_NONE, BASE_NONE, NULL, 0,
19414         NULL, HFILL }},
19415     { &hf_h245_specificRequest,
19416       { "specificRequest", "h245.specificRequest",
19417         FT_NONE, BASE_NONE, NULL, 0,
19418         NULL, HFILL }},
19419     { &hf_h245_multiplexCapabilityBool,
19420       { "multiplexCapability", "h245.multiplexCapability",
19421         FT_BOOLEAN, BASE_NONE, NULL, 0,
19422         "BOOLEAN", HFILL }},
19423     { &hf_h245_capabilityTableEntryNumbers,
19424       { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers",
19425         FT_UINT32, BASE_DEC, NULL, 0,
19426         "SET_SIZE_1_65535_OF_CapabilityTableEntryNumber", HFILL }},
19427     { &hf_h245_capabilityTableEntryNumbers_item,
19428       { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
19429         FT_UINT32, BASE_DEC, NULL, 0,
19430         NULL, HFILL }},
19431     { &hf_h245_capabilityDescriptorNumbers,
19432       { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers",
19433         FT_UINT32, BASE_DEC, NULL, 0,
19434         "SET_SIZE_1_256_OF_CapabilityDescriptorNumber", HFILL }},
19435     { &hf_h245_capabilityDescriptorNumbers_item,
19436       { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber",
19437         FT_UINT32, BASE_DEC, NULL, 0,
19438         NULL, HFILL }},
19439     { &hf_h245_genericRequestFlag,
19440       { "genericRequest", "h245.genericRequest",
19441         FT_NONE, BASE_NONE, NULL, 0,
19442         NULL, HFILL }},
19443     { &hf_h245_encryptionSE,
19444       { "encryptionSE", "h245.encryptionSE",
19445         FT_BYTES, BASE_NONE, NULL, 0,
19446         "OCTET_STRING", HFILL }},
19447     { &hf_h245_encryptionIVRequest,
19448       { "encryptionIVRequest", "h245.encryptionIVRequest",
19449         FT_NONE, BASE_NONE, NULL, 0,
19450         NULL, HFILL }},
19451     { &hf_h245_encryptionAlgorithmID,
19452       { "encryptionAlgorithmID", "h245.encryptionAlgorithmID",
19453         FT_NONE, BASE_NONE, NULL, 0,
19454         NULL, HFILL }},
19455     { &hf_h245_h233AlgorithmIdentifier,
19456       { "h233AlgorithmIdentifier", "h245.h233AlgorithmIdentifier",
19457         FT_UINT32, BASE_DEC, NULL, 0,
19458         "SequenceNumber", HFILL }},
19459     { &hf_h245_associatedAlgorithm,
19460       { "associatedAlgorithm", "h245.associatedAlgorithm",
19461         FT_NONE, BASE_NONE, NULL, 0,
19462         "NonStandardParameter", HFILL }},
19463     { &hf_h245_wholeMultiplex,
19464       { "wholeMultiplex", "h245.wholeMultiplex",
19465         FT_NONE, BASE_NONE, NULL, 0,
19466         NULL, HFILL }},
19467     { &hf_h245_scope,
19468       { "scope", "h245.scope",
19469         FT_UINT32, BASE_DEC, VALS(h245_Scope_vals), 0,
19470         NULL, HFILL }},
19471     { &hf_h245_res_maximumBitRate,
19472       { "maximumBitRate", "h245.maximumBitRate",
19473         FT_UINT32, BASE_DEC, NULL, 0,
19474         "INTEGER_0_16777215", HFILL }},
19475     { &hf_h245_noRestriction,
19476       { "noRestriction", "h245.noRestriction",
19477         FT_NONE, BASE_NONE, NULL, 0,
19478         NULL, HFILL }},
19479     { &hf_h245_restriction,
19480       { "restriction", "h245.restriction",
19481         FT_UINT32, BASE_DEC, VALS(h245_Restriction_vals), 0,
19482         NULL, HFILL }},
19483     { &hf_h245_disconnect,
19484       { "disconnect", "h245.disconnect",
19485         FT_NONE, BASE_NONE, NULL, 0,
19486         NULL, HFILL }},
19487     { &hf_h245_gstnOptions,
19488       { "gstnOptions", "h245.gstnOptions",
19489         FT_UINT32, BASE_DEC, VALS(h245_T_gstnOptions_vals), 0,
19490         NULL, HFILL }},
19491     { &hf_h245_telephonyMode,
19492       { "telephonyMode", "h245.telephonyMode",
19493         FT_NONE, BASE_NONE, NULL, 0,
19494         NULL, HFILL }},
19495     { &hf_h245_v8bis,
19496       { "v8bis", "h245.v8bis",
19497         FT_NONE, BASE_NONE, NULL, 0,
19498         NULL, HFILL }},
19499     { &hf_h245_v34DSVD,
19500       { "v34DSVD", "h245.v34DSVD",
19501         FT_NONE, BASE_NONE, NULL, 0,
19502         NULL, HFILL }},
19503     { &hf_h245_v34DuplexFAX,
19504       { "v34DuplexFAX", "h245.v34DuplexFAX",
19505         FT_NONE, BASE_NONE, NULL, 0,
19506         NULL, HFILL }},
19507     { &hf_h245_v34H324,
19508       { "v34H324", "h245.v34H324",
19509         FT_NONE, BASE_NONE, NULL, 0,
19510         NULL, HFILL }},
19511     { &hf_h245_isdnOptions,
19512       { "isdnOptions", "h245.isdnOptions",
19513         FT_UINT32, BASE_DEC, VALS(h245_T_isdnOptions_vals), 0,
19514         NULL, HFILL }},
19515     { &hf_h245_v140,
19516       { "v140", "h245.v140",
19517         FT_NONE, BASE_NONE, NULL, 0,
19518         NULL, HFILL }},
19519     { &hf_h245_terminalOnHold,
19520       { "terminalOnHold", "h245.terminalOnHold",
19521         FT_NONE, BASE_NONE, NULL, 0,
19522         NULL, HFILL }},
19523     { &hf_h245_cancelBroadcastMyLogicalChannel,
19524       { "cancelBroadcastMyLogicalChannel", "h245.cancelBroadcastMyLogicalChannel",
19525         FT_UINT32, BASE_DEC, NULL, 0,
19526         "LogicalChannelNumber", HFILL }},
19527     { &hf_h245_cancelMakeTerminalBroadcaster,
19528       { "cancelMakeTerminalBroadcaster", "h245.cancelMakeTerminalBroadcaster",
19529         FT_NONE, BASE_NONE, NULL, 0,
19530         NULL, HFILL }},
19531     { &hf_h245_cancelSendThisSource,
19532       { "cancelSendThisSource", "h245.cancelSendThisSource",
19533         FT_NONE, BASE_NONE, NULL, 0,
19534         NULL, HFILL }},
19535     { &hf_h245_dropConference,
19536       { "dropConference", "h245.dropConference",
19537         FT_NONE, BASE_NONE, NULL, 0,
19538         NULL, HFILL }},
19539     { &hf_h245_substituteConferenceIDCommand,
19540       { "substituteConferenceIDCommand", "h245.substituteConferenceIDCommand",
19541         FT_NONE, BASE_NONE, NULL, 0,
19542         NULL, HFILL }},
19543     { &hf_h245_conferenceIdentifier,
19544       { "conferenceIdentifier", "h245.conferenceIdentifier",
19545         FT_BYTES, BASE_NONE, NULL, 0,
19546         "OCTET_STRING_SIZE_16", HFILL }},
19547     { &hf_h245_masterToSlave,
19548       { "masterToSlave", "h245.masterToSlave",
19549         FT_NONE, BASE_NONE, NULL, 0,
19550         NULL, HFILL }},
19551     { &hf_h245_slaveToMaster,
19552       { "slaveToMaster", "h245.slaveToMaster",
19553         FT_NONE, BASE_NONE, NULL, 0,
19554         NULL, HFILL }},
19555     { &hf_h245_mc_type,
19556       { "type", "h245.type",
19557         FT_UINT32, BASE_DEC, VALS(h245_Mc_type_vals), 0,
19558         "Mc_type", HFILL }},
19559     { &hf_h245_equaliseDelay,
19560       { "equaliseDelay", "h245.equaliseDelay",
19561         FT_NONE, BASE_NONE, NULL, 0,
19562         NULL, HFILL }},
19563     { &hf_h245_zeroDelay,
19564       { "zeroDelay", "h245.zeroDelay",
19565         FT_NONE, BASE_NONE, NULL, 0,
19566         NULL, HFILL }},
19567     { &hf_h245_multipointModeCommand,
19568       { "multipointModeCommand", "h245.multipointModeCommand",
19569         FT_NONE, BASE_NONE, NULL, 0,
19570         NULL, HFILL }},
19571     { &hf_h245_cancelMultipointModeCommand,
19572       { "cancelMultipointModeCommand", "h245.cancelMultipointModeCommand",
19573         FT_NONE, BASE_NONE, NULL, 0,
19574         NULL, HFILL }},
19575     { &hf_h245_videoFreezePicture,
19576       { "videoFreezePicture", "h245.videoFreezePicture",
19577         FT_NONE, BASE_NONE, NULL, 0,
19578         NULL, HFILL }},
19579     { &hf_h245_videoFastUpdatePicture,
19580       { "videoFastUpdatePicture", "h245.videoFastUpdatePicture",
19581         FT_NONE, BASE_NONE, NULL, 0,
19582         NULL, HFILL }},
19583     { &hf_h245_videoFastUpdateGOB,
19584       { "videoFastUpdateGOB", "h245.videoFastUpdateGOB",
19585         FT_NONE, BASE_NONE, NULL, 0,
19586         NULL, HFILL }},
19587     { &hf_h245_firstGOB,
19588       { "firstGOB", "h245.firstGOB",
19589         FT_UINT32, BASE_DEC, NULL, 0,
19590         "INTEGER_0_17", HFILL }},
19591     { &hf_h245_numberOfGOBs,
19592       { "numberOfGOBs", "h245.numberOfGOBs",
19593         FT_UINT32, BASE_DEC, NULL, 0,
19594         "INTEGER_1_18", HFILL }},
19595     { &hf_h245_videoTemporalSpatialTradeOff,
19596       { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff",
19597         FT_UINT32, BASE_DEC, NULL, 0,
19598         "INTEGER_0_31", HFILL }},
19599     { &hf_h245_videoSendSyncEveryGOB,
19600       { "videoSendSyncEveryGOB", "h245.videoSendSyncEveryGOB",
19601         FT_NONE, BASE_NONE, NULL, 0,
19602         NULL, HFILL }},
19603     { &hf_h245_videoSendSyncEveryGOBCancel,
19604       { "videoSendSyncEveryGOBCancel", "h245.videoSendSyncEveryGOBCancel",
19605         FT_NONE, BASE_NONE, NULL, 0,
19606         NULL, HFILL }},
19607     { &hf_h245_videoFastUpdateMB,
19608       { "videoFastUpdateMB", "h245.videoFastUpdateMB",
19609         FT_NONE, BASE_NONE, NULL, 0,
19610         NULL, HFILL }},
19611     { &hf_h245_firstGOB_0_255,
19612       { "firstGOB", "h245.firstGOB",
19613         FT_UINT32, BASE_DEC, NULL, 0,
19614         "INTEGER_0_255", HFILL }},
19615     { &hf_h245_firstMB_1_8192,
19616       { "firstMB", "h245.firstMB",
19617         FT_UINT32, BASE_DEC, NULL, 0,
19618         "INTEGER_1_8192", HFILL }},
19619     { &hf_h245_numberOfMBs,
19620       { "numberOfMBs", "h245.numberOfMBs",
19621         FT_UINT32, BASE_DEC, NULL, 0,
19622         "INTEGER_1_8192", HFILL }},
19623     { &hf_h245_maxH223MUXPDUsize,
19624       { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize",
19625         FT_UINT32, BASE_DEC, NULL, 0,
19626         "INTEGER_1_65535", HFILL }},
19627     { &hf_h245_encryptionUpdate,
19628       { "encryptionUpdate", "h245.encryptionUpdate",
19629         FT_NONE, BASE_NONE, NULL, 0,
19630         "EncryptionSync", HFILL }},
19631     { &hf_h245_encryptionUpdateRequest,
19632       { "encryptionUpdateRequest", "h245.encryptionUpdateRequest",
19633         FT_NONE, BASE_NONE, NULL, 0,
19634         NULL, HFILL }},
19635     { &hf_h245_switchReceiveMediaOff,
19636       { "switchReceiveMediaOff", "h245.switchReceiveMediaOff",
19637         FT_NONE, BASE_NONE, NULL, 0,
19638         NULL, HFILL }},
19639     { &hf_h245_switchReceiveMediaOn,
19640       { "switchReceiveMediaOn", "h245.switchReceiveMediaOn",
19641         FT_NONE, BASE_NONE, NULL, 0,
19642         NULL, HFILL }},
19643     { &hf_h245_progressiveRefinementStart,
19644       { "progressiveRefinementStart", "h245.progressiveRefinementStart",
19645         FT_NONE, BASE_NONE, NULL, 0,
19646         NULL, HFILL }},
19647     { &hf_h245_repeatCount,
19648       { "repeatCount", "h245.repeatCount",
19649         FT_UINT32, BASE_DEC, VALS(h245_T_repeatCount_vals), 0,
19650         NULL, HFILL }},
19651     { &hf_h245_doOneProgression,
19652       { "doOneProgression", "h245.doOneProgression",
19653         FT_NONE, BASE_NONE, NULL, 0,
19654         NULL, HFILL }},
19655     { &hf_h245_doContinuousProgressions,
19656       { "doContinuousProgressions", "h245.doContinuousProgressions",
19657         FT_NONE, BASE_NONE, NULL, 0,
19658         NULL, HFILL }},
19659     { &hf_h245_doOneIndependentProgression,
19660       { "doOneIndependentProgression", "h245.doOneIndependentProgression",
19661         FT_NONE, BASE_NONE, NULL, 0,
19662         NULL, HFILL }},
19663     { &hf_h245_doContinuousIndependentProgressions,
19664       { "doContinuousIndependentProgressions", "h245.doContinuousIndependentProgressions",
19665         FT_NONE, BASE_NONE, NULL, 0,
19666         NULL, HFILL }},
19667     { &hf_h245_progressiveRefinementAbortOne,
19668       { "progressiveRefinementAbortOne", "h245.progressiveRefinementAbortOne",
19669         FT_NONE, BASE_NONE, NULL, 0,
19670         NULL, HFILL }},
19671     { &hf_h245_progressiveRefinementAbortContinuous,
19672       { "progressiveRefinementAbortContinuous", "h245.progressiveRefinementAbortContinuous",
19673         FT_NONE, BASE_NONE, NULL, 0,
19674         NULL, HFILL }},
19675     { &hf_h245_videoBadMBs,
19676       { "videoBadMBs", "h245.videoBadMBs",
19677         FT_NONE, BASE_NONE, NULL, 0,
19678         NULL, HFILL }},
19679     { &hf_h245_firstMB,
19680       { "firstMB", "h245.firstMB",
19681         FT_UINT32, BASE_DEC, NULL, 0,
19682         "INTEGER_1_9216", HFILL }},
19683     { &hf_h245_numberOfMBs1_1_9216,
19684       { "numberOfMBs", "h245.numberOfMBs",
19685         FT_UINT32, BASE_DEC, NULL, 0,
19686         "INTEGER_1_9216", HFILL }},
19687     { &hf_h245_temporalReference,
19688       { "temporalReference", "h245.temporalReference",
19689         FT_UINT32, BASE_DEC, NULL, 0,
19690         "INTEGER_0_1023", HFILL }},
19691     { &hf_h245_lostPicture,
19692       { "lostPicture", "h245.lostPicture",
19693         FT_UINT32, BASE_DEC, NULL, 0,
19694         "SEQUENCE_OF_PictureReference", HFILL }},
19695     { &hf_h245_lostPicture_item,
19696       { "PictureReference", "h245.PictureReference",
19697         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19698         NULL, HFILL }},
19699     { &hf_h245_lostPartialPicture,
19700       { "lostPartialPicture", "h245.lostPartialPicture",
19701         FT_NONE, BASE_NONE, NULL, 0,
19702         NULL, HFILL }},
19703     { &hf_h245_pictureReference,
19704       { "pictureReference", "h245.pictureReference",
19705         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19706         NULL, HFILL }},
19707     { &hf_h245_recoveryReferencePicture,
19708       { "recoveryReferencePicture", "h245.recoveryReferencePicture",
19709         FT_UINT32, BASE_DEC, NULL, 0,
19710         "SEQUENCE_OF_PictureReference", HFILL }},
19711     { &hf_h245_recoveryReferencePicture_item,
19712       { "PictureReference", "h245.PictureReference",
19713         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19714         NULL, HFILL }},
19715     { &hf_h245_encryptionUpdateCommand,
19716       { "encryptionUpdateCommand", "h245.encryptionUpdateCommand",
19717         FT_NONE, BASE_NONE, NULL, 0,
19718         NULL, HFILL }},
19719     { &hf_h245_encryptionUpdateAck,
19720       { "encryptionUpdateAck", "h245.encryptionUpdateAck",
19721         FT_NONE, BASE_NONE, NULL, 0,
19722         NULL, HFILL }},
19723     { &hf_h245_direction,
19724       { "direction", "h245.direction",
19725         FT_UINT32, BASE_DEC, VALS(h245_EncryptionUpdateDirection_vals), 0,
19726         "EncryptionUpdateDirection", HFILL }},
19727     { &hf_h245_secureChannel,
19728       { "secureChannel", "h245.secureChannel",
19729         FT_BOOLEAN, BASE_NONE, NULL, 0,
19730         "BOOLEAN", HFILL }},
19731     { &hf_h245_sharedSecret,
19732       { "sharedSecret", "h245.sharedSecret",
19733         FT_BOOLEAN, BASE_NONE, NULL, 0,
19734         "BOOLEAN", HFILL }},
19735     { &hf_h245_certProtectedKey,
19736       { "certProtectedKey", "h245.certProtectedKey",
19737         FT_BOOLEAN, BASE_NONE, NULL, 0,
19738         "BOOLEAN", HFILL }},
19739     { &hf_h245_keyProtectionMethod,
19740       { "keyProtectionMethod", "h245.keyProtectionMethod",
19741         FT_NONE, BASE_NONE, NULL, 0,
19742         NULL, HFILL }},
19743     { &hf_h245_pictureNumber,
19744       { "pictureNumber", "h245.pictureNumber",
19745         FT_UINT32, BASE_DEC, NULL, 0,
19746         "INTEGER_0_1023", HFILL }},
19747     { &hf_h245_longTermPictureIndex,
19748       { "longTermPictureIndex", "h245.longTermPictureIndex",
19749         FT_UINT32, BASE_DEC, NULL, 0,
19750         "INTEGER_0_255", HFILL }},
19751     { &hf_h245_h223ModeChange,
19752       { "h223ModeChange", "h245.h223ModeChange",
19753         FT_UINT32, BASE_DEC, VALS(h245_T_h223ModeChange_vals), 0,
19754         NULL, HFILL }},
19755     { &hf_h245_toLevel0,
19756       { "toLevel0", "h245.toLevel0",
19757         FT_NONE, BASE_NONE, NULL, 0,
19758         NULL, HFILL }},
19759     { &hf_h245_toLevel1,
19760       { "toLevel1", "h245.toLevel1",
19761         FT_NONE, BASE_NONE, NULL, 0,
19762         NULL, HFILL }},
19763     { &hf_h245_toLevel2,
19764       { "toLevel2", "h245.toLevel2",
19765         FT_NONE, BASE_NONE, NULL, 0,
19766         NULL, HFILL }},
19767     { &hf_h245_toLevel2withOptionalHeader,
19768       { "toLevel2withOptionalHeader", "h245.toLevel2withOptionalHeader",
19769         FT_NONE, BASE_NONE, NULL, 0,
19770         NULL, HFILL }},
19771     { &hf_h245_h223AnnexADoubleFlag,
19772       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
19773         FT_UINT32, BASE_DEC, VALS(h245_T_h223AnnexADoubleFlag_vals), 0,
19774         NULL, HFILL }},
19775     { &hf_h245_start,
19776       { "start", "h245.start",
19777         FT_NONE, BASE_NONE, NULL, 0,
19778         NULL, HFILL }},
19779     { &hf_h245_stop,
19780       { "stop", "h245.stop",
19781         FT_NONE, BASE_NONE, NULL, 0,
19782         NULL, HFILL }},
19783     { &hf_h245_bitRate,
19784       { "bitRate", "h245.bitRate",
19785         FT_UINT32, BASE_DEC, NULL, 0,
19786         "INTEGER_1_65535", HFILL }},
19787     { &hf_h245_bitRateLockedToPCRClock,
19788       { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock",
19789         FT_BOOLEAN, BASE_NONE, NULL, 0,
19790         "BOOLEAN", HFILL }},
19791     { &hf_h245_bitRateLockedToNetworkClock,
19792       { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock",
19793         FT_BOOLEAN, BASE_NONE, NULL, 0,
19794         "BOOLEAN", HFILL }},
19795     { &hf_h245_cmd_aal,
19796       { "aal", "h245.aal",
19797         FT_UINT32, BASE_DEC, VALS(h245_Cmd_aal_vals), 0,
19798         "Cmd_aal", HFILL }},
19799     { &hf_h245_cmd_aal1,
19800       { "aal1", "h245.aal1",
19801         FT_NONE, BASE_NONE, NULL, 0,
19802         "Cmd_aal1", HFILL }},
19803     { &hf_h245_cmd_clockRecovery,
19804       { "clockRecovery", "h245.clockRecovery",
19805         FT_UINT32, BASE_DEC, VALS(h245_Cmd_clockRecovery_vals), 0,
19806         "Cmd_clockRecovery", HFILL }},
19807     { &hf_h245_nullClockRecoveryflag,
19808       { "nullClockRecovery", "h245.nullClockRecovery",
19809         FT_NONE, BASE_NONE, NULL, 0,
19810         NULL, HFILL }},
19811     { &hf_h245_srtsClockRecovery,
19812       { "srtsClockRecovery", "h245.srtsClockRecovery",
19813         FT_NONE, BASE_NONE, NULL, 0,
19814         NULL, HFILL }},
19815     { &hf_h245_adaptiveClockRecoveryFlag,
19816       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
19817         FT_NONE, BASE_NONE, NULL, 0,
19818         NULL, HFILL }},
19819     { &hf_h245_cmd_errorCorrection,
19820       { "errorCorrection", "h245.errorCorrection",
19821         FT_UINT32, BASE_DEC, VALS(h245_Cmd_errorCorrection_vals), 0,
19822         "Cmd_errorCorrection", HFILL }},
19823     { &hf_h245_nullErrorCorrectionFlag,
19824       { "nullErrorCorrection", "h245.nullErrorCorrection",
19825         FT_NONE, BASE_NONE, NULL, 0,
19826         NULL, HFILL }},
19827     { &hf_h245_longInterleaverFlag,
19828       { "longInterleaver", "h245.longInterleaver",
19829         FT_NONE, BASE_NONE, NULL, 0,
19830         NULL, HFILL }},
19831     { &hf_h245_shortInterleaverFlag,
19832       { "shortInterleaver", "h245.shortInterleaver",
19833         FT_NONE, BASE_NONE, NULL, 0,
19834         NULL, HFILL }},
19835     { &hf_h245_errorCorrectionOnlyFlag,
19836       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
19837         FT_NONE, BASE_NONE, NULL, 0,
19838         NULL, HFILL }},
19839     { &hf_h245_cmd_aal5,
19840       { "aal5", "h245.aal5",
19841         FT_NONE, BASE_NONE, NULL, 0,
19842         "Cmd_aal5", HFILL }},
19843     { &hf_h245_cmd_multiplex,
19844       { "multiplex", "h245.multiplex",
19845         FT_UINT32, BASE_DEC, VALS(h245_Cmd_multiplex_vals), 0,
19846         "Cmd_multiplex", HFILL }},
19847     { &hf_h245_noMultiplex,
19848       { "noMultiplex", "h245.noMultiplex",
19849         FT_NONE, BASE_NONE, NULL, 0,
19850         NULL, HFILL }},
19851     { &hf_h245_transportStream,
19852       { "transportStream", "h245.transportStream",
19853         FT_NONE, BASE_NONE, NULL, 0,
19854         NULL, HFILL }},
19855     { &hf_h245_programStreamFlag,
19856       { "programStream", "h245.programStream",
19857         FT_NONE, BASE_NONE, NULL, 0,
19858         NULL, HFILL }},
19859     { &hf_h245_cmd_reverseParameters,
19860       { "reverseParameters", "h245.reverseParameters",
19861         FT_NONE, BASE_NONE, NULL, 0,
19862         "Cmd_reverseParameters", HFILL }},
19863     { &hf_h245_cmdr_multiplex,
19864       { "multiplex", "h245.multiplex",
19865         FT_UINT32, BASE_DEC, VALS(h245_CmdR_multiplex_vals), 0,
19866         "CmdR_multiplex", HFILL }},
19867     { &hf_h245_sampleSize,
19868       { "sampleSize", "h245.sampleSize",
19869         FT_UINT32, BASE_DEC, NULL, 0,
19870         "INTEGER_1_255", HFILL }},
19871     { &hf_h245_samplesPerFrame,
19872       { "samplesPerFrame", "h245.samplesPerFrame",
19873         FT_UINT32, BASE_DEC, NULL, 0,
19874         "INTEGER_1_255", HFILL }},
19875     { &hf_h245_status,
19876       { "status", "h245.status",
19877         FT_UINT32, BASE_DEC, VALS(h245_T_status_vals), 0,
19878         NULL, HFILL }},
19879     { &hf_h245_synchronized,
19880       { "synchronized", "h245.synchronized",
19881         FT_NONE, BASE_NONE, NULL, 0,
19882         NULL, HFILL }},
19883     { &hf_h245_reconfiguration,
19884       { "reconfiguration", "h245.reconfiguration",
19885         FT_NONE, BASE_NONE, NULL, 0,
19886         NULL, HFILL }},
19887     { &hf_h245_fns_cause,
19888       { "cause", "h245.cause",
19889         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotSupportedCause_vals), 0,
19890         "FunctionNotSupportedCause", HFILL }},
19891     { &hf_h245_syntaxError,
19892       { "syntaxError", "h245.syntaxError",
19893         FT_NONE, BASE_NONE, NULL, 0,
19894         NULL, HFILL }},
19895     { &hf_h245_semanticError,
19896       { "semanticError", "h245.semanticError",
19897         FT_NONE, BASE_NONE, NULL, 0,
19898         NULL, HFILL }},
19899     { &hf_h245_unknownFunction,
19900       { "unknownFunction", "h245.unknownFunction",
19901         FT_NONE, BASE_NONE, NULL, 0,
19902         NULL, HFILL }},
19903     { &hf_h245_returnedFunction,
19904       { "returnedFunction", "h245.returnedFunction",
19905         FT_BYTES, BASE_NONE, NULL, 0,
19906         NULL, HFILL }},
19907     { &hf_h245_sbeNumber,
19908       { "sbeNumber", "h245.sbeNumber",
19909         FT_UINT32, BASE_DEC, NULL, 0,
19910         "INTEGER_0_9", HFILL }},
19911     { &hf_h245_terminalNumberAssign,
19912       { "terminalNumberAssign", "h245.terminalNumberAssign",
19913         FT_NONE, BASE_NONE, NULL, 0,
19914         "TerminalLabel", HFILL }},
19915     { &hf_h245_terminalJoinedConference,
19916       { "terminalJoinedConference", "h245.terminalJoinedConference",
19917         FT_NONE, BASE_NONE, NULL, 0,
19918         "TerminalLabel", HFILL }},
19919     { &hf_h245_terminalLeftConference,
19920       { "terminalLeftConference", "h245.terminalLeftConference",
19921         FT_NONE, BASE_NONE, NULL, 0,
19922         "TerminalLabel", HFILL }},
19923     { &hf_h245_seenByAtLeastOneOther,
19924       { "seenByAtLeastOneOther", "h245.seenByAtLeastOneOther",
19925         FT_NONE, BASE_NONE, NULL, 0,
19926         NULL, HFILL }},
19927     { &hf_h245_cancelSeenByAtLeastOneOther,
19928       { "cancelSeenByAtLeastOneOther", "h245.cancelSeenByAtLeastOneOther",
19929         FT_NONE, BASE_NONE, NULL, 0,
19930         NULL, HFILL }},
19931     { &hf_h245_seenByAll,
19932       { "seenByAll", "h245.seenByAll",
19933         FT_NONE, BASE_NONE, NULL, 0,
19934         NULL, HFILL }},
19935     { &hf_h245_cancelSeenByAll,
19936       { "cancelSeenByAll", "h245.cancelSeenByAll",
19937         FT_NONE, BASE_NONE, NULL, 0,
19938         NULL, HFILL }},
19939     { &hf_h245_terminalYouAreSeeing,
19940       { "terminalYouAreSeeing", "h245.terminalYouAreSeeing",
19941         FT_NONE, BASE_NONE, NULL, 0,
19942         "TerminalLabel", HFILL }},
19943     { &hf_h245_requestForFloor,
19944       { "requestForFloor", "h245.requestForFloor",
19945         FT_NONE, BASE_NONE, NULL, 0,
19946         NULL, HFILL }},
19947     { &hf_h245_withdrawChairToken,
19948       { "withdrawChairToken", "h245.withdrawChairToken",
19949         FT_NONE, BASE_NONE, NULL, 0,
19950         NULL, HFILL }},
19951     { &hf_h245_floorRequested,
19952       { "floorRequested", "h245.floorRequested",
19953         FT_NONE, BASE_NONE, NULL, 0,
19954         "TerminalLabel", HFILL }},
19955     { &hf_h245_terminalYouAreSeeingInSubPictureNumber,
19956       { "terminalYouAreSeeingInSubPictureNumber", "h245.terminalYouAreSeeingInSubPictureNumber",
19957         FT_NONE, BASE_NONE, NULL, 0,
19958         NULL, HFILL }},
19959     { &hf_h245_videoIndicateCompose,
19960       { "videoIndicateCompose", "h245.videoIndicateCompose",
19961         FT_NONE, BASE_NONE, NULL, 0,
19962         NULL, HFILL }},
19963     { &hf_h245_masterMCU,
19964       { "masterMCU", "h245.masterMCU",
19965         FT_NONE, BASE_NONE, NULL, 0,
19966         NULL, HFILL }},
19967     { &hf_h245_cancelMasterMCU,
19968       { "cancelMasterMCU", "h245.cancelMasterMCU",
19969         FT_NONE, BASE_NONE, NULL, 0,
19970         NULL, HFILL }},
19971     { &hf_h245_subPictureNumber,
19972       { "subPictureNumber", "h245.subPictureNumber",
19973         FT_UINT32, BASE_DEC, NULL, 0,
19974         "INTEGER_0_255", HFILL }},
19975     { &hf_h245_compositionNumber,
19976       { "compositionNumber", "h245.compositionNumber",
19977         FT_UINT32, BASE_DEC, NULL, 0,
19978         "INTEGER_0_255", HFILL }},
19979     { &hf_h245_mi_type,
19980       { "type", "h245.type",
19981         FT_UINT32, BASE_DEC, VALS(h245_Mi_type_vals), 0,
19982         "Mi_type", HFILL }},
19983     { &hf_h245_logicalChannelActive,
19984       { "logicalChannelActive", "h245.logicalChannelActive",
19985         FT_NONE, BASE_NONE, NULL, 0,
19986         NULL, HFILL }},
19987     { &hf_h245_logicalChannelInactive,
19988       { "logicalChannelInactive", "h245.logicalChannelInactive",
19989         FT_NONE, BASE_NONE, NULL, 0,
19990         NULL, HFILL }},
19991     { &hf_h245_multipointConference,
19992       { "multipointConference", "h245.multipointConference",
19993         FT_NONE, BASE_NONE, NULL, 0,
19994         NULL, HFILL }},
19995     { &hf_h245_cancelMultipointConference,
19996       { "cancelMultipointConference", "h245.cancelMultipointConference",
19997         FT_NONE, BASE_NONE, NULL, 0,
19998         NULL, HFILL }},
19999     { &hf_h245_multipointZeroComm,
20000       { "multipointZeroComm", "h245.multipointZeroComm",
20001         FT_NONE, BASE_NONE, NULL, 0,
20002         NULL, HFILL }},
20003     { &hf_h245_cancelMultipointZeroComm,
20004       { "cancelMultipointZeroComm", "h245.cancelMultipointZeroComm",
20005         FT_NONE, BASE_NONE, NULL, 0,
20006         NULL, HFILL }},
20007     { &hf_h245_multipointSecondaryStatus,
20008       { "multipointSecondaryStatus", "h245.multipointSecondaryStatus",
20009         FT_NONE, BASE_NONE, NULL, 0,
20010         NULL, HFILL }},
20011     { &hf_h245_cancelMultipointSecondaryStatus,
20012       { "cancelMultipointSecondaryStatus", "h245.cancelMultipointSecondaryStatus",
20013         FT_NONE, BASE_NONE, NULL, 0,
20014         NULL, HFILL }},
20015     { &hf_h245_videoIndicateReadyToActivate,
20016       { "videoIndicateReadyToActivate", "h245.videoIndicateReadyToActivate",
20017         FT_NONE, BASE_NONE, NULL, 0,
20018         NULL, HFILL }},
20019     { &hf_h245_videoNotDecodedMBs,
20020       { "videoNotDecodedMBs", "h245.videoNotDecodedMBs",
20021         FT_NONE, BASE_NONE, NULL, 0,
20022         NULL, HFILL }},
20023     { &hf_h245_temporalReference_0_255,
20024       { "temporalReference", "h245.temporalReference",
20025         FT_UINT32, BASE_DEC, NULL, 0,
20026         "INTEGER_0_255", HFILL }},
20027     { &hf_h245_estimatedReceivedJitterMantissa,
20028       { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa",
20029         FT_UINT32, BASE_DEC, NULL, 0,
20030         "INTEGER_0_3", HFILL }},
20031     { &hf_h245_estimatedReceivedJitterExponent,
20032       { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent",
20033         FT_UINT32, BASE_DEC, NULL, 0,
20034         "INTEGER_0_7", HFILL }},
20035     { &hf_h245_skippedFrameCount,
20036       { "skippedFrameCount", "h245.skippedFrameCount",
20037         FT_UINT32, BASE_DEC, NULL, 0,
20038         "INTEGER_0_15", HFILL }},
20039     { &hf_h245_additionalDecoderBuffer,
20040       { "additionalDecoderBuffer", "h245.additionalDecoderBuffer",
20041         FT_UINT32, BASE_DEC, NULL, 0,
20042         "INTEGER_0_262143", HFILL }},
20043     { &hf_h245_logicalChannelNumber1,
20044       { "logicalChannelNumber1", "h245.logicalChannelNumber1",
20045         FT_UINT32, BASE_DEC, NULL, 0,
20046         "LogicalChannelNumber", HFILL }},
20047     { &hf_h245_logicalChannelNumber2,
20048       { "logicalChannelNumber2", "h245.logicalChannelNumber2",
20049         FT_UINT32, BASE_DEC, NULL, 0,
20050         "LogicalChannelNumber", HFILL }},
20051     { &hf_h245_skew,
20052       { "skew", "h245.skew",
20053         FT_UINT32, BASE_DEC, NULL, 0,
20054         "INTEGER_0_4095", HFILL }},
20055     { &hf_h245_maximumSkew,
20056       { "maximumSkew", "h245.maximumSkew",
20057         FT_UINT32, BASE_DEC, NULL, 0,
20058         "INTEGER_0_4095", HFILL }},
20059     { &hf_h245_signalAddress,
20060       { "signalAddress", "h245.signalAddress",
20061         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
20062         "TransportAddress", HFILL }},
20063     { &hf_h245_vendor,
20064       { "vendor", "h245.vendor",
20065         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
20066         "NonStandardIdentifier", HFILL }},
20067     { &hf_h245_productNumber,
20068       { "productNumber", "h245.productNumber",
20069         FT_STRING, BASE_NONE, NULL, 0,
20070         "OCTET_STRING_SIZE_1_256", HFILL }},
20071     { &hf_h245_versionNumber,
20072       { "versionNumber", "h245.versionNumber",
20073         FT_STRING, BASE_NONE, NULL, 0,
20074         "OCTET_STRING_SIZE_1_256", HFILL }},
20075     { &hf_h245_ind_aal,
20076       { "aal", "h245.aal",
20077         FT_UINT32, BASE_DEC, VALS(h245_Ind_aal_vals), 0,
20078         "Ind_aal", HFILL }},
20079     { &hf_h245_ind_aal1,
20080       { "aal1", "h245.aal1",
20081         FT_NONE, BASE_NONE, NULL, 0,
20082         "Ind_aal1", HFILL }},
20083     { &hf_h245_ind_clockRecovery,
20084       { "clockRecovery", "h245.clockRecovery",
20085         FT_UINT32, BASE_DEC, VALS(h245_Ind_clockRecovery_vals), 0,
20086         "Ind_clockRecovery", HFILL }},
20087     { &hf_h245_ind_errorCorrection,
20088       { "errorCorrection", "h245.errorCorrection",
20089         FT_UINT32, BASE_DEC, VALS(h245_Ind_errorCorrection_vals), 0,
20090         "Ind_errorCorrection", HFILL }},
20091     { &hf_h245_ind_aal5,
20092       { "aal5", "h245.aal5",
20093         FT_NONE, BASE_NONE, NULL, 0,
20094         "Ind_aal5", HFILL }},
20095     { &hf_h245_ind_multiplex,
20096       { "multiplex", "h245.multiplex",
20097         FT_UINT32, BASE_DEC, VALS(h245_Ind_multiplex_vals), 0,
20098         "Ind_multiplex", HFILL }},
20099     { &hf_h245_ind_reverseParameters,
20100       { "reverseParameters", "h245.reverseParameters",
20101         FT_NONE, BASE_NONE, NULL, 0,
20102         "Ind_reverseParameters", HFILL }},
20103     { &hf_h245_indr_multiplex,
20104       { "multiplex", "h245.multiplex",
20105         FT_UINT32, BASE_DEC, VALS(h245_IndR_multiplex_vals), 0,
20106         "IndR_multiplex", HFILL }},
20107     { &hf_h245_iv8,
20108       { "iv8", "h245.iv8",
20109         FT_BYTES, BASE_NONE, NULL, 0,
20110         NULL, HFILL }},
20111     { &hf_h245_iv16,
20112       { "iv16", "h245.iv16",
20113         FT_BYTES, BASE_NONE, NULL, 0,
20114         NULL, HFILL }},
20115     { &hf_h245_iv,
20116       { "iv", "h245.iv",
20117         FT_BYTES, BASE_NONE, NULL, 0,
20118         "OCTET_STRING", HFILL }},
20119     { &hf_h245_alphanumeric,
20120       { "alphanumeric", "h245.alphanumeric",
20121         FT_STRING, BASE_NONE, NULL, 0,
20122         "GeneralString", HFILL }},
20123     { &hf_h245_userInputSupportIndication,
20124       { "userInputSupportIndication", "h245.userInputSupportIndication",
20125         FT_UINT32, BASE_DEC, VALS(h245_T_userInputSupportIndication_vals), 0,
20126         NULL, HFILL }},
20127     { &hf_h245_signal,
20128       { "signal", "h245.signal",
20129         FT_NONE, BASE_NONE, NULL, 0,
20130         NULL, HFILL }},
20131     { &hf_h245_signalType,
20132       { "signalType", "h245.signalType",
20133         FT_STRING, BASE_NONE, NULL, 0,
20134         NULL, HFILL }},
20135     { &hf_h245_duration,
20136       { "duration", "h245.duration",
20137         FT_UINT32, BASE_DEC, NULL, 0,
20138         "INTEGER_1_65535", HFILL }},
20139     { &hf_h245_rtp,
20140       { "rtp", "h245.rtp",
20141         FT_NONE, BASE_NONE, NULL, 0,
20142         NULL, HFILL }},
20143     { &hf_h245_timestamp,
20144       { "timestamp", "h245.timestamp",
20145         FT_UINT32, BASE_DEC, NULL, 0,
20146         "INTEGER_0_4294967295", HFILL }},
20147     { &hf_h245_expirationTime,
20148       { "expirationTime", "h245.expirationTime",
20149         FT_UINT32, BASE_DEC, NULL, 0,
20150         "INTEGER_0_4294967295", HFILL }},
20151     { &hf_h245_rtpPayloadIndication,
20152       { "rtpPayloadIndication", "h245.rtpPayloadIndication",
20153         FT_NONE, BASE_NONE, NULL, 0,
20154         NULL, HFILL }},
20155     { &hf_h245_paramS,
20156       { "paramS", "h245.paramS",
20157         FT_NONE, BASE_NONE, NULL, 0,
20158         NULL, HFILL }},
20159     { &hf_h245_encryptedSignalType,
20160       { "encryptedSignalType", "h245.encryptedSignalType",
20161         FT_BYTES, BASE_NONE, NULL, 0,
20162         "OCTET_STRING_SIZE_1", HFILL }},
20163     { &hf_h245_algorithmOID,
20164       { "algorithmOID", "h245.algorithmOID",
20165         FT_OID, BASE_NONE, NULL, 0,
20166         "OBJECT_IDENTIFIER", HFILL }},
20167     { &hf_h245_signalUpdate,
20168       { "signalUpdate", "h245.signalUpdate",
20169         FT_NONE, BASE_NONE, NULL, 0,
20170         NULL, HFILL }},
20171     { &hf_h245_si_rtp,
20172       { "rtp", "h245.rtp",
20173         FT_NONE, BASE_NONE, NULL, 0,
20174         "Si_rtp", HFILL }},
20175     { &hf_h245_extendedAlphanumeric,
20176       { "extendedAlphanumeric", "h245.extendedAlphanumeric",
20177         FT_NONE, BASE_NONE, NULL, 0,
20178         NULL, HFILL }},
20179     { &hf_h245_encrypted,
20180       { "encrypted", "h245.encrypted",
20181         FT_BYTES, BASE_NONE, NULL, 0,
20182         "OCTET_STRING", HFILL }},
20183     { &hf_h245_encryptedAlphanumeric,
20184       { "encryptedAlphanumeric", "h245.encryptedAlphanumeric",
20185         FT_NONE, BASE_NONE, NULL, 0,
20186         NULL, HFILL }},
20187
20188 /*--- End of included file: packet-h245-hfarr.c ---*/
20189 #line 484 "../../asn1/h245/packet-h245-template.c"
20190   };
20191
20192   /* List of subtrees */
20193   static gint *ett[] = {
20194           &ett_h245,
20195           &ett_h245_returnedFunction,
20196
20197 /*--- Included file: packet-h245-ettarr.c ---*/
20198 #line 1 "../../asn1/h245/packet-h245-ettarr.c"
20199     &ett_h245_MultimediaSystemControlMessage,
20200     &ett_h245_RequestMessage,
20201     &ett_h245_ResponseMessage,
20202     &ett_h245_CommandMessage,
20203     &ett_h245_IndicationMessage,
20204     &ett_h245_GenericMessage,
20205     &ett_h245_T_messageContent,
20206     &ett_h245_NonStandardMessage,
20207     &ett_h245_NonStandardParameter,
20208     &ett_h245_NonStandardIdentifier,
20209     &ett_h245_H221NonStandardID,
20210     &ett_h245_MasterSlaveDetermination,
20211     &ett_h245_MasterSlaveDeterminationAck,
20212     &ett_h245_T_decision,
20213     &ett_h245_MasterSlaveDeterminationReject,
20214     &ett_h245_MasterSlaveDeterminationRejectCause,
20215     &ett_h245_MasterSlaveDeterminationRelease,
20216     &ett_h245_TerminalCapabilitySet,
20217     &ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry,
20218     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor,
20219     &ett_h245_SEQUENCE_OF_GenericInformation,
20220     &ett_h245_CapabilityTableEntry,
20221     &ett_h245_CapabilityDescriptor,
20222     &ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet,
20223     &ett_h245_AlternativeCapabilitySet,
20224     &ett_h245_TerminalCapabilitySetAck,
20225     &ett_h245_TerminalCapabilitySetReject,
20226     &ett_h245_TerminalCapabilitySetRejectCause,
20227     &ett_h245_T_tableEntryCapacityExceeded,
20228     &ett_h245_TerminalCapabilitySetRelease,
20229     &ett_h245_Capability,
20230     &ett_h245_T_h233EncryptionReceiveCapability,
20231     &ett_h245_H235SecurityCapability,
20232     &ett_h245_MultiplexCapability,
20233     &ett_h245_H222Capability,
20234     &ett_h245_SET_OF_VCCapability,
20235     &ett_h245_VCCapability,
20236     &ett_h245_T_aal1,
20237     &ett_h245_T_aal5,
20238     &ett_h245_T_availableBitRates,
20239     &ett_h245_Avb_type,
20240     &ett_h245_T_rangeOfBitRates,
20241     &ett_h245_T_aal1ViaGateway,
20242     &ett_h245_SET_SIZE_1_256_OF_Q2931Address,
20243     &ett_h245_H223Capability,
20244     &ett_h245_T_h223MultiplexTableCapability,
20245     &ett_h245_T_enhanced,
20246     &ett_h245_T_mobileOperationTransmitCapability,
20247     &ett_h245_T_mobileMultilinkFrameCapability,
20248     &ett_h245_H223AnnexCCapability,
20249     &ett_h245_V76Capability,
20250     &ett_h245_V75Capability,
20251     &ett_h245_H2250Capability,
20252     &ett_h245_T_mcCapability,
20253     &ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability,
20254     &ett_h245_MediaPacketizationCapability,
20255     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType,
20256     &ett_h245_RSVPParameters,
20257     &ett_h245_QOSMode,
20258     &ett_h245_ATMParameters,
20259     &ett_h245_ServicePriorityValue,
20260     &ett_h245_ServicePriority,
20261     &ett_h245_AuthorizationParameters,
20262     &ett_h245_QOSType,
20263     &ett_h245_QOSClass,
20264     &ett_h245_QOSDescriptor,
20265     &ett_h245_GenericTransportParameters,
20266     &ett_h245_QOSCapability,
20267     &ett_h245_MediaTransportType,
20268     &ett_h245_T_atm_AAL5_compressed,
20269     &ett_h245_MediaChannelCapability,
20270     &ett_h245_TransportCapability,
20271     &ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability,
20272     &ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability,
20273     &ett_h245_RedundancyEncodingCapability,
20274     &ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber,
20275     &ett_h245_RedundancyEncodingMethod,
20276     &ett_h245_RTPH263VideoRedundancyEncoding,
20277     &ett_h245_T_frameToThreadMapping,
20278     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping,
20279     &ett_h245_T_containedThreads,
20280     &ett_h245_RTPH263VideoRedundancyFrameMapping,
20281     &ett_h245_T_frameSequence,
20282     &ett_h245_MultipointCapability,
20283     &ett_h245_SEQUENCE_OF_MediaDistributionCapability,
20284     &ett_h245_MediaDistributionCapability,
20285     &ett_h245_SEQUENCE_OF_DataApplicationCapability,
20286     &ett_h245_VideoCapability,
20287     &ett_h245_ExtendedVideoCapability,
20288     &ett_h245_SEQUENCE_OF_VideoCapability,
20289     &ett_h245_SEQUENCE_OF_GenericCapability,
20290     &ett_h245_H261VideoCapability,
20291     &ett_h245_H262VideoCapability,
20292     &ett_h245_H263VideoCapability,
20293     &ett_h245_EnhancementLayerInfo,
20294     &ett_h245_SET_SIZE_1_14_OF_EnhancementOptions,
20295     &ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters,
20296     &ett_h245_BEnhancementParameters,
20297     &ett_h245_EnhancementOptions,
20298     &ett_h245_H263Options,
20299     &ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency,
20300     &ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat,
20301     &ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos,
20302     &ett_h245_TransparencyParameters,
20303     &ett_h245_RefPictureSelection,
20304     &ett_h245_T_additionalPictureMemory,
20305     &ett_h245_T_videoBackChannelSend,
20306     &ett_h245_T_enhancedReferencePicSelect,
20307     &ett_h245_T_subPictureRemovalParameters,
20308     &ett_h245_CustomPictureClockFrequency,
20309     &ett_h245_CustomPictureFormat,
20310     &ett_h245_T_mPI,
20311     &ett_h245_T_customPCF,
20312     &ett_h245_T_customPCF_item,
20313     &ett_h245_T_pixelAspectInformation,
20314     &ett_h245_T_pixelAspectCode,
20315     &ett_h245_T_extendedPAR,
20316     &ett_h245_T_extendedPAR_item,
20317     &ett_h245_H263VideoModeCombos,
20318     &ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags,
20319     &ett_h245_H263ModeComboFlags,
20320     &ett_h245_H263Version3Options,
20321     &ett_h245_IS11172VideoCapability,
20322     &ett_h245_AudioCapability,
20323     &ett_h245_T_g7231,
20324     &ett_h245_G729Extensions,
20325     &ett_h245_G7231AnnexCCapability,
20326     &ett_h245_G723AnnexCAudioMode,
20327     &ett_h245_IS11172AudioCapability,
20328     &ett_h245_IS13818AudioCapability,
20329     &ett_h245_GSMAudioCapability,
20330     &ett_h245_VBDCapability,
20331     &ett_h245_DataApplicationCapability,
20332     &ett_h245_Application,
20333     &ett_h245_T_t84,
20334     &ett_h245_Nlpid,
20335     &ett_h245_T_t38fax,
20336     &ett_h245_DataProtocolCapability,
20337     &ett_h245_T_v76wCompression,
20338     &ett_h245_CompressionType,
20339     &ett_h245_V42bis,
20340     &ett_h245_T84Profile,
20341     &ett_h245_T_t84Restricted,
20342     &ett_h245_T38FaxProfile,
20343     &ett_h245_T38FaxRateManagement,
20344     &ett_h245_T38FaxUdpOptions,
20345     &ett_h245_T_t38FaxUdpEC,
20346     &ett_h245_T38FaxTcpOptions,
20347     &ett_h245_EncryptionAuthenticationAndIntegrity,
20348     &ett_h245_EncryptionCapability,
20349     &ett_h245_MediaEncryptionAlgorithm,
20350     &ett_h245_AuthenticationCapability,
20351     &ett_h245_IntegrityCapability,
20352     &ett_h245_UserInputCapability,
20353     &ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter,
20354     &ett_h245_ConferenceCapability,
20355     &ett_h245_SEQUENCE_OF_NonStandardParameter,
20356     &ett_h245_GenericCapability,
20357     &ett_h245_T_collapsing,
20358     &ett_h245_T_nonCollapsing,
20359     &ett_h245_CapabilityIdentifier,
20360     &ett_h245_GenericParameter,
20361     &ett_h245_SEQUENCE_OF_ParameterIdentifier,
20362     &ett_h245_ParameterIdentifier,
20363     &ett_h245_ParameterValue,
20364     &ett_h245_SEQUENCE_OF_GenericParameter,
20365     &ett_h245_MultiplexedStreamCapability,
20366     &ett_h245_MultiplexFormat,
20367     &ett_h245_AudioTelephonyEventCapability,
20368     &ett_h245_AudioToneCapability,
20369     &ett_h245_NoPTAudioTelephonyEventCapability,
20370     &ett_h245_NoPTAudioToneCapability,
20371     &ett_h245_MultiplePayloadStreamCapability,
20372     &ett_h245_DepFECCapability,
20373     &ett_h245_FECC_rfc2733,
20374     &ett_h245_T_separateStreamBool,
20375     &ett_h245_FECCapability,
20376     &ett_h245_Rfc2733Format,
20377     &ett_h245_OpenLogicalChannel,
20378     &ett_h245_T_forwardLogicalChannelParameters,
20379     &ett_h245_OLC_forw_multiplexParameters,
20380     &ett_h245_OLC_reverseLogicalChannelParameters,
20381     &ett_h245_OLC_rev_multiplexParameters,
20382     &ett_h245_NetworkAccessParameters,
20383     &ett_h245_T_distribution,
20384     &ett_h245_T_networkAddress,
20385     &ett_h245_T_t120SetupProcedure,
20386     &ett_h245_Q2931Address,
20387     &ett_h245_T_address,
20388     &ett_h245_V75Parameters,
20389     &ett_h245_DataType,
20390     &ett_h245_H235Media,
20391     &ett_h245_T_mediaType,
20392     &ett_h245_MultiplexedStreamParameter,
20393     &ett_h245_H222LogicalChannelParameters,
20394     &ett_h245_H223LogicalChannelParameters,
20395     &ett_h245_T_adaptationLayerType,
20396     &ett_h245_Al3,
20397     &ett_h245_H223AL1MParameters,
20398     &ett_h245_T_transferMode,
20399     &ett_h245_AL1HeaderFEC,
20400     &ett_h245_AL1CrcLength,
20401     &ett_h245_ArqType,
20402     &ett_h245_H223AL2MParameters,
20403     &ett_h245_AL2HeaderFEC,
20404     &ett_h245_H223AL3MParameters,
20405     &ett_h245_T_headerFormat,
20406     &ett_h245_AL3CrcLength,
20407     &ett_h245_H223AnnexCArqParameters,
20408     &ett_h245_T_numberOfRetransmissions,
20409     &ett_h245_V76LogicalChannelParameters,
20410     &ett_h245_T_suspendResume,
20411     &ett_h245_V76LCP_mode,
20412     &ett_h245_T_eRM,
20413     &ett_h245_T_recovery,
20414     &ett_h245_V76HDLCParameters,
20415     &ett_h245_CRCLength,
20416     &ett_h245_H2250LogicalChannelParameters,
20417     &ett_h245_T_mediaPacketization,
20418     &ett_h245_RTPPayloadType,
20419     &ett_h245_T_payloadDescriptor,
20420     &ett_h245_RedundancyEncoding,
20421     &ett_h245_T_rtpRedundancyEncoding,
20422     &ett_h245_SEQUENCE_OF_RedundancyEncodingElement,
20423     &ett_h245_RedundancyEncodingElement,
20424     &ett_h245_MultiplePayloadStream,
20425     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement,
20426     &ett_h245_MultiplePayloadStreamElement,
20427     &ett_h245_DepFECData,
20428     &ett_h245_RFC2733Data,
20429     &ett_h245_FECdata_mode,
20430     &ett_h245_DepSeparateStream,
20431     &ett_h245_T_differentPort,
20432     &ett_h245_T_samePort,
20433     &ett_h245_FECData,
20434     &ett_h245_T_rfc2733,
20435     &ett_h245_T_pktMode,
20436     &ett_h245_T_mode_rfc2733sameport,
20437     &ett_h245_T_mode_rfc2733diffport,
20438     &ett_h245_TransportAddress,
20439     &ett_h245_UnicastAddress,
20440     &ett_h245_T_iPAddress,
20441     &ett_h245_T_iPXAddress,
20442     &ett_h245_T_iP6Address,
20443     &ett_h245_T_iPSourceRouteAddress,
20444     &ett_h245_T_routing,
20445     &ett_h245_T_route,
20446     &ett_h245_MulticastAddress,
20447     &ett_h245_MIPAddress,
20448     &ett_h245_MIP6Address,
20449     &ett_h245_EncryptionSync,
20450     &ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData,
20451     &ett_h245_EscrowData,
20452     &ett_h245_OpenLogicalChannelAck,
20453     &ett_h245_OLC_ack_reverseLogicalChannelParameters,
20454     &ett_h245_T_olc_ack_multiplexParameters,
20455     &ett_h245_T_forwardMultiplexAckParameters,
20456     &ett_h245_OpenLogicalChannelReject,
20457     &ett_h245_OpenLogicalChannelRejectCause,
20458     &ett_h245_OpenLogicalChannelConfirm,
20459     &ett_h245_H2250LogicalChannelAckParameters,
20460     &ett_h245_CloseLogicalChannel,
20461     &ett_h245_T_cLC_source,
20462     &ett_h245_Clc_reason,
20463     &ett_h245_CloseLogicalChannelAck,
20464     &ett_h245_RequestChannelClose,
20465     &ett_h245_T_reason,
20466     &ett_h245_RequestChannelCloseAck,
20467     &ett_h245_RequestChannelCloseReject,
20468     &ett_h245_RequestChannelCloseRejectCause,
20469     &ett_h245_RequestChannelCloseRelease,
20470     &ett_h245_MultiplexEntrySend,
20471     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor,
20472     &ett_h245_MultiplexEntryDescriptor,
20473     &ett_h245_T_elementList,
20474     &ett_h245_MultiplexElement,
20475     &ett_h245_Me_type,
20476     &ett_h245_T_subElementList,
20477     &ett_h245_ME_repeatCount,
20478     &ett_h245_MultiplexEntrySendAck,
20479     &ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber,
20480     &ett_h245_MultiplexEntrySendReject,
20481     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions,
20482     &ett_h245_MultiplexEntryRejectionDescriptions,
20483     &ett_h245_MultiplexEntryRejectionDescriptionsCause,
20484     &ett_h245_MultiplexEntrySendRelease,
20485     &ett_h245_RequestMultiplexEntry,
20486     &ett_h245_RequestMultiplexEntryAck,
20487     &ett_h245_RequestMultiplexEntryReject,
20488     &ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions,
20489     &ett_h245_RequestMultiplexEntryRejectionDescriptions,
20490     &ett_h245_RequestMultiplexEntryRejectionDescriptionsCause,
20491     &ett_h245_RequestMultiplexEntryRelease,
20492     &ett_h245_RequestMode,
20493     &ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription,
20494     &ett_h245_RequestModeAck,
20495     &ett_h245_Req_mode_ack_response,
20496     &ett_h245_RequestModeReject,
20497     &ett_h245_RequestModeRejectCause,
20498     &ett_h245_RequestModeRelease,
20499     &ett_h245_ModeDescription,
20500     &ett_h245_ModeElementType,
20501     &ett_h245_ModeElement,
20502     &ett_h245_H235Mode,
20503     &ett_h245_T_mediaMode,
20504     &ett_h245_MultiplexedStreamModeParameters,
20505     &ett_h245_RedundancyEncodingDTMode,
20506     &ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement,
20507     &ett_h245_RedundancyEncodingDTModeElement,
20508     &ett_h245_Re_type,
20509     &ett_h245_MultiplePayloadStreamMode,
20510     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode,
20511     &ett_h245_MultiplePayloadStreamElementMode,
20512     &ett_h245_DepFECMode,
20513     &ett_h245_T_rfc2733Mode,
20514     &ett_h245_FEC_mode,
20515     &ett_h245_FECMode,
20516     &ett_h245_H223ModeParameters,
20517     &ett_h245_AdaptationLayerType,
20518     &ett_h245_V76ModeParameters,
20519     &ett_h245_H2250ModeParameters,
20520     &ett_h245_RedundancyEncodingMode,
20521     &ett_h245_T_secondaryEncodingMode,
20522     &ett_h245_VideoMode,
20523     &ett_h245_H261VideoMode,
20524     &ett_h245_H261Resolution,
20525     &ett_h245_H262VideoMode,
20526     &ett_h245_T_profileAndLevel,
20527     &ett_h245_H263VideoMode,
20528     &ett_h245_H263Resolution,
20529     &ett_h245_IS11172VideoMode,
20530     &ett_h245_AudioMode,
20531     &ett_h245_Mode_g7231,
20532     &ett_h245_IS11172AudioMode,
20533     &ett_h245_T_audioLayer,
20534     &ett_h245_T_audioSampling,
20535     &ett_h245_IS11172_multichannelType,
20536     &ett_h245_IS13818AudioMode,
20537     &ett_h245_IS13818AudioLayer,
20538     &ett_h245_IS13818AudioSampling,
20539     &ett_h245_IS13818MultichannelType,
20540     &ett_h245_G7231AnnexCMode,
20541     &ett_h245_VBDMode,
20542     &ett_h245_DataMode,
20543     &ett_h245_DataModeApplication,
20544     &ett_h245_T38faxApp,
20545     &ett_h245_EncryptionMode,
20546     &ett_h245_RoundTripDelayRequest,
20547     &ett_h245_RoundTripDelayResponse,
20548     &ett_h245_MaintenanceLoopRequest,
20549     &ett_h245_Mlr_type,
20550     &ett_h245_MaintenanceLoopAck,
20551     &ett_h245_Mla_type,
20552     &ett_h245_MaintenanceLoopReject,
20553     &ett_h245_Mlrej_type,
20554     &ett_h245_MaintenanceLoopRejectCause,
20555     &ett_h245_MaintenanceLoopOffCommand,
20556     &ett_h245_CommunicationModeCommand,
20557     &ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry,
20558     &ett_h245_CommunicationModeRequest,
20559     &ett_h245_CommunicationModeResponse,
20560     &ett_h245_CommunicationModeTableEntry,
20561     &ett_h245_T_entryDataType,
20562     &ett_h245_ConferenceRequest,
20563     &ett_h245_T_requestTerminalCertificate,
20564     &ett_h245_CertSelectionCriteria,
20565     &ett_h245_Criteria,
20566     &ett_h245_TerminalLabel,
20567     &ett_h245_ConferenceResponse,
20568     &ett_h245_T_mCTerminalIDResponse,
20569     &ett_h245_T_terminalIDResponse,
20570     &ett_h245_T_conferenceIDResponse,
20571     &ett_h245_T_passwordResponse,
20572     &ett_h245_SET_SIZE_1_256_OF_TerminalLabel,
20573     &ett_h245_T_makeMeChairResponse,
20574     &ett_h245_T_extensionAddressResponse,
20575     &ett_h245_T_chairTokenOwnerResponse,
20576     &ett_h245_T_terminalCertificateResponse,
20577     &ett_h245_T_broadcastMyLogicalChannelResponse,
20578     &ett_h245_T_makeTerminalBroadcasterResponse,
20579     &ett_h245_T_sendThisSourceResponse,
20580     &ett_h245_RequestAllTerminalIDsResponse,
20581     &ett_h245_SEQUENCE_OF_TerminalInformation,
20582     &ett_h245_TerminalInformation,
20583     &ett_h245_RemoteMCRequest,
20584     &ett_h245_RemoteMCResponse,
20585     &ett_h245_T_reject,
20586     &ett_h245_MultilinkRequest,
20587     &ett_h245_CallInformationReq,
20588     &ett_h245_AddConnectionReq,
20589     &ett_h245_RemoveConnectionReq,
20590     &ett_h245_MaximumHeaderIntervalReq,
20591     &ett_h245_T_requestType,
20592     &ett_h245_MultilinkResponse,
20593     &ett_h245_CallInformationResp,
20594     &ett_h245_AddConnectionResp,
20595     &ett_h245_T_responseCode,
20596     &ett_h245_T_rejected,
20597     &ett_h245_RemoveConnectionResp,
20598     &ett_h245_MaximumHeaderIntervalResp,
20599     &ett_h245_MultilinkIndication,
20600     &ett_h245_T_crcDesired,
20601     &ett_h245_T_excessiveError,
20602     &ett_h245_DialingInformation,
20603     &ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber,
20604     &ett_h245_DialingInformationNumber,
20605     &ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType,
20606     &ett_h245_DialingInformationNetworkType,
20607     &ett_h245_ConnectionIdentifier,
20608     &ett_h245_LogicalChannelRateRequest,
20609     &ett_h245_LogicalChannelRateAcknowledge,
20610     &ett_h245_LogicalChannelRateReject,
20611     &ett_h245_LogicalChannelRateRejectReason,
20612     &ett_h245_LogicalChannelRateRelease,
20613     &ett_h245_SendTerminalCapabilitySet,
20614     &ett_h245_T_specificRequest,
20615     &ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber,
20616     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber,
20617     &ett_h245_EncryptionCommand,
20618     &ett_h245_T_encryptionAlgorithmID,
20619     &ett_h245_FlowControlCommand,
20620     &ett_h245_Scope,
20621     &ett_h245_Restriction,
20622     &ett_h245_EndSessionCommand,
20623     &ett_h245_T_gstnOptions,
20624     &ett_h245_T_isdnOptions,
20625     &ett_h245_ConferenceCommand,
20626     &ett_h245_SubstituteConferenceIDCommand,
20627     &ett_h245_EncryptionUpdateDirection,
20628     &ett_h245_MiscellaneousCommand,
20629     &ett_h245_Mc_type,
20630     &ett_h245_T_videoFastUpdateGOB,
20631     &ett_h245_T_videoFastUpdateMB,
20632     &ett_h245_T_progressiveRefinementStart,
20633     &ett_h245_T_repeatCount,
20634     &ett_h245_T_videoBadMBs,
20635     &ett_h245_SEQUENCE_OF_PictureReference,
20636     &ett_h245_T_lostPartialPicture,
20637     &ett_h245_T_encryptionUpdateCommand,
20638     &ett_h245_T_encryptionUpdateAck,
20639     &ett_h245_KeyProtectionMethod,
20640     &ett_h245_EncryptionUpdateRequest,
20641     &ett_h245_PictureReference,
20642     &ett_h245_H223MultiplexReconfiguration,
20643     &ett_h245_T_h223ModeChange,
20644     &ett_h245_T_h223AnnexADoubleFlag,
20645     &ett_h245_NewATMVCCommand,
20646     &ett_h245_Cmd_aal,
20647     &ett_h245_Cmd_aal1,
20648     &ett_h245_Cmd_clockRecovery,
20649     &ett_h245_Cmd_errorCorrection,
20650     &ett_h245_Cmd_aal5,
20651     &ett_h245_Cmd_multiplex,
20652     &ett_h245_Cmd_reverseParameters,
20653     &ett_h245_CmdR_multiplex,
20654     &ett_h245_MobileMultilinkReconfigurationCommand,
20655     &ett_h245_T_status,
20656     &ett_h245_FunctionNotUnderstood,
20657     &ett_h245_FunctionNotSupported,
20658     &ett_h245_FunctionNotSupportedCause,
20659     &ett_h245_ConferenceIndication,
20660     &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
20661     &ett_h245_VideoIndicateCompose,
20662     &ett_h245_MiscellaneousIndication,
20663     &ett_h245_Mi_type,
20664     &ett_h245_T_videoNotDecodedMBs,
20665     &ett_h245_JitterIndication,
20666     &ett_h245_H223SkewIndication,
20667     &ett_h245_H2250MaximumSkewIndication,
20668     &ett_h245_MCLocationIndication,
20669     &ett_h245_VendorIdentification,
20670     &ett_h245_NewATMVCIndication,
20671     &ett_h245_Ind_aal,
20672     &ett_h245_Ind_aal1,
20673     &ett_h245_Ind_clockRecovery,
20674     &ett_h245_Ind_errorCorrection,
20675     &ett_h245_Ind_aal5,
20676     &ett_h245_Ind_multiplex,
20677     &ett_h245_Ind_reverseParameters,
20678     &ett_h245_IndR_multiplex,
20679     &ett_h245_Params,
20680     &ett_h245_UserInputIndication,
20681     &ett_h245_T_userInputSupportIndication,
20682     &ett_h245_T_signal,
20683     &ett_h245_T_rtp,
20684     &ett_h245_T_signalUpdate,
20685     &ett_h245_Si_rtp,
20686     &ett_h245_T_extendedAlphanumeric,
20687     &ett_h245_EncryptedAlphanumeric,
20688     &ett_h245_FlowControlIndication,
20689     &ett_h245_MobileMultilinkReconfigurationIndication,
20690
20691 /*--- End of included file: packet-h245-ettarr.c ---*/
20692 #line 491 "../../asn1/h245/packet-h245-template.c"
20693   };
20694   module_t *h245_module;
20695
20696   /* Register protocol */
20697   proto_h245 = proto_register_protocol(PNAME, PSNAME, PFNAME);
20698   register_init_routine(h245_init);
20699   /* Register fields and subtrees */
20700   proto_register_field_array(proto_h245, hf, array_length(hf));
20701   proto_register_subtree_array(ett, array_length(ett));
20702
20703   /* From Ronnie Sahlbergs original H245 dissector */
20704
20705   h245_module = prefs_register_protocol(proto_h245, NULL);
20706   prefs_register_bool_preference(h245_module, "reassembly",
20707                 "Reassemble H.245 messages spanning multiple TCP segments",
20708                 "Whether the H.245 dissector should reassemble messages spanning multiple TCP segments."
20709                 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
20710                 &h245_reassembly);
20711   prefs_register_bool_preference(h245_module, "shorttypes",
20712                 "Show short message types",
20713                 "Whether the dissector should show short names or the long names from the standard",
20714                 &h245_shorttypes);
20715   register_dissector("h245dg", dissect_h245_h245, proto_h245);
20716   register_dissector("h245", dissect_h245, proto_h245);
20717
20718   nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", FT_STRING, BASE_NONE);
20719   nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
20720   gef_name_dissector_table = register_dissector_table("h245.gef.name", "H.245 Generic Extensible Framework (names)", FT_STRING, BASE_NONE);
20721   gef_content_dissector_table = register_dissector_table("h245.gef.content", "H.245 Generic Extensible Framework", FT_STRING, BASE_NONE);
20722
20723   h245_tap = register_tap("h245");
20724   h245dg_tap = register_tap("h245dg");
20725
20726   oid_add_from_string("h239ControlCapability","0.0.8.239.1.1");
20727   oid_add_from_string("h239ExtendedVideoCapability","0.0.8.239.1.2");
20728   oid_add_from_string("generic-message","0.0.8.239.2");
20729   oid_add_from_string("h245 version 3","0.0.8.245.0.3");
20730   oid_add_from_string("h245 version 4","0.0.8.245.0.4");
20731   oid_add_from_string("h245 version 5","0.0.8.245.0.5");
20732   oid_add_from_string("h245 version 6","0.0.8.245.0.6");
20733   oid_add_from_string("h245 version 7","0.0.8.245.0.7");
20734   oid_add_from_string("h245 version 8","0.0.8.245.0.8");
20735   oid_add_from_string("h245 version 9","0.0.8.245.0.9");
20736   oid_add_from_string("h245 version 10","0.0.8.245.0.10");
20737   oid_add_from_string("h245 version 11","0.0.8.245.0.11");
20738   oid_add_from_string("h245 version 12","0.0.8.245.0.12");
20739   oid_add_from_string("h245 version 13","0.0.8.245.0.13");
20740   /* This capability is defined in Annex E. */
20741   oid_add_from_string("ISO/IEC 14496-2 MPEG-4 video","0.0.8.245.1.0.0");
20742   /* This capability is defined in Annex H. */
20743   oid_add_from_string("ISO/IEC 14496-3 MPEG-4 audio","0.0.8.245.1.1.0");
20744   /* This capability is defined in Annex I. */
20745   oid_add_from_string("AMR","0.0.8.245.1.1.1");
20746   /* This capability is defined in Annex J. */
20747   oid_add_from_string("acelp","0.0.8.245.1.1.2");
20748   /* This capability is defined in Annex K. */
20749   oid_add_from_string("us1","0.0.8.245.1.1.3");
20750   /* This capability is defined in Annex L. */
20751   oid_add_from_string("is127evrc","0.0.8.245.1.1.4");
20752   /* This capability is defined in Annex M. */
20753   oid_add_from_string("ISO/IEC 13818-7","0.0.8.245.1.1.5");
20754   /* This capability is defined in Annex N. */
20755   oid_add_from_string("rfc3389","0.0.8.245.1.1.6");
20756   /* This capability is defined in Annex O. */
20757   oid_add_from_string("L-16","0.0.8.245.1.1.7");
20758   /* This capability is defined in Annex P. */
20759   oid_add_from_string("bounded-audio-stream","0.0.8.245.1.1.8");
20760   /* This capability is defined in Annex R. */
20761   oid_add_from_string("AMR-NB","0.0.8.245.1.1.9");
20762   /* This capability is defined in Annex R. */
20763   oid_add_from_string("AMR-WB","0.0.8.245.1.1.10");
20764   /* This capability is defined in Annex S. */
20765   oid_add_from_string("ilbc","0.0.8.245.1.1.11");
20766
20767   oid_add_from_string("ISO/IEC 14496-1","0.0.8.245.1.2.0");
20768   oid_add_from_string("Nx64","0.0.8.245.1.2.1");
20769   oid_add_from_string("logical-channel-bit-ratemanagement","0.0.8.245.1.3.0");
20770
20771   oid_add_from_string("h264 generic-capabilities","0.0.8.241.0.0.1");
20772   oid_add_from_string("iPpacketization_h241AnnexA(single NAL unit mode)","0.0.8.241.0.0.0.0");
20773   oid_add_from_string("iPpacketization_RFC3984NonInterleaved","0.0.8.241.0.0.0.1");
20774   oid_add_from_string("iPpacketization_RFC3984Interleaved","0.0.8.241.0.0.0.2");
20775 }
20776
20777
20778 /*--- proto_reg_handoff_h245 ---------------------------------------*/
20779 void proto_reg_handoff_h245(void) {
20780         dissector_handle_t h245_handle;
20781
20782         rtp_handle = find_dissector("rtp");
20783         rtcp_handle = find_dissector("rtcp");
20784         t38_handle = find_dissector("t38");
20785         data_handle = find_dissector("data");
20786         h263_handle = find_dissector("h263data");
20787         amr_handle = find_dissector("amr_if2_nb");
20788
20789
20790         h245_handle = find_dissector("h245");
20791         dissector_add_handle("tcp.port", h245_handle);
20792         MultimediaSystemControlMessage_handle = find_dissector("h245dg");
20793         dissector_add_handle("udp.port", MultimediaSystemControlMessage_handle);
20794 }
20795
20796 static void init_h245_packet_info(h245_packet_info *pi)
20797 {
20798         if(pi == NULL) {
20799                 return;
20800         }
20801
20802         pi->msg_type = H245_OTHER;
20803                 pi->frame_label[0] = '\0';
20804                 g_snprintf(pi->comment, sizeof(pi->comment), "H245 ");
20805 }
20806