Provide data to inner dissector for PER open type
[metze/wireshark/wip.git] / epan / dissectors / packet-h245.c
1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-h245.c                                                              */
4 /* asn2wrs.py -p h245 -c ./h245.cnf -s ./packet-h245-template -D . -O ../.. 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  * Wireshark - Network traffic analyzer
14  * By Gerald Combs <gerald@wireshark.org>
15  * Copyright 1998 Gerald Combs
16  *
17  * SPDX-License-Identifier: GPL-2.0-or-later
18  *
19  * To quote the author of the previous H245 dissector:
20  *   "This is a complete replacement of the previous limitied dissector
21  * that Ronnie was crazy enough to write by hand. It was a lot of time
22  * to hack it by hand, but it is incomplete and buggy and it is good when
23  * it will go away."
24  * Ronnie did a great job and all the VoIP users had made good use of it!
25  * Credit to Tomas Kukosa for developing the asn2wrs compiler.
26  *
27  */
28
29 #include "config.h"
30
31 #include <epan/packet.h>
32 #include <epan/exceptions.h>
33 #include <epan/strutil.h>
34 #include <epan/addr_resolv.h>
35 #include <epan/prefs.h>
36 #include <epan/t35.h>
37 #include <epan/oids.h>
38 #include <epan/asn1.h>
39 #include <epan/tap.h>
40 #include <wsutil/pint.h>
41 #include "packet-tpkt.h"
42 #include "packet-per.h"
43 #include "packet-h323.h"
44 #include "packet-h245.h"
45 #include "packet-rtp.h"
46 #include "packet-rtcp.h"
47 #include "packet-t38.h"
48
49 #define PNAME  "MULTIMEDIA-SYSTEM-CONTROL"
50 #define PSNAME "H.245"
51 #define PFNAME "h245"
52
53 void proto_register_h245(void);
54 void proto_reg_handoff_h245(void);
55
56 static dissector_handle_t rtcp_handle=NULL;
57 static dissector_table_t nsp_object_dissector_table;
58 static dissector_table_t nsp_h221_dissector_table;
59 static dissector_table_t gef_name_dissector_table;
60 static dissector_table_t gef_content_dissector_table;
61 static dissector_handle_t h245_handle;
62 static dissector_handle_t nsp_handle;
63 static dissector_handle_t data_handle;
64 static dissector_handle_t MultimediaSystemControlMessage_handle;
65 static dissector_handle_t h263_handle = NULL;
66 static dissector_handle_t amr_handle = NULL;
67
68 static void init_h245_packet_info(h245_packet_info *pi);
69 static int hf_h245_pdu_type = -1;
70 static int hf_h245Manufacturer = -1;
71 static int hf_h245_subMessageIdentifier_standard = -1;
72 static int h245_tap = -1;
73 static int h245dg_tap = -1;
74 static int hf_h245_debug_dissector_try_string = -1;
75
76 h245_packet_info *h245_pi=NULL;
77
78 static gboolean h245_reassembly = TRUE;
79 static gboolean h245_shorttypes = FALSE;
80 static gboolean info_col_fmt_prepend = FALSE;
81
82
83 /*--- Included file: packet-h245-val.h ---*/
84 #line 1 "./asn1/h245/packet-h245-val.h"
85
86 typedef enum _AudioCapability_enum {
87   AudioCapability_nonStandard =   0,
88   AudioCapability_g711Alaw64k =   1,
89   AudioCapability_g711Alaw56k =   2,
90   AudioCapability_g711Ulaw64k =   3,
91   AudioCapability_g711Ulaw56k =   4,
92   AudioCapability_g722_64k =   5,
93   AudioCapability_g722_56k =   6,
94   AudioCapability_g722_48k =   7,
95   AudioCapability_g7231 =   8,
96   AudioCapability_g728 =   9,
97   AudioCapability_g729 =  10,
98   AudioCapability_g729AnnexA =  11,
99   AudioCapability_is11172AudioCapability =  12,
100   AudioCapability_is13818AudioCapability =  13,
101   AudioCapability_g729wAnnexB =  14,
102   AudioCapability_g729AnnexAwAnnexB =  15,
103   AudioCapability_g7231AnnexCCapability =  16,
104   AudioCapability_gsmFullRate =  17,
105   AudioCapability_gsmHalfRate =  18,
106   AudioCapability_gsmEnhancedFullRate =  19,
107   AudioCapability_genericAudioCapability =  20,
108   AudioCapability_g729Extensions =  21,
109   AudioCapability_vbd =  22,
110   AudioCapability_audioTelephonyEvent =  23,
111   AudioCapability_audioTone =  24
112 } AudioCapability_enum;
113
114 typedef enum _RequestMessage_enum {
115   RequestMessage_nonStandard =   0,
116   RequestMessage_masterSlaveDetermination =   1,
117   RequestMessage_terminalCapabilitySet =   2,
118   RequestMessage_openLogicalChannel =   3,
119   RequestMessage_closeLogicalChannel =   4,
120   RequestMessage_requestChannelClose =   5,
121   RequestMessage_multiplexEntrySend =   6,
122   RequestMessage_requestMultiplexEntry =   7,
123   RequestMessage_requestMode =   8,
124   RequestMessage_roundTripDelayRequest =   9,
125   RequestMessage_maintenanceLoopRequest =  10,
126   RequestMessage_communicationModeRequest =  11,
127   RequestMessage_conferenceRequest =  12,
128   RequestMessage_multilinkRequest =  13,
129   RequestMessage_logicalChannelRateRequest =  14,
130   RequestMessage_genericRequest =  15
131 } RequestMessage_enum;
132
133 typedef enum _ResponseMessage_enum {
134   ResponseMessage_nonStandard =   0,
135   ResponseMessage_masterSlaveDeterminationAck =   1,
136   ResponseMessage_masterSlaveDeterminationReject =   2,
137   ResponseMessage_terminalCapabilitySetAck =   3,
138   ResponseMessage_terminalCapabilitySetReject =   4,
139   ResponseMessage_openLogicalChannelAck =   5,
140   ResponseMessage_openLogicalChannelReject =   6,
141   ResponseMessage_closeLogicalChannelAck =   7,
142   ResponseMessage_requestChannelCloseAck =   8,
143   ResponseMessage_requestChannelCloseReject =   9,
144   ResponseMessage_multiplexEntrySendAck =  10,
145   ResponseMessage_multiplexEntrySendReject =  11,
146   ResponseMessage_requestMultiplexEntryAck =  12,
147   ResponseMessage_requestMultiplexEntryReject =  13,
148   ResponseMessage_requestModeAck =  14,
149   ResponseMessage_requestModeReject =  15,
150   ResponseMessage_roundTripDelayResponse =  16,
151   ResponseMessage_maintenanceLoopAck =  17,
152   ResponseMessage_maintenanceLoopReject =  18,
153   ResponseMessage_communicationModeResponse =  19,
154   ResponseMessage_conferenceResponse =  20,
155   ResponseMessage_multilinkResponse =  21,
156   ResponseMessage_logicalChannelRateAcknowledge =  22,
157   ResponseMessage_logicalChannelRateReject =  23,
158   ResponseMessage_genericResponse =  24
159 } ResponseMessage_enum;
160
161 typedef enum _CommandMessage_enum {
162   CommandMessage_nonStandard =   0,
163   CommandMessage_maintenanceLoopOffCommand =   1,
164   CommandMessage_sendTerminalCapabilitySet =   2,
165   CommandMessage_encryptionCommand =   3,
166   CommandMessage_flowControlCommand =   4,
167   CommandMessage_endSessionCommand =   5,
168   CommandMessage_miscellaneousCommand =   6,
169   CommandMessage_communicationModeCommand =   7,
170   CommandMessage_conferenceCommand =   8,
171   CommandMessage_h223MultiplexReconfiguration =   9,
172   CommandMessage_newATMVCCommand =  10,
173   CommandMessage_mobileMultilinkReconfigurationCommand =  11,
174   CommandMessage_genericCommand =  12
175 } CommandMessage_enum;
176
177 typedef enum _IndicationMessage_enum {
178   IndicationMessage_nonStandard =   0,
179   IndicationMessage_functionNotUnderstood =   1,
180   IndicationMessage_masterSlaveDeterminationRelease =   2,
181   IndicationMessage_terminalCapabilitySetRelease =   3,
182   IndicationMessage_openLogicalChannelConfirm =   4,
183   IndicationMessage_requestChannelCloseRelease =   5,
184   IndicationMessage_multiplexEntrySendRelease =   6,
185   IndicationMessage_requestMultiplexEntryRelease =   7,
186   IndicationMessage_requestModeRelease =   8,
187   IndicationMessage_miscellaneousIndication =   9,
188   IndicationMessage_jitterIndication =  10,
189   IndicationMessage_h223SkewIndication =  11,
190   IndicationMessage_newATMVCIndication =  12,
191   IndicationMessage_userInput =  13,
192   IndicationMessage_h2250MaximumSkewIndication =  14,
193   IndicationMessage_mcLocationIndication =  15,
194   IndicationMessage_conferenceIndication =  16,
195   IndicationMessage_vendorIdentification =  17,
196   IndicationMessage_functionNotSupported =  18,
197   IndicationMessage_multilinkIndication =  19,
198   IndicationMessage_logicalChannelRateRelease =  20,
199   IndicationMessage_flowControlIndication =  21,
200   IndicationMessage_mobileMultilinkReconfigurationIndication =  22,
201   IndicationMessage_genericIndication =  23
202 } IndicationMessage_enum;
203
204 /*--- End of included file: packet-h245-val.h ---*/
205 #line 75 "./asn1/h245/packet-h245-template.c"
206
207 static const value_string h245_RequestMessage_short_vals[] = {
208         { RequestMessage_nonStandard              ,     "NSM" },
209         { RequestMessage_masterSlaveDetermination ,     "MSD" },
210         { RequestMessage_terminalCapabilitySet    ,     "TCS" },
211         { RequestMessage_openLogicalChannel       ,     "OLC" },
212         { RequestMessage_closeLogicalChannel      ,     "CLC" },
213         { RequestMessage_requestChannelClose      ,     "RCC" },
214         { RequestMessage_multiplexEntrySend       ,     "MES" },
215         { RequestMessage_requestMultiplexEntry    ,     "RME" },
216         { RequestMessage_requestMode              ,     "RM"  },
217         { RequestMessage_roundTripDelayRequest    ,     "RTDR" },
218         { RequestMessage_maintenanceLoopRequest   ,     "MLR" },
219         { RequestMessage_communicationModeRequest ,     "CMR" },
220         { RequestMessage_conferenceRequest        ,     "CR"  },
221         { RequestMessage_multilinkRequest         ,     "MR"  },
222         { RequestMessage_logicalChannelRateRequest,     "LCRR" },
223         { RequestMessage_genericRequest           ,     "GR"  },
224         {  0, NULL }
225 };
226 static const value_string h245_ResponseMessage_short_vals[] = {
227         { ResponseMessage_nonStandard                   ,       "NSM" },
228         { ResponseMessage_masterSlaveDeterminationAck   ,       "MSDAck" },
229         { ResponseMessage_masterSlaveDeterminationReject,       "MSDReject" },
230         { ResponseMessage_terminalCapabilitySetAck      ,       "TCSAck" },
231         { ResponseMessage_terminalCapabilitySetReject   ,       "TCSReject" },
232         { ResponseMessage_openLogicalChannelAck         ,       "OLCAck" },
233         { ResponseMessage_openLogicalChannelReject      ,       "OLCReject" },
234         { ResponseMessage_closeLogicalChannelAck        ,       "CLCAck" },
235         { ResponseMessage_requestChannelCloseAck        ,       "RCCAck" },
236         { ResponseMessage_requestChannelCloseReject     ,       "RCCReject" },
237         { ResponseMessage_multiplexEntrySendAck         ,       "MESAck" },
238         { ResponseMessage_multiplexEntrySendReject      ,       "MESReject" },
239         { ResponseMessage_requestMultiplexEntryAck      ,       "RMEAck" },
240         { ResponseMessage_requestMultiplexEntryReject   ,       "RMEReject" },
241         { ResponseMessage_requestModeAck                ,       "RMAck" },
242         { ResponseMessage_requestModeReject             ,       "RMReject" },
243         { ResponseMessage_roundTripDelayResponse        ,       "RTDResponse" },
244         { ResponseMessage_maintenanceLoopAck            ,       "MLAck" },
245         { ResponseMessage_maintenanceLoopReject         ,       "MLReject" },
246         { ResponseMessage_communicationModeResponse     ,       "CMResponse" },
247         { ResponseMessage_conferenceResponse            ,       "CResponse" },
248         { ResponseMessage_multilinkResponse             ,       "MResponse" },
249         { ResponseMessage_logicalChannelRateAcknowledge ,       "LCRAck" },
250         { ResponseMessage_logicalChannelRateReject      ,       "LCRReject" },
251         { ResponseMessage_genericResponse               ,       "GR" },
252         {  0, NULL }
253 };
254 static const value_string h245_IndicationMessage_short_vals[] = {
255         { IndicationMessage_nonStandard                             ,   "NSM" },
256         { IndicationMessage_functionNotUnderstood                   ,   "FNU" },
257         { IndicationMessage_masterSlaveDeterminationRelease         ,   "MSDRelease" },
258         { IndicationMessage_terminalCapabilitySetRelease            ,   "TCSRelease" },
259         { IndicationMessage_openLogicalChannelConfirm               ,   "OLCConfirm" },
260         { IndicationMessage_requestChannelCloseRelease              ,   "RCCRelease" },
261         { IndicationMessage_multiplexEntrySendRelease               ,   "MESRelease" },
262         { IndicationMessage_requestMultiplexEntryRelease            ,   "RMERelease" },
263         { IndicationMessage_requestModeRelease                      ,   "RMRelease" },
264         { IndicationMessage_miscellaneousIndication                 ,   "MI" },
265         { IndicationMessage_jitterIndication                        ,   "JI" },
266         { IndicationMessage_h223SkewIndication                      ,   "H223SI" },
267         { IndicationMessage_newATMVCIndication                      ,   "NATMVCI" },
268         { IndicationMessage_userInput                               ,   "UII" },
269         { IndicationMessage_h2250MaximumSkewIndication              ,   "H2250MSI" },
270         { IndicationMessage_mcLocationIndication                    ,   "MCLI" },
271         { IndicationMessage_conferenceIndication                    ,   "CI" },
272         { IndicationMessage_vendorIdentification                    ,   "VI" },
273         { IndicationMessage_functionNotSupported                    ,   "FNS" },
274         { IndicationMessage_multilinkIndication                     ,   "MultilinkIndication" },
275         { IndicationMessage_logicalChannelRateRelease               ,   "LCRRelease" },
276         { IndicationMessage_flowControlIndication                   ,   "FCIndication" },
277         { IndicationMessage_mobileMultilinkReconfigurationIndication,   "MMRI" },
278         { IndicationMessage_genericIndication                       ,   "GI" },
279         {  0, NULL }
280 };
281 static const value_string h245_CommandMessage_short_vals[] = {
282         { CommandMessage_nonStandard                          , "NSM" },
283         { CommandMessage_maintenanceLoopOffCommand            , "MLOC" },
284         { CommandMessage_sendTerminalCapabilitySet            , "STCS" },
285         { CommandMessage_encryptionCommand                    , "EC" },
286         { CommandMessage_flowControlCommand                   , "FCC" },
287         { CommandMessage_endSessionCommand                    , "ESC" },
288         { CommandMessage_miscellaneousCommand                 , "MC" },
289         { CommandMessage_communicationModeCommand             , "CMC" },
290         { CommandMessage_conferenceCommand                    , "CC" },
291         { CommandMessage_h223MultiplexReconfiguration         , "H223MR" },
292         { CommandMessage_newATMVCCommand                      , "NATMVCC" },
293         { CommandMessage_mobileMultilinkReconfigurationCommand, "MMRC" },
294         { CommandMessage_genericCommand                       , "GC" },
295         {  0, NULL }
296 };
297
298 static const value_string h245_AudioCapability_short_vals[] = {
299   { AudioCapability_nonStandard           , "nonStd" },
300   { AudioCapability_g711Alaw64k           , "g711A" },
301   { AudioCapability_g711Alaw56k           , "g711A56k" },
302   { AudioCapability_g711Ulaw64k           , "g711U" },
303   { AudioCapability_g711Ulaw56k           , "g711U56k" },
304   { AudioCapability_g722_64k              , "g722-64k" },
305   { AudioCapability_g722_56k              , "g722-56k" },
306   { AudioCapability_g722_48k              , "g722-48k" },
307   { AudioCapability_g7231                 , "g7231" },
308   { AudioCapability_g728                  , "g728" },
309   { AudioCapability_g729                  , "g729" },
310   { AudioCapability_g729AnnexA            , "g729A" },
311   { AudioCapability_is11172AudioCapability, "is11172" },
312   { AudioCapability_is13818AudioCapability, "is13818" },
313   { AudioCapability_g729wAnnexB           , "g729B" },
314   { AudioCapability_g729AnnexAwAnnexB     , "g729AB" },
315   { AudioCapability_g7231AnnexCCapability , "g7231C" },
316   { AudioCapability_gsmFullRate           , "gsmFR" },
317   { AudioCapability_gsmHalfRate           , "gsmHR" },
318   { AudioCapability_gsmEnhancedFullRate   , "gsmEFR" },
319   { AudioCapability_genericAudioCapability, "generic" },
320   { AudioCapability_g729Extensions        , "g729Ext" },
321   { AudioCapability_vbd                   , "vbd" },
322   { AudioCapability_audioTelephonyEvent   , "audioTelEvent" },
323   { AudioCapability_audioTone             , "audioTone" },
324   {  0, NULL }
325 };
326
327 /* To put the codec type only in COL_INFO when
328    an OLC is read */
329 const char* codec_type = NULL;
330 static guint32 rfc_number;
331
332 typedef struct _unicast_addr_t {
333   address addr;
334   guint8 addr_buf[16];
335   guint32 port;
336 } unicast_addr_t;
337
338 typedef struct _channel_info_t {
339   gchar data_type_str[32];
340   unicast_addr_t *upcoming_addr;
341   unicast_addr_t media_addr;
342   unicast_addr_t media_control_addr;
343   unsigned int rfc2198;
344   gboolean srtp_flag;
345   gboolean is_video;
346 } channel_info_t;
347
348 typedef struct _olc_info_t {
349   guint16 fwd_lc_num;
350   channel_info_t fwd_lc;
351   channel_info_t rev_lc;
352 } olc_info_t;
353
354 static wmem_map_t* h245_pending_olc_reqs = NULL;
355 static gboolean fast_start = FALSE;
356 static olc_info_t *upcoming_olc = NULL;
357 static channel_info_t *upcoming_channel = NULL;
358
359 /* NonStandardParameter */
360 static const char *nsiOID;
361 static guint32 h221NonStandard;
362 static guint32 t35CountryCode;
363 static guint32 t35Extension;
364 static guint32 manufacturerCode;
365
366 static const value_string h245_RFC_number_vals[] = {
367         {  2190,        "RFC 2190 - H.263 Video Streams" },
368         {  2198,        "RFC 2198 - RTP Payload for Redundant Audio Data" },
369         {  2429,        "RFC 2429 - 1998 Version of ITU-T Rec. H.263 Video (H.263+)" },
370         {  3016,        "RFC 3016 - RTP Payload Format for MPEG-4 Audio/Visual Streams" },
371         {  3267,        "RFC 3267 - Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB)" },
372         {  3984,        "RFC 3984 - RTP Payload Format for H.264 Video" },
373         {  0, NULL }
374 };
375
376 /* Table 7/H.239 subMessageIdentifier values */
377 static const value_string h245_h239subMessageIdentifier_vals[] = {
378   {   1, "flowControlReleaseRequest" },
379   {   2, "flowControlReleaseResponse" },
380   {   3, "presentationTokenRequest" },
381   {   4, "presentationTokenResponse" },
382   {   5, "presentationTokenRelease" },
383   {   6, "presentationTokenIndicateOwner" },
384   { 0, NULL }
385 };
386
387
388 /* h223 multiplex codes */
389 static h223_set_mc_handle_t h223_set_mc_handle = NULL;
390 h223_mux_element *h223_me=NULL;
391 guint8 h223_mc=0;
392 void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle )
393 {
394         h223_set_mc_handle = handle;
395 }
396
397 /* h223 logical channels */
398 typedef struct {
399         h223_lc_params *fw_channel_params;
400         h223_lc_params *rev_channel_params;
401 } h223_pending_olc;
402
403 static wmem_map_t*          h223_pending_olc_reqs[] = { NULL, NULL };
404 static dissector_handle_t   h245_lc_dissector;
405 static guint16              h245_lc_temp;
406 static guint16              h223_fw_lc_num;
407 static guint16              h223_rev_lc_num;
408 static h223_lc_params      *h223_lc_params_temp;
409 static h223_lc_params      *h223_fw_lc_params;
410 static h223_lc_params      *h223_rev_lc_params;
411 static h223_add_lc_handle_t h223_add_lc_handle = NULL;
412
413 static void h223_lc_init( void )
414 {
415         h223_lc_params_temp = NULL;
416         h245_lc_dissector = NULL;
417         h223_fw_lc_num = 0;
418 }
419
420 void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle )
421 {
422         h223_add_lc_handle = handle;
423 }
424
425 static const gchar *gen_olc_key(guint16 lc_num, address *dst_addr, address *src_addr)
426 {
427   return wmem_strdup_printf(wmem_packet_scope(), "%s/%s/%u",
428           address_to_str(wmem_packet_scope(), dst_addr),
429           address_to_str(wmem_packet_scope(), src_addr),
430           lc_num);
431 }
432
433 static void update_unicast_addr(unicast_addr_t *req_addr, unicast_addr_t *ack_addr)
434 {
435   if (ack_addr->addr.type!=AT_NONE && ack_addr->port!=0) {
436     memcpy(req_addr->addr_buf, ack_addr->addr_buf, sizeof(req_addr->addr_buf));
437     set_address(&req_addr->addr, ack_addr->addr.type, ack_addr->addr.len, req_addr->addr_buf);
438     req_addr->port = ack_addr->port;
439   }
440 }
441
442 static void h245_setup_channels(packet_info *pinfo, channel_info_t *upcoming_channel_lcl)
443 {
444         rtp_dyn_payload_t *rtp_dyn_payload = NULL;
445         struct srtp_info *dummy_srtp_info = NULL;
446
447         if (!upcoming_channel_lcl) return;
448
449         /* T.38 */
450         if (!strcmp(upcoming_channel_lcl->data_type_str, "t38fax")) {
451                 if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0) {
452                         t38_add_address(pinfo, &upcoming_channel_lcl->media_addr.addr,
453                                                         upcoming_channel_lcl->media_addr.port, 0,
454                                                         "H245", pinfo->num);
455                 }
456                 return;
457         }
458
459         /* (S)RTP, (S)RTCP */
460         if (upcoming_channel_lcl->rfc2198 > 0) {
461                 rtp_dyn_payload = rtp_dyn_payload_new();
462                 rtp_dyn_payload_insert(rtp_dyn_payload, upcoming_channel_lcl->rfc2198, "red", 8000);
463         }
464
465         if (upcoming_channel_lcl->srtp_flag) {
466                 dummy_srtp_info = wmem_new0(wmem_file_scope(), struct srtp_info);
467         }
468
469         /* 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 );
470         */
471         if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0) {
472                 srtp_add_address(pinfo, PT_UDP, &upcoming_channel_lcl->media_addr.addr,
473                                                 upcoming_channel_lcl->media_addr.port, 0,
474                                                 "H245", pinfo->num, upcoming_channel_lcl->is_video , rtp_dyn_payload, dummy_srtp_info, NULL);
475         }
476         if (upcoming_channel_lcl->media_control_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_control_addr.port!=0 && rtcp_handle) {
477                 srtcp_add_address(pinfo, &upcoming_channel_lcl->media_control_addr.addr,
478                                                 upcoming_channel_lcl->media_control_addr.port, 0,
479                                                 "H245", pinfo->num, dummy_srtp_info);
480         }
481 }
482
483 /* Prints formated information column of h245 messages. Note that global variables
484  * "h245_shorttypes" and "info_col_fmt_prepend" are used to decide formating preferences */
485 static void print_info_column(column_info *cinfo, const gint32 *value,
486     const value_string *msg_vals, const value_string *short_msg_vals)
487 {
488   const value_string *vals;
489
490   if (h245_shorttypes == FALSE || short_msg_vals == NULL) {
491     vals = msg_vals;
492   } else {
493     vals = short_msg_vals;
494   }
495
496   if (info_col_fmt_prepend == FALSE) {
497     col_append_fstr(cinfo, COL_INFO, "%s ", val_to_str(*value, vals, "<unknown>"));
498   } else {
499     col_prepend_fstr(cinfo, COL_INFO, "%s ", val_to_str(*value, vals, "<unknown>"));
500   }
501 }
502
503 /* Initialize the protocol and registered fields */
504 static int proto_h245 = -1;
505
506 /*--- Included file: packet-h245-hf.c ---*/
507 #line 1 "./asn1/h245/packet-h245-hf.c"
508 static int hf_h245_OpenLogicalChannel_PDU = -1;   /* OpenLogicalChannel */
509 static int hf_h245_request = -1;                  /* RequestMessage */
510 static int hf_h245_response = -1;                 /* ResponseMessage */
511 static int hf_h245_command = -1;                  /* CommandMessage */
512 static int hf_h245_indication = -1;               /* IndicationMessage */
513 static int hf_h245_nonStandardMsg = -1;           /* NonStandardMessage */
514 static int hf_h245_masterSlaveDetermination = -1;  /* MasterSlaveDetermination */
515 static int hf_h245_terminalCapabilitySet = -1;    /* TerminalCapabilitySet */
516 static int hf_h245_openLogicalChannel = -1;       /* OpenLogicalChannel */
517 static int hf_h245_closeLogicalChannel = -1;      /* CloseLogicalChannel */
518 static int hf_h245_requestChannelClose = -1;      /* RequestChannelClose */
519 static int hf_h245_multiplexEntrySend = -1;       /* MultiplexEntrySend */
520 static int hf_h245_requestMultiplexEntry = -1;    /* RequestMultiplexEntry */
521 static int hf_h245_requestMode = -1;              /* RequestMode */
522 static int hf_h245_roundTripDelayRequest = -1;    /* RoundTripDelayRequest */
523 static int hf_h245_maintenanceLoopRequest = -1;   /* MaintenanceLoopRequest */
524 static int hf_h245_communicationModeRequest = -1;  /* CommunicationModeRequest */
525 static int hf_h245_conferenceRequest = -1;        /* ConferenceRequest */
526 static int hf_h245_multilinkRequest = -1;         /* MultilinkRequest */
527 static int hf_h245_logicalChannelRateRequest = -1;  /* LogicalChannelRateRequest */
528 static int hf_h245_genericRequest = -1;           /* GenericMessage */
529 static int hf_h245_masterSlaveDeterminationAck = -1;  /* MasterSlaveDeterminationAck */
530 static int hf_h245_masterSlaveDeterminationReject = -1;  /* MasterSlaveDeterminationReject */
531 static int hf_h245_terminalCapabilitySetAck = -1;  /* TerminalCapabilitySetAck */
532 static int hf_h245_terminalCapabilitySetReject = -1;  /* TerminalCapabilitySetReject */
533 static int hf_h245_openLogicalChannelAck = -1;    /* OpenLogicalChannelAck */
534 static int hf_h245_openLogicalChannelReject = -1;  /* OpenLogicalChannelReject */
535 static int hf_h245_closeLogicalChannelAck = -1;   /* CloseLogicalChannelAck */
536 static int hf_h245_requestChannelCloseAck = -1;   /* RequestChannelCloseAck */
537 static int hf_h245_requestChannelCloseReject = -1;  /* RequestChannelCloseReject */
538 static int hf_h245_multiplexEntrySendAck = -1;    /* MultiplexEntrySendAck */
539 static int hf_h245_multiplexEntrySendReject = -1;  /* MultiplexEntrySendReject */
540 static int hf_h245_requestMultiplexEntryAck = -1;  /* RequestMultiplexEntryAck */
541 static int hf_h245_requestMultiplexEntryReject = -1;  /* RequestMultiplexEntryReject */
542 static int hf_h245_requestModeAck = -1;           /* RequestModeAck */
543 static int hf_h245_requestModeReject = -1;        /* RequestModeReject */
544 static int hf_h245_roundTripDelayResponse = -1;   /* RoundTripDelayResponse */
545 static int hf_h245_maintenanceLoopAck = -1;       /* MaintenanceLoopAck */
546 static int hf_h245_maintenanceLoopReject = -1;    /* MaintenanceLoopReject */
547 static int hf_h245_communicationModeResponse = -1;  /* CommunicationModeResponse */
548 static int hf_h245_conferenceResponse = -1;       /* ConferenceResponse */
549 static int hf_h245_multilinkResponse = -1;        /* MultilinkResponse */
550 static int hf_h245_logicalChannelRateAcknowledge = -1;  /* LogicalChannelRateAcknowledge */
551 static int hf_h245_logicalChannelRateReject = -1;  /* LogicalChannelRateReject */
552 static int hf_h245_genericResponse = -1;          /* GenericMessage */
553 static int hf_h245_maintenanceLoopOffCommand = -1;  /* MaintenanceLoopOffCommand */
554 static int hf_h245_sendTerminalCapabilitySet = -1;  /* SendTerminalCapabilitySet */
555 static int hf_h245_encryptionCommand = -1;        /* EncryptionCommand */
556 static int hf_h245_flowControlCommand = -1;       /* FlowControlCommand */
557 static int hf_h245_endSessionCommand = -1;        /* EndSessionCommand */
558 static int hf_h245_miscellaneousCommand = -1;     /* MiscellaneousCommand */
559 static int hf_h245_communicationModeCommand = -1;  /* CommunicationModeCommand */
560 static int hf_h245_conferenceCommand = -1;        /* ConferenceCommand */
561 static int hf_h245_h223MultiplexReconfiguration = -1;  /* H223MultiplexReconfiguration */
562 static int hf_h245_newATMVCCommand = -1;          /* NewATMVCCommand */
563 static int hf_h245_mobileMultilinkReconfigurationCommand = -1;  /* MobileMultilinkReconfigurationCommand */
564 static int hf_h245_genericCommand = -1;           /* GenericMessage */
565 static int hf_h245_functionNotUnderstood = -1;    /* FunctionNotUnderstood */
566 static int hf_h245_masterSlaveDeterminationRelease = -1;  /* MasterSlaveDeterminationRelease */
567 static int hf_h245_terminalCapabilitySetRelease = -1;  /* TerminalCapabilitySetRelease */
568 static int hf_h245_openLogicalChannelConfirm = -1;  /* OpenLogicalChannelConfirm */
569 static int hf_h245_requestChannelCloseRelease = -1;  /* RequestChannelCloseRelease */
570 static int hf_h245_multiplexEntrySendRelease = -1;  /* MultiplexEntrySendRelease */
571 static int hf_h245_requestMultiplexEntryRelease = -1;  /* RequestMultiplexEntryRelease */
572 static int hf_h245_requestModeRelease = -1;       /* RequestModeRelease */
573 static int hf_h245_miscellaneousIndication = -1;  /* MiscellaneousIndication */
574 static int hf_h245_jitterIndication = -1;         /* JitterIndication */
575 static int hf_h245_h223SkewIndication = -1;       /* H223SkewIndication */
576 static int hf_h245_newATMVCIndication = -1;       /* NewATMVCIndication */
577 static int hf_h245_userInput = -1;                /* UserInputIndication */
578 static int hf_h245_h2250MaximumSkewIndication = -1;  /* H2250MaximumSkewIndication */
579 static int hf_h245_mcLocationIndication = -1;     /* MCLocationIndication */
580 static int hf_h245_conferenceIndication = -1;     /* ConferenceIndication */
581 static int hf_h245_vendorIdentification = -1;     /* VendorIdentification */
582 static int hf_h245_functionNotSupported = -1;     /* FunctionNotSupported */
583 static int hf_h245_multilinkIndication = -1;      /* MultilinkIndication */
584 static int hf_h245_logicalChannelRateRelease = -1;  /* LogicalChannelRateRelease */
585 static int hf_h245_flowControlIndication = -1;    /* FlowControlIndication */
586 static int hf_h245_mobileMultilinkReconfigurationIndication = -1;  /* MobileMultilinkReconfigurationIndication */
587 static int hf_h245_genericIndication = -1;        /* GenericMessage */
588 static int hf_h245_messageIdentifier = -1;        /* CapabilityIdentifier */
589 static int hf_h245_subMessageIdentifier = -1;     /* T_subMessageIdentifier */
590 static int hf_h245_messageContent = -1;           /* T_messageContent */
591 static int hf_h245_messageContent_item = -1;      /* T_messageContent_item */
592 static int hf_h245_nonStandardData = -1;          /* NonStandardParameter */
593 static int hf_h245_nonStandardIdentifier = -1;    /* NonStandardIdentifier */
594 static int hf_h245_nsd_data = -1;                 /* T_nsd_data */
595 static int hf_h245_object = -1;                   /* T_object */
596 static int hf_h245_h221NonStandardID = -1;        /* H221NonStandardID */
597 static int hf_h245_t35CountryCode = -1;           /* T_t35CountryCode */
598 static int hf_h245_t35Extension = -1;             /* T_t35Extension */
599 static int hf_h245_manufacturerCode = -1;         /* T_manufacturerCode */
600 static int hf_h245_terminalType = -1;             /* INTEGER_0_255 */
601 static int hf_h245_statusDeterminationNumber = -1;  /* INTEGER_0_16777215 */
602 static int hf_h245_decision = -1;                 /* T_decision */
603 static int hf_h245_master = -1;                   /* NULL */
604 static int hf_h245_slave = -1;                    /* NULL */
605 static int hf_h245_msd_rej_cause = -1;            /* MasterSlaveDeterminationRejectCause */
606 static int hf_h245_identicalNumbers = -1;         /* NULL */
607 static int hf_h245_sequenceNumber = -1;           /* SequenceNumber */
608 static int hf_h245_protocolIdentifier = -1;       /* OBJECT_IDENTIFIER */
609 static int hf_h245_multiplexCapability = -1;      /* MultiplexCapability */
610 static int hf_h245_capabilityTable = -1;          /* SET_SIZE_1_256_OF_CapabilityTableEntry */
611 static int hf_h245_capabilityTable_item = -1;     /* CapabilityTableEntry */
612 static int hf_h245_capabilityDescriptors = -1;    /* SET_SIZE_1_256_OF_CapabilityDescriptor */
613 static int hf_h245_capabilityDescriptors_item = -1;  /* CapabilityDescriptor */
614 static int hf_h245_genericInformation = -1;       /* SEQUENCE_OF_GenericInformation */
615 static int hf_h245_genericInformation_item = -1;  /* GenericInformation */
616 static int hf_h245_capabilityTableEntryNumber = -1;  /* CapabilityTableEntryNumber */
617 static int hf_h245_capability = -1;               /* Capability */
618 static int hf_h245_capabilityDescriptorNumber = -1;  /* CapabilityDescriptorNumber */
619 static int hf_h245_simultaneousCapabilities = -1;  /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
620 static int hf_h245_simultaneousCapabilities_item = -1;  /* AlternativeCapabilitySet */
621 static int hf_h245_AlternativeCapabilitySet_item = -1;  /* CapabilityTableEntryNumber */
622 static int hf_h245_tcs_rej_cause = -1;            /* TerminalCapabilitySetRejectCause */
623 static int hf_h245_unspecified = -1;              /* NULL */
624 static int hf_h245_undefinedTableEntryUsed = -1;  /* NULL */
625 static int hf_h245_descriptorCapacityExceeded = -1;  /* NULL */
626 static int hf_h245_tableEntryCapacityExceeded = -1;  /* T_tableEntryCapacityExceeded */
627 static int hf_h245_highestEntryNumberProcessed = -1;  /* CapabilityTableEntryNumber */
628 static int hf_h245_noneProcessed = -1;            /* NULL */
629 static int hf_h245_nonStandard = -1;              /* NonStandardParameter */
630 static int hf_h245_receiveVideoCapability = -1;   /* VideoCapability */
631 static int hf_h245_transmitVideoCapability = -1;  /* VideoCapability */
632 static int hf_h245_receiveAndTransmitVideoCapability = -1;  /* VideoCapability */
633 static int hf_h245_receiveAudioCapability = -1;   /* AudioCapability */
634 static int hf_h245_transmitAudioCapability = -1;  /* AudioCapability */
635 static int hf_h245_receiveAndTransmitAudioCapability = -1;  /* AudioCapability */
636 static int hf_h245_receiveDataApplicationCapability = -1;  /* DataApplicationCapability */
637 static int hf_h245_transmitDataApplicationCapability = -1;  /* DataApplicationCapability */
638 static int hf_h245_receiveAndTransmitDataApplicationCapability = -1;  /* DataApplicationCapability */
639 static int hf_h245_h233EncryptionTransmitCapability = -1;  /* BOOLEAN */
640 static int hf_h245_h233EncryptionReceiveCapability = -1;  /* T_h233EncryptionReceiveCapability */
641 static int hf_h245_h233IVResponseTime = -1;       /* INTEGER_0_255 */
642 static int hf_h245_conferenceCapability = -1;     /* ConferenceCapability */
643 static int hf_h245_h235SecurityCapability = -1;   /* H235SecurityCapability */
644 static int hf_h245_maxPendingReplacementFor = -1;  /* INTEGER_0_255 */
645 static int hf_h245_receiveUserInputCapability = -1;  /* UserInputCapability */
646 static int hf_h245_transmitUserInputCapability = -1;  /* UserInputCapability */
647 static int hf_h245_receiveAndTransmitUserInputCapability = -1;  /* UserInputCapability */
648 static int hf_h245_genericControlCapability = -1;  /* GenericCapability */
649 static int hf_h245_receiveMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
650 static int hf_h245_transmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
651 static int hf_h245_receiveAndTransmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
652 static int hf_h245_receiveRTPAudioTelephonyEventCapability = -1;  /* AudioTelephonyEventCapability */
653 static int hf_h245_receiveRTPAudioToneCapability = -1;  /* AudioToneCapability */
654 static int hf_h245_depFecCapability = -1;         /* DepFECCapability */
655 static int hf_h245_multiplePayloadStreamCapability = -1;  /* MultiplePayloadStreamCapability */
656 static int hf_h245_fecCapability = -1;            /* FECCapability */
657 static int hf_h245_redundancyEncodingCap = -1;    /* RedundancyEncodingCapability */
658 static int hf_h245_oneOfCapabilities = -1;        /* AlternativeCapabilitySet */
659 static int hf_h245_encryptionAuthenticationAndIntegrity = -1;  /* EncryptionAuthenticationAndIntegrity */
660 static int hf_h245_mediaCapability = -1;          /* CapabilityTableEntryNumber */
661 static int hf_h245_h222Capability = -1;           /* H222Capability */
662 static int hf_h245_h223Capability = -1;           /* H223Capability */
663 static int hf_h245_v76Capability = -1;            /* V76Capability */
664 static int hf_h245_h2250Capability = -1;          /* H2250Capability */
665 static int hf_h245_genericMultiplexCapability = -1;  /* GenericCapability */
666 static int hf_h245_numberOfVCs = -1;              /* INTEGER_1_256 */
667 static int hf_h245_vcCapability = -1;             /* SET_OF_VCCapability */
668 static int hf_h245_vcCapability_item = -1;        /* VCCapability */
669 static int hf_h245_aal1 = -1;                     /* T_aal1 */
670 static int hf_h245_nullClockRecovery = -1;        /* BOOLEAN */
671 static int hf_h245_srtsClockRecovery_bool = -1;   /* BOOLEAN */
672 static int hf_h245_adaptiveClockRecovery = -1;    /* BOOLEAN */
673 static int hf_h245_nullErrorCorrection = -1;      /* BOOLEAN */
674 static int hf_h245_longInterleaver = -1;          /* BOOLEAN */
675 static int hf_h245_shortInterleaver = -1;         /* BOOLEAN */
676 static int hf_h245_errorCorrectionOnly = -1;      /* BOOLEAN */
677 static int hf_h245_structuredDataTransfer = -1;   /* BOOLEAN */
678 static int hf_h245_partiallyFilledCells = -1;     /* BOOLEAN */
679 static int hf_h245_aal5 = -1;                     /* T_aal5 */
680 static int hf_h245_forwardMaximumSDUSize = -1;    /* INTEGER_0_65535 */
681 static int hf_h245_backwardMaximumSDUSize = -1;   /* INTEGER_0_65535 */
682 static int hf_h245_transportStream_bool = -1;     /* BOOLEAN */
683 static int hf_h245_programStream = -1;            /* BOOLEAN */
684 static int hf_h245_availableBitRates = -1;        /* T_availableBitRates */
685 static int hf_h245_avb_type = -1;                 /* Avb_type */
686 static int hf_h245_singleBitRate = -1;            /* INTEGER_1_65535 */
687 static int hf_h245_rangeOfBitRates = -1;          /* T_rangeOfBitRates */
688 static int hf_h245_lowerBitRate = -1;             /* INTEGER_1_65535 */
689 static int hf_h245_higherBitRate = -1;            /* INTEGER_1_65535 */
690 static int hf_h245_aal1ViaGateway = -1;           /* T_aal1ViaGateway */
691 static int hf_h245_gatewayAddress = -1;           /* SET_SIZE_1_256_OF_Q2931Address */
692 static int hf_h245_gatewayAddress_item = -1;      /* Q2931Address */
693 static int hf_h245_srtsClockRecoveryflag = -1;    /* BOOLEAN */
694 static int hf_h245_transportWithI_frames = -1;    /* BOOLEAN */
695 static int hf_h245_videoWithAL1 = -1;             /* BOOLEAN */
696 static int hf_h245_videoWithAL2 = -1;             /* BOOLEAN */
697 static int hf_h245_videoWithAL3 = -1;             /* BOOLEAN */
698 static int hf_h245_audioWithAL1 = -1;             /* BOOLEAN */
699 static int hf_h245_audioWithAL2 = -1;             /* BOOLEAN */
700 static int hf_h245_audioWithAL3 = -1;             /* BOOLEAN */
701 static int hf_h245_dataWithAL1 = -1;              /* BOOLEAN */
702 static int hf_h245_dataWithAL2 = -1;              /* BOOLEAN */
703 static int hf_h245_dataWithAL3 = -1;              /* BOOLEAN */
704 static int hf_h245_maximumAl2SDUSize = -1;        /* INTEGER_0_65535 */
705 static int hf_h245_maximumAl3SDUSize = -1;        /* INTEGER_0_65535 */
706 static int hf_h245_maximumDelayJitter = -1;       /* INTEGER_0_1023 */
707 static int hf_h245_h223MultiplexTableCapability = -1;  /* T_h223MultiplexTableCapability */
708 static int hf_h245_basic = -1;                    /* NULL */
709 static int hf_h245_enhanced = -1;                 /* T_enhanced */
710 static int hf_h245_maximumNestingDepth = -1;      /* INTEGER_1_15 */
711 static int hf_h245_maximumElementListSize = -1;   /* INTEGER_2_255 */
712 static int hf_h245_maximumSubElementListSize = -1;  /* INTEGER_2_255 */
713 static int hf_h245_maxMUXPDUSizeCapability = -1;  /* BOOLEAN */
714 static int hf_h245_nsrpSupport = -1;              /* BOOLEAN */
715 static int hf_h245_mobileOperationTransmitCapability = -1;  /* T_mobileOperationTransmitCapability */
716 static int hf_h245_modeChangeCapability = -1;     /* BOOLEAN */
717 static int hf_h245_h223AnnexA = -1;               /* BOOLEAN */
718 static int hf_h245_h223AnnexADoubleFlagFlag = -1;  /* BOOLEAN */
719 static int hf_h245_h223AnnexB = -1;               /* BOOLEAN */
720 static int hf_h245_h223AnnexBwithHeader = -1;     /* BOOLEAN */
721 static int hf_h245_h223AnnexCCapability = -1;     /* H223AnnexCCapability */
722 static int hf_h245_bitRate_1_19200 = -1;          /* INTEGER_1_19200 */
723 static int hf_h245_mobileMultilinkFrameCapability = -1;  /* T_mobileMultilinkFrameCapability */
724 static int hf_h245_maximumSampleSize = -1;        /* INTEGER_1_255 */
725 static int hf_h245_maximumPayloadLength = -1;     /* INTEGER_1_65025 */
726 static int hf_h245_videoWithAL1M = -1;            /* BOOLEAN */
727 static int hf_h245_videoWithAL2M = -1;            /* BOOLEAN */
728 static int hf_h245_videoWithAL3M = -1;            /* BOOLEAN */
729 static int hf_h245_audioWithAL1M = -1;            /* BOOLEAN */
730 static int hf_h245_audioWithAL2M = -1;            /* BOOLEAN */
731 static int hf_h245_audioWithAL3M = -1;            /* BOOLEAN */
732 static int hf_h245_dataWithAL1M = -1;             /* BOOLEAN */
733 static int hf_h245_dataWithAL2M = -1;             /* BOOLEAN */
734 static int hf_h245_dataWithAL3M = -1;             /* BOOLEAN */
735 static int hf_h245_alpduInterleaving = -1;        /* BOOLEAN */
736 static int hf_h245_maximumAL1MPDUSize = -1;       /* INTEGER_0_65535 */
737 static int hf_h245_maximumAL2MSDUSize = -1;       /* INTEGER_0_65535 */
738 static int hf_h245_maximumAL3MSDUSize = -1;       /* INTEGER_0_65535 */
739 static int hf_h245_rsCodeCapability = -1;         /* BOOLEAN */
740 static int hf_h245_suspendResumeCapabilitywAddress = -1;  /* BOOLEAN */
741 static int hf_h245_suspendResumeCapabilitywoAddress = -1;  /* BOOLEAN */
742 static int hf_h245_rejCapability = -1;            /* BOOLEAN */
743 static int hf_h245_sREJCapability = -1;           /* BOOLEAN */
744 static int hf_h245_mREJCapability = -1;           /* BOOLEAN */
745 static int hf_h245_crc8bitCapability = -1;        /* BOOLEAN */
746 static int hf_h245_crc16bitCapability = -1;       /* BOOLEAN */
747 static int hf_h245_crc32bitCapability = -1;       /* BOOLEAN */
748 static int hf_h245_uihCapability = -1;            /* BOOLEAN */
749 static int hf_h245_numOfDLCS = -1;                /* INTEGER_2_8191 */
750 static int hf_h245_twoOctetAddressFieldCapability = -1;  /* BOOLEAN */
751 static int hf_h245_loopBackTestCapability = -1;   /* BOOLEAN */
752 static int hf_h245_n401Capability = -1;           /* INTEGER_1_4095 */
753 static int hf_h245_maxWindowSizeCapability = -1;  /* INTEGER_1_127 */
754 static int hf_h245_v75Capability = -1;            /* V75Capability */
755 static int hf_h245_audioHeader = -1;              /* BOOLEAN */
756 static int hf_h245_maximumAudioDelayJitter = -1;  /* INTEGER_0_1023 */
757 static int hf_h245_receiveMultipointCapability = -1;  /* MultipointCapability */
758 static int hf_h245_transmitMultipointCapability = -1;  /* MultipointCapability */
759 static int hf_h245_receiveAndTransmitMultipointCapability = -1;  /* MultipointCapability */
760 static int hf_h245_mcCapability = -1;             /* T_mcCapability */
761 static int hf_h245_centralizedConferenceMC = -1;  /* BOOLEAN */
762 static int hf_h245_decentralizedConferenceMC = -1;  /* BOOLEAN */
763 static int hf_h245_rtcpVideoControlCapability = -1;  /* BOOLEAN */
764 static int hf_h245_mediaPacketizationCapability = -1;  /* MediaPacketizationCapability */
765 static int hf_h245_transportCapability = -1;      /* TransportCapability */
766 static int hf_h245_redundancyEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability */
767 static int hf_h245_redundancyEncodingCapability_item = -1;  /* RedundancyEncodingCapability */
768 static int hf_h245_logicalChannelSwitchingCapability = -1;  /* BOOLEAN */
769 static int hf_h245_t120DynamicPortCapability = -1;  /* BOOLEAN */
770 static int hf_h245_h261aVideoPacketization = -1;  /* BOOLEAN */
771 static int hf_h245_rtpPayloadTypes = -1;          /* SEQUENCE_SIZE_1_256_OF_RTPPayloadType */
772 static int hf_h245_rtpPayloadTypes_item = -1;     /* RTPPayloadType */
773 static int hf_h245_qosMode = -1;                  /* QOSMode */
774 static int hf_h245_tokenRate = -1;                /* INTEGER_1_4294967295 */
775 static int hf_h245_bucketSize = -1;               /* INTEGER_1_4294967295 */
776 static int hf_h245_peakRate = -1;                 /* INTEGER_1_4294967295 */
777 static int hf_h245_minPoliced = -1;               /* INTEGER_1_4294967295 */
778 static int hf_h245_maxPktSize = -1;               /* INTEGER_1_4294967295 */
779 static int hf_h245_guaranteedQOS = -1;            /* NULL */
780 static int hf_h245_controlledLoad = -1;           /* NULL */
781 static int hf_h245_maxNTUSize = -1;               /* INTEGER_0_65535 */
782 static int hf_h245_atmUBR = -1;                   /* BOOLEAN */
783 static int hf_h245_atmrtVBR = -1;                 /* BOOLEAN */
784 static int hf_h245_atmnrtVBR = -1;                /* BOOLEAN */
785 static int hf_h245_atmABR = -1;                   /* BOOLEAN */
786 static int hf_h245_atmCBR = -1;                   /* BOOLEAN */
787 static int hf_h245_nonStandardParameter = -1;     /* NonStandardParameter */
788 static int hf_h245_value = -1;                    /* INTEGER_0_255 */
789 static int hf_h245_servicePrioritySignalled = -1;  /* BOOLEAN */
790 static int hf_h245_servicePriorityValue = -1;     /* ServicePriorityValue */
791 static int hf_h245_serviceClass = -1;             /* INTEGER_0_4095 */
792 static int hf_h245_serviceSubclass = -1;          /* INTEGER_0_255 */
793 static int hf_h245_desired = -1;                  /* NULL */
794 static int hf_h245_required = -1;                 /* NULL */
795 static int hf_h245_class0 = -1;                   /* NULL */
796 static int hf_h245_class1 = -1;                   /* NULL */
797 static int hf_h245_class2 = -1;                   /* NULL */
798 static int hf_h245_class3 = -1;                   /* NULL */
799 static int hf_h245_class4 = -1;                   /* NULL */
800 static int hf_h245_class5 = -1;                   /* NULL */
801 static int hf_h245_qosType = -1;                  /* QOSType */
802 static int hf_h245_qosClass = -1;                 /* QOSClass */
803 static int hf_h245_averageRate = -1;              /* INTEGER_1_4294967295 */
804 static int hf_h245_burst = -1;                    /* INTEGER_1_4294967295 */
805 static int hf_h245_rsvpParameters = -1;           /* RSVPParameters */
806 static int hf_h245_atmParameters = -1;            /* ATMParameters */
807 static int hf_h245_localQoS = -1;                 /* BOOLEAN */
808 static int hf_h245_genericTransportParameters = -1;  /* GenericTransportParameters */
809 static int hf_h245_servicePriority = -1;          /* ServicePriority */
810 static int hf_h245_authorizationParameter = -1;   /* AuthorizationParameters */
811 static int hf_h245_qosDescriptor = -1;            /* QOSDescriptor */
812 static int hf_h245_dscpValue = -1;                /* INTEGER_0_63 */
813 static int hf_h245_ip_UDP = -1;                   /* NULL */
814 static int hf_h245_ip_TCP = -1;                   /* NULL */
815 static int hf_h245_atm_AAL5_UNIDIR = -1;          /* NULL */
816 static int hf_h245_atm_AAL5_BIDIR = -1;           /* NULL */
817 static int hf_h245_atm_AAL5_compressed = -1;      /* T_atm_AAL5_compressed */
818 static int hf_h245_variable_delta = -1;           /* BOOLEAN */
819 static int hf_h245_mediaTransport = -1;           /* MediaTransportType */
820 static int hf_h245_qOSCapabilities = -1;          /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
821 static int hf_h245_qOSCapabilities_item = -1;     /* QOSCapability */
822 static int hf_h245_mediaChannelCapabilities = -1;  /* SEQUENCE_SIZE_1_256_OF_MediaChannelCapability */
823 static int hf_h245_mediaChannelCapabilities_item = -1;  /* MediaChannelCapability */
824 static int hf_h245_redundancyEncodingMethod = -1;  /* RedundancyEncodingMethod */
825 static int hf_h245_primaryEncoding = -1;          /* CapabilityTableEntryNumber */
826 static int hf_h245_secondaryEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber */
827 static int hf_h245_secondaryEncodingCapability_item = -1;  /* CapabilityTableEntryNumber */
828 static int hf_h245_rtpAudioRedundancyEncoding = -1;  /* NULL */
829 static int hf_h245_rtpH263VideoRedundancyEncoding = -1;  /* RTPH263VideoRedundancyEncoding */
830 static int hf_h245_numberOfThreads = -1;          /* INTEGER_1_16 */
831 static int hf_h245_framesBetweenSyncPoints = -1;  /* INTEGER_1_256 */
832 static int hf_h245_frameToThreadMapping = -1;     /* T_frameToThreadMapping */
833 static int hf_h245_roundrobin = -1;               /* NULL */
834 static int hf_h245_custom = -1;                   /* SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping */
835 static int hf_h245_custom_item = -1;              /* RTPH263VideoRedundancyFrameMapping */
836 static int hf_h245_containedThreads = -1;         /* T_containedThreads */
837 static int hf_h245_containedThreads_item = -1;    /* INTEGER_0_15 */
838 static int hf_h245_threadNumber = -1;             /* INTEGER_0_15 */
839 static int hf_h245_frameSequence = -1;            /* T_frameSequence */
840 static int hf_h245_frameSequence_item = -1;       /* INTEGER_0_255 */
841 static int hf_h245_multicastCapability = -1;      /* BOOLEAN */
842 static int hf_h245_multiUniCastConference = -1;   /* BOOLEAN */
843 static int hf_h245_mediaDistributionCapability = -1;  /* SEQUENCE_OF_MediaDistributionCapability */
844 static int hf_h245_mediaDistributionCapability_item = -1;  /* MediaDistributionCapability */
845 static int hf_h245_centralizedControl = -1;       /* BOOLEAN */
846 static int hf_h245_distributedControl = -1;       /* BOOLEAN */
847 static int hf_h245_centralizedAudio = -1;         /* BOOLEAN */
848 static int hf_h245_distributedAudio = -1;         /* BOOLEAN */
849 static int hf_h245_centralizedVideo = -1;         /* BOOLEAN */
850 static int hf_h245_distributedVideo = -1;         /* BOOLEAN */
851 static int hf_h245_centralizedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
852 static int hf_h245_centralizedData_item = -1;     /* DataApplicationCapability */
853 static int hf_h245_distributedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
854 static int hf_h245_distributedData_item = -1;     /* DataApplicationCapability */
855 static int hf_h245_h261VideoCapability = -1;      /* H261VideoCapability */
856 static int hf_h245_h262VideoCapability = -1;      /* H262VideoCapability */
857 static int hf_h245_h263VideoCapability = -1;      /* H263VideoCapability */
858 static int hf_h245_is11172VideoCapability = -1;   /* IS11172VideoCapability */
859 static int hf_h245_genericVideoCapability = -1;   /* GenericCapability */
860 static int hf_h245_extendedVideoCapability = -1;  /* ExtendedVideoCapability */
861 static int hf_h245_videoCapability = -1;          /* SEQUENCE_OF_VideoCapability */
862 static int hf_h245_videoCapability_item = -1;     /* VideoCapability */
863 static int hf_h245_videoCapabilityExtension = -1;  /* SEQUENCE_OF_GenericCapability */
864 static int hf_h245_videoCapabilityExtension_item = -1;  /* GenericCapability */
865 static int hf_h245_qcifMPI_1_4 = -1;              /* INTEGER_1_4 */
866 static int hf_h245_cifMPI_1_4 = -1;               /* INTEGER_1_4 */
867 static int hf_h245_temporalSpatialTradeOffCapability = -1;  /* BOOLEAN */
868 static int hf_h245_maxBitRate_1_19200 = -1;       /* INTEGER_1_19200 */
869 static int hf_h245_stillImageTransmission = -1;   /* BOOLEAN */
870 static int hf_h245_videoBadMBsCap = -1;           /* BOOLEAN */
871 static int hf_h245_profileAndLevel_SPatML = -1;   /* BOOLEAN */
872 static int hf_h245_profileAndLevel_MPatLL = -1;   /* BOOLEAN */
873 static int hf_h245_profileAndLevel_MPatML = -1;   /* BOOLEAN */
874 static int hf_h245_profileAndLevel_MPatH_14 = -1;  /* BOOLEAN */
875 static int hf_h245_profileAndLevel_MPatHL = -1;   /* BOOLEAN */
876 static int hf_h245_profileAndLevel_SNRatLL = -1;  /* BOOLEAN */
877 static int hf_h245_profileAndLevel_SNRatML = -1;  /* BOOLEAN */
878 static int hf_h245_profileAndLevel_SpatialatH_14 = -1;  /* BOOLEAN */
879 static int hf_h245_profileAndLevel_HPatML = -1;   /* BOOLEAN */
880 static int hf_h245_profileAndLevel_HPatH_14 = -1;  /* BOOLEAN */
881 static int hf_h245_profileAndLevel_HPatHL = -1;   /* BOOLEAN */
882 static int hf_h245_videoBitRate = -1;             /* INTEGER_0_1073741823 */
883 static int hf_h245_vbvBufferSize = -1;            /* INTEGER_0_262143 */
884 static int hf_h245_samplesPerLine = -1;           /* INTEGER_0_16383 */
885 static int hf_h245_linesPerFrame = -1;            /* INTEGER_0_16383 */
886 static int hf_h245_framesPerSecond = -1;          /* INTEGER_0_15 */
887 static int hf_h245_luminanceSampleRate = -1;      /* INTEGER_0_4294967295 */
888 static int hf_h245_sqcifMPI_1_32 = -1;            /* INTEGER_1_32 */
889 static int hf_h245_qcifMPI = -1;                  /* INTEGER_1_32 */
890 static int hf_h245_cifMPI = -1;                   /* INTEGER_1_32 */
891 static int hf_h245_cif4MPI_1_32 = -1;             /* INTEGER_1_32 */
892 static int hf_h245_cif16MPI_1_32 = -1;            /* INTEGER_1_32 */
893 static int hf_h245_maxBitRate = -1;               /* INTEGER_1_192400 */
894 static int hf_h245_unrestrictedVector = -1;       /* BOOLEAN */
895 static int hf_h245_arithmeticCoding = -1;         /* BOOLEAN */
896 static int hf_h245_advancedPrediction = -1;       /* BOOLEAN */
897 static int hf_h245_pbFrames = -1;                 /* BOOLEAN */
898 static int hf_h245_hrd_B = -1;                    /* INTEGER_0_524287 */
899 static int hf_h245_bppMaxKb = -1;                 /* INTEGER_0_65535 */
900 static int hf_h245_slowSqcifMPI = -1;             /* INTEGER_1_3600 */
901 static int hf_h245_slowQcifMPI = -1;              /* INTEGER_1_3600 */
902 static int hf_h245_slowCifMPI = -1;               /* INTEGER_1_3600 */
903 static int hf_h245_slowCif4MPI = -1;              /* INTEGER_1_3600 */
904 static int hf_h245_slowCif16MPI = -1;             /* INTEGER_1_3600 */
905 static int hf_h245_errorCompensation = -1;        /* BOOLEAN */
906 static int hf_h245_enhancementLayerInfo = -1;     /* EnhancementLayerInfo */
907 static int hf_h245_h263Options = -1;              /* H263Options */
908 static int hf_h245_baseBitRateConstrained = -1;   /* BOOLEAN */
909 static int hf_h245_snrEnhancement = -1;           /* SET_SIZE_1_14_OF_EnhancementOptions */
910 static int hf_h245_snrEnhancement_item = -1;      /* EnhancementOptions */
911 static int hf_h245_spatialEnhancement = -1;       /* SET_SIZE_1_14_OF_EnhancementOptions */
912 static int hf_h245_spatialEnhancement_item = -1;  /* EnhancementOptions */
913 static int hf_h245_bPictureEnhancement = -1;      /* SET_SIZE_1_14_OF_BEnhancementParameters */
914 static int hf_h245_bPictureEnhancement_item = -1;  /* BEnhancementParameters */
915 static int hf_h245_enhancementOptions = -1;       /* EnhancementOptions */
916 static int hf_h245_numberOfBPictures = -1;        /* INTEGER_1_64 */
917 static int hf_h245_advancedIntraCodingMode = -1;  /* BOOLEAN */
918 static int hf_h245_deblockingFilterMode = -1;     /* BOOLEAN */
919 static int hf_h245_improvedPBFramesMode = -1;     /* BOOLEAN */
920 static int hf_h245_unlimitedMotionVectors = -1;   /* BOOLEAN */
921 static int hf_h245_fullPictureFreeze = -1;        /* BOOLEAN */
922 static int hf_h245_partialPictureFreezeAndRelease = -1;  /* BOOLEAN */
923 static int hf_h245_resizingPartPicFreezeAndRelease = -1;  /* BOOLEAN */
924 static int hf_h245_fullPictureSnapshot = -1;      /* BOOLEAN */
925 static int hf_h245_partialPictureSnapshot = -1;   /* BOOLEAN */
926 static int hf_h245_videoSegmentTagging = -1;      /* BOOLEAN */
927 static int hf_h245_progressiveRefinement = -1;    /* BOOLEAN */
928 static int hf_h245_dynamicPictureResizingByFour = -1;  /* BOOLEAN */
929 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;  /* BOOLEAN */
930 static int hf_h245_dynamicWarpingHalfPel = -1;    /* BOOLEAN */
931 static int hf_h245_dynamicWarpingSixteenthPel = -1;  /* BOOLEAN */
932 static int hf_h245_independentSegmentDecoding = -1;  /* BOOLEAN */
933 static int hf_h245_slicesInOrder_NonRect = -1;    /* BOOLEAN */
934 static int hf_h245_slicesInOrder_Rect = -1;       /* BOOLEAN */
935 static int hf_h245_slicesNoOrder_NonRect = -1;    /* BOOLEAN */
936 static int hf_h245_slicesNoOrder_Rect = -1;       /* BOOLEAN */
937 static int hf_h245_alternateInterVLCMode = -1;    /* BOOLEAN */
938 static int hf_h245_modifiedQuantizationMode = -1;  /* BOOLEAN */
939 static int hf_h245_reducedResolutionUpdate = -1;  /* BOOLEAN */
940 static int hf_h245_transparencyParameters = -1;   /* TransparencyParameters */
941 static int hf_h245_separateVideoBackChannel = -1;  /* BOOLEAN */
942 static int hf_h245_refPictureSelection = -1;      /* RefPictureSelection */
943 static int hf_h245_customPictureClockFrequency = -1;  /* SET_SIZE_1_16_OF_CustomPictureClockFrequency */
944 static int hf_h245_customPictureClockFrequency_item = -1;  /* CustomPictureClockFrequency */
945 static int hf_h245_customPictureFormat = -1;      /* SET_SIZE_1_16_OF_CustomPictureFormat */
946 static int hf_h245_customPictureFormat_item = -1;  /* CustomPictureFormat */
947 static int hf_h245_modeCombos = -1;               /* SET_SIZE_1_16_OF_H263VideoModeCombos */
948 static int hf_h245_modeCombos_item = -1;          /* H263VideoModeCombos */
949 static int hf_h245_h263Version3Options = -1;      /* H263Version3Options */
950 static int hf_h245_presentationOrder = -1;        /* INTEGER_1_256 */
951 static int hf_h245_offset_x = -1;                 /* INTEGER_M262144_262143 */
952 static int hf_h245_offset_y = -1;                 /* INTEGER_M262144_262143 */
953 static int hf_h245_scale_x = -1;                  /* INTEGER_1_255 */
954 static int hf_h245_scale_y = -1;                  /* INTEGER_1_255 */
955 static int hf_h245_additionalPictureMemory = -1;  /* T_additionalPictureMemory */
956 static int hf_h245_sqcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
957 static int hf_h245_qcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
958 static int hf_h245_cifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
959 static int hf_h245_cif4AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
960 static int hf_h245_cif16AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
961 static int hf_h245_bigCpfAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
962 static int hf_h245_videoMux = -1;                 /* BOOLEAN */
963 static int hf_h245_videoBackChannelSend = -1;     /* T_videoBackChannelSend */
964 static int hf_h245_none = -1;                     /* NULL */
965 static int hf_h245_ackMessageOnly = -1;           /* NULL */
966 static int hf_h245_nackMessageOnly = -1;          /* NULL */
967 static int hf_h245_ackOrNackMessageOnly = -1;     /* NULL */
968 static int hf_h245_ackAndNackMessage = -1;        /* NULL */
969 static int hf_h245_enhancedReferencePicSelect = -1;  /* T_enhancedReferencePicSelect */
970 static int hf_h245_subPictureRemovalParameters = -1;  /* T_subPictureRemovalParameters */
971 static int hf_h245_mpuHorizMBs = -1;              /* INTEGER_1_128 */
972 static int hf_h245_mpuVertMBs = -1;               /* INTEGER_1_72 */
973 static int hf_h245_mpuTotalNumber = -1;           /* INTEGER_1_65536 */
974 static int hf_h245_clockConversionCode = -1;      /* INTEGER_1000_1001 */
975 static int hf_h245_clockDivisor = -1;             /* INTEGER_1_127 */
976 static int hf_h245_sqcifMPI = -1;                 /* INTEGER_1_2048 */
977 static int hf_h245_qcifMPI_1_2048 = -1;           /* INTEGER_1_2048 */
978 static int hf_h245_cifMPI2_1_2048 = -1;           /* INTEGER_1_2048 */
979 static int hf_h245_cif4MPI = -1;                  /* INTEGER_1_2048 */
980 static int hf_h245_cif16MPI = -1;                 /* INTEGER_1_2048 */
981 static int hf_h245_maxCustomPictureWidth = -1;    /* INTEGER_1_2048 */
982 static int hf_h245_maxCustomPictureHeight = -1;   /* INTEGER_1_2048 */
983 static int hf_h245_minCustomPictureWidth = -1;    /* INTEGER_1_2048 */
984 static int hf_h245_minCustomPictureHeight = -1;   /* INTEGER_1_2048 */
985 static int hf_h245_mPI = -1;                      /* T_mPI */
986 static int hf_h245_standardMPI = -1;              /* INTEGER_1_31 */
987 static int hf_h245_customPCF = -1;                /* T_customPCF */
988 static int hf_h245_customPCF_item = -1;           /* T_customPCF_item */
989 static int hf_h245_customMPI = -1;                /* INTEGER_1_2048 */
990 static int hf_h245_pixelAspectInformation = -1;   /* T_pixelAspectInformation */
991 static int hf_h245_anyPixelAspectRatio = -1;      /* BOOLEAN */
992 static int hf_h245_pixelAspectCode = -1;          /* T_pixelAspectCode */
993 static int hf_h245_pixelAspectCode_item = -1;     /* INTEGER_1_14 */
994 static int hf_h245_extendedPAR = -1;              /* T_extendedPAR */
995 static int hf_h245_extendedPAR_item = -1;         /* T_extendedPAR_item */
996 static int hf_h245_width = -1;                    /* INTEGER_1_255 */
997 static int hf_h245_height = -1;                   /* INTEGER_1_255 */
998 static int hf_h245_h263VideoUncoupledModes = -1;  /* H263ModeComboFlags */
999 static int hf_h245_h263VideoCoupledModes = -1;    /* SET_SIZE_1_16_OF_H263ModeComboFlags */
1000 static int hf_h245_h263VideoCoupledModes_item = -1;  /* H263ModeComboFlags */
1001 static int hf_h245_referencePicSelect = -1;       /* BOOLEAN */
1002 static int hf_h245_enhancedReferencePicSelectBool = -1;  /* BOOLEAN */
1003 static int hf_h245_dataPartitionedSlices = -1;    /* BOOLEAN */
1004 static int hf_h245_fixedPointIDCT0 = -1;          /* BOOLEAN */
1005 static int hf_h245_interlacedFields = -1;         /* BOOLEAN */
1006 static int hf_h245_currentPictureHeaderRepetition = -1;  /* BOOLEAN */
1007 static int hf_h245_previousPictureHeaderRepetition = -1;  /* BOOLEAN */
1008 static int hf_h245_nextPictureHeaderRepetition = -1;  /* BOOLEAN */
1009 static int hf_h245_pictureNumberBoolean = -1;     /* BOOLEAN */
1010 static int hf_h245_spareReferencePictures = -1;   /* BOOLEAN */
1011 static int hf_h245_constrainedBitstream = -1;     /* BOOLEAN */
1012 static int hf_h245_pictureRate = -1;              /* INTEGER_0_15 */
1013 static int hf_h245_g711Alaw64k = -1;              /* INTEGER_1_256 */
1014 static int hf_h245_g711Alaw56k = -1;              /* INTEGER_1_256 */
1015 static int hf_h245_g711Ulaw64k = -1;              /* INTEGER_1_256 */
1016 static int hf_h245_g711Ulaw56k = -1;              /* INTEGER_1_256 */
1017 static int hf_h245_g722_64k = -1;                 /* INTEGER_1_256 */
1018 static int hf_h245_g722_56k = -1;                 /* INTEGER_1_256 */
1019 static int hf_h245_g722_48k = -1;                 /* INTEGER_1_256 */
1020 static int hf_h245_g7231 = -1;                    /* T_g7231 */
1021 static int hf_h245_maxAl_sduAudioFrames = -1;     /* INTEGER_1_256 */
1022 static int hf_h245_silenceSuppression = -1;       /* BOOLEAN */
1023 static int hf_h245_g728 = -1;                     /* INTEGER_1_256 */
1024 static int hf_h245_g729 = -1;                     /* INTEGER_1_256 */
1025 static int hf_h245_g729AnnexA = -1;               /* INTEGER_1_256 */
1026 static int hf_h245_is11172AudioCapability = -1;   /* IS11172AudioCapability */
1027 static int hf_h245_is13818AudioCapability = -1;   /* IS13818AudioCapability */
1028 static int hf_h245_g729wAnnexB = -1;              /* INTEGER_1_256 */
1029 static int hf_h245_g729AnnexAwAnnexB = -1;        /* INTEGER_1_256 */
1030 static int hf_h245_g7231AnnexCCapability = -1;    /* G7231AnnexCCapability */
1031 static int hf_h245_gsmFullRate = -1;              /* GSMAudioCapability */
1032 static int hf_h245_gsmHalfRate = -1;              /* GSMAudioCapability */
1033 static int hf_h245_gsmEnhancedFullRate = -1;      /* GSMAudioCapability */
1034 static int hf_h245_genericAudioCapability = -1;   /* GenericCapability */
1035 static int hf_h245_g729Extensions = -1;           /* G729Extensions */
1036 static int hf_h245_vbd = -1;                      /* VBDCapability */
1037 static int hf_h245_audioTelephonyEvent = -1;      /* NoPTAudioTelephonyEventCapability */
1038 static int hf_h245_audioTone = -1;                /* NoPTAudioToneCapability */
1039 static int hf_h245_audioUnit = -1;                /* INTEGER_1_256 */
1040 static int hf_h245_annexA = -1;                   /* BOOLEAN */
1041 static int hf_h245_annexB = -1;                   /* BOOLEAN */
1042 static int hf_h245_annexD = -1;                   /* BOOLEAN */
1043 static int hf_h245_annexE = -1;                   /* BOOLEAN */
1044 static int hf_h245_annexF = -1;                   /* BOOLEAN */
1045 static int hf_h245_annexG = -1;                   /* BOOLEAN */
1046 static int hf_h245_annexH = -1;                   /* BOOLEAN */
1047 static int hf_h245_highRateMode0 = -1;            /* INTEGER_27_78 */
1048 static int hf_h245_highRateMode1 = -1;            /* INTEGER_27_78 */
1049 static int hf_h245_lowRateMode0 = -1;             /* INTEGER_23_66 */
1050 static int hf_h245_lowRateMode1 = -1;             /* INTEGER_23_66 */
1051 static int hf_h245_sidMode0 = -1;                 /* INTEGER_6_17 */
1052 static int hf_h245_sidMode1 = -1;                 /* INTEGER_6_17 */
1053 static int hf_h245_g723AnnexCAudioMode = -1;      /* G723AnnexCAudioMode */
1054 static int hf_h245_audioLayer1 = -1;              /* BOOLEAN */
1055 static int hf_h245_audioLayer2 = -1;              /* BOOLEAN */
1056 static int hf_h245_audioLayer3 = -1;              /* BOOLEAN */
1057 static int hf_h245_audioSampling32k = -1;         /* BOOLEAN */
1058 static int hf_h245_audioSampling44k1 = -1;        /* BOOLEAN */
1059 static int hf_h245_audioSampling48k = -1;         /* BOOLEAN */
1060 static int hf_h245_singleChannel = -1;            /* BOOLEAN */
1061 static int hf_h245_twoChannels = -1;              /* BOOLEAN */
1062 static int hf_h245_bitRate_1_448 = -1;            /* INTEGER_1_448 */
1063 static int hf_h245_audioSampling16k = -1;         /* BOOLEAN */
1064 static int hf_h245_audioSampling22k05 = -1;       /* BOOLEAN */
1065 static int hf_h245_audioSampling24k = -1;         /* BOOLEAN */
1066 static int hf_h245_threeChannels2_1 = -1;         /* BOOLEAN */
1067 static int hf_h245_threeChannels3_0 = -1;         /* BOOLEAN */
1068 static int hf_h245_fourChannels2_0_2_0 = -1;      /* BOOLEAN */
1069 static int hf_h245_fourChannels2_2 = -1;          /* BOOLEAN */
1070 static int hf_h245_fourChannels3_1 = -1;          /* BOOLEAN */
1071 static int hf_h245_fiveChannels3_0_2_0 = -1;      /* BOOLEAN */
1072 static int hf_h245_fiveChannels3_2 = -1;          /* BOOLEAN */
1073 static int hf_h245_lowFrequencyEnhancement = -1;  /* BOOLEAN */
1074 static int hf_h245_multilingual = -1;             /* BOOLEAN */
1075 static int hf_h245_bitRate2_1_1130 = -1;          /* INTEGER_1_1130 */
1076 static int hf_h245_audioUnitSize = -1;            /* INTEGER_1_256 */
1077 static int hf_h245_comfortNoise = -1;             /* BOOLEAN */
1078 static int hf_h245_scrambled = -1;                /* BOOLEAN */
1079 static int hf_h245_vbd_cap_type = -1;             /* AudioCapability */
1080 static int hf_h245_t120 = -1;                     /* DataProtocolCapability */
1081 static int hf_h245_dsm_cc = -1;                   /* DataProtocolCapability */
1082 static int hf_h245_userData = -1;                 /* DataProtocolCapability */
1083 static int hf_h245_t84 = -1;                      /* T_t84 */
1084 static int hf_h245_t84Protocol = -1;              /* DataProtocolCapability */
1085 static int hf_h245_t84Profile = -1;               /* T84Profile */
1086 static int hf_h245_t434 = -1;                     /* DataProtocolCapability */
1087 static int hf_h245_h224 = -1;                     /* DataProtocolCapability */
1088 static int hf_h245_nlpidProtocol = -1;            /* DataProtocolCapability */
1089 static int hf_h245_nlpidData = -1;                /* OCTET_STRING */
1090 static int hf_h245_nlpid = -1;                    /* Nlpid */
1091 static int hf_h245_dsvdControl = -1;              /* NULL */
1092 static int hf_h245_h222DataPartitioning = -1;     /* DataProtocolCapability */
1093 static int hf_h245_t30fax = -1;                   /* DataProtocolCapability */
1094 static int hf_h245_t140 = -1;                     /* DataProtocolCapability */
1095 static int hf_h245_t38fax = -1;                   /* T_t38fax */
1096 static int hf_h245_t38FaxProtocol = -1;           /* DataProtocolCapability */
1097 static int hf_h245_t38FaxProfile = -1;            /* T38FaxProfile */
1098 static int hf_h245_genericDataCapability = -1;    /* GenericCapability */
1099 static int hf_h245_application = -1;              /* Application */
1100 static int hf_h245_maxBitRate2_0_4294967295 = -1;  /* INTEGER_0_4294967295 */
1101 static int hf_h245_v14buffered = -1;              /* NULL */
1102 static int hf_h245_v42lapm = -1;                  /* NULL */
1103 static int hf_h245_hdlcFrameTunnelling = -1;      /* NULL */
1104 static int hf_h245_h310SeparateVCStack = -1;      /* NULL */
1105 static int hf_h245_h310SingleVCStack = -1;        /* NULL */
1106 static int hf_h245_transparent = -1;              /* NULL */
1107 static int hf_h245_segmentationAndReassembly = -1;  /* NULL */
1108 static int hf_h245_hdlcFrameTunnelingwSAR = -1;   /* NULL */
1109 static int hf_h245_v120 = -1;                     /* NULL */
1110 static int hf_h245_separateLANStack = -1;         /* NULL */
1111 static int hf_h245_v76wCompression = -1;          /* T_v76wCompression */
1112 static int hf_h245_transmitCompression = -1;      /* CompressionType */
1113 static int hf_h245_receiveCompression = -1;       /* CompressionType */
1114 static int hf_h245_transmitAndReceiveCompression = -1;  /* CompressionType */
1115 static int hf_h245_tcp = -1;                      /* NULL */
1116 static int hf_h245_udp = -1;                      /* NULL */
1117 static int hf_h245_v42bis = -1;                   /* V42bis */
1118 static int hf_h245_numberOfCodewords = -1;        /* INTEGER_1_65536 */
1119 static int hf_h245_maximumStringLength = -1;      /* INTEGER_1_256 */
1120 static int hf_h245_t84Unrestricted = -1;          /* NULL */
1121 static int hf_h245_t84Restricted = -1;            /* T_t84Restricted */
1122 static int hf_h245_qcif_bool = -1;                /* BOOLEAN */
1123 static int hf_h245_cif_bool = -1;                 /* BOOLEAN */
1124 static int hf_h245_ccir601Seq = -1;               /* BOOLEAN */
1125 static int hf_h245_ccir601Prog = -1;              /* BOOLEAN */
1126 static int hf_h245_hdtvSeq = -1;                  /* BOOLEAN */
1127 static int hf_h245_hdtvProg = -1;                 /* BOOLEAN */
1128 static int hf_h245_g3FacsMH200x100 = -1;          /* BOOLEAN */
1129 static int hf_h245_g3FacsMH200x200 = -1;          /* BOOLEAN */
1130 static int hf_h245_g4FacsMMR200x100 = -1;         /* BOOLEAN */
1131 static int hf_h245_g4FacsMMR200x200 = -1;         /* BOOLEAN */
1132 static int hf_h245_jbig200x200Seq = -1;           /* BOOLEAN */
1133 static int hf_h245_jbig200x200Prog = -1;          /* BOOLEAN */
1134 static int hf_h245_jbig300x300Seq = -1;           /* BOOLEAN */
1135 static int hf_h245_jbig300x300Prog = -1;          /* BOOLEAN */
1136 static int hf_h245_digPhotoLow = -1;              /* BOOLEAN */
1137 static int hf_h245_digPhotoMedSeq = -1;           /* BOOLEAN */
1138 static int hf_h245_digPhotoMedProg = -1;          /* BOOLEAN */
1139 static int hf_h245_digPhotoHighSeq = -1;          /* BOOLEAN */
1140 static int hf_h245_digPhotoHighProg = -1;         /* BOOLEAN */
1141 static int hf_h245_fillBitRemoval = -1;           /* BOOLEAN */
1142 static int hf_h245_transcodingJBIG = -1;          /* BOOLEAN */
1143 static int hf_h245_transcodingMMR = -1;           /* BOOLEAN */
1144 static int hf_h245_version = -1;                  /* INTEGER_0_255 */
1145 static int hf_h245_t38FaxRateManagement = -1;     /* T38FaxRateManagement */
1146 static int hf_h245_t38FaxUdpOptions = -1;         /* T38FaxUdpOptions */
1147 static int hf_h245_t38FaxTcpOptions = -1;         /* T38FaxTcpOptions */
1148 static int hf_h245_localTCF = -1;                 /* NULL */
1149 static int hf_h245_transferredTCF = -1;           /* NULL */
1150 static int hf_h245_t38FaxMaxBuffer = -1;          /* INTEGER */
1151 static int hf_h245_t38FaxMaxDatagram = -1;        /* INTEGER */
1152 static int hf_h245_t38FaxUdpEC = -1;              /* T_t38FaxUdpEC */
1153 static int hf_h245_t38UDPFEC = -1;                /* NULL */
1154 static int hf_h245_t38UDPRedundancy = -1;         /* NULL */
1155 static int hf_h245_t38TCPBidirectionalMode = -1;  /* BOOLEAN */
1156 static int hf_h245_encryptionCapability = -1;     /* EncryptionCapability */
1157 static int hf_h245_authenticationCapability = -1;  /* AuthenticationCapability */
1158 static int hf_h245_integrityCapability = -1;      /* IntegrityCapability */
1159 static int hf_h245_genericH235SecurityCapability = -1;  /* GenericCapability */
1160 static int hf_h245_EncryptionCapability_item = -1;  /* MediaEncryptionAlgorithm */
1161 static int hf_h245_algorithm = -1;                /* OBJECT_IDENTIFIER */
1162 static int hf_h245_antiSpamAlgorithm = -1;        /* OBJECT_IDENTIFIER */
1163 static int hf_h245_ui_nonStandard = -1;           /* SEQUENCE_SIZE_1_16_OF_NonStandardParameter */
1164 static int hf_h245_ui_nonStandard_item = -1;      /* NonStandardParameter */
1165 static int hf_h245_basicString = -1;              /* NULL */
1166 static int hf_h245_iA5String = -1;                /* NULL */
1167 static int hf_h245_generalString = -1;            /* NULL */
1168 static int hf_h245_dtmf = -1;                     /* NULL */
1169 static int hf_h245_hookflash = -1;                /* NULL */
1170 static int hf_h245_extendedAlphanumericFlag = -1;  /* NULL */
1171 static int hf_h245_encryptedBasicString = -1;     /* NULL */
1172 static int hf_h245_encryptedIA5String = -1;       /* NULL */
1173 static int hf_h245_encryptedGeneralString = -1;   /* NULL */
1174 static int hf_h245_secureDTMF = -1;               /* NULL */
1175 static int hf_h245_genericUserInputCapability = -1;  /* GenericCapability */
1176 static int hf_h245_nonStandardParams = -1;        /* SEQUENCE_OF_NonStandardParameter */
1177 static int hf_h245_nonStandardParams_item = -1;   /* NonStandardParameter */
1178 static int hf_h245_chairControlCapability = -1;   /* BOOLEAN */
1179 static int hf_h245_videoIndicateMixingCapability = -1;  /* BOOLEAN */
1180 static int hf_h245_multipointVisualizationCapability = -1;  /* BOOLEAN */
1181 static int hf_h245_capabilityIdentifier = -1;     /* CapabilityIdentifier */
1182 static int hf_h245_collapsing = -1;               /* T_collapsing */
1183 static int hf_h245_collapsing_item = -1;          /* T_collapsing_item */
1184 static int hf_h245_nonCollapsing = -1;            /* T_nonCollapsing */
1185 static int hf_h245_nonCollapsing_item = -1;       /* T_nonCollapsing_item */
1186 static int hf_h245_nonCollapsingRaw = -1;         /* T_nonCollapsingRaw */
1187 static int hf_h245_transport = -1;                /* DataProtocolCapability */
1188 static int hf_h245_standardOid = -1;              /* T_standardOid */
1189 static int hf_h245_h221NonStandard = -1;          /* NonStandardParameter */
1190 static int hf_h245_uuid = -1;                     /* OCTET_STRING_SIZE_16 */
1191 static int hf_h245_domainBased = -1;              /* IA5String_SIZE_1_64 */
1192 static int hf_h245_parameterIdentifier = -1;      /* ParameterIdentifier */
1193 static int hf_h245_parameterValue = -1;           /* ParameterValue */
1194 static int hf_h245_supersedes = -1;               /* SEQUENCE_OF_ParameterIdentifier */
1195 static int hf_h245_supersedes_item = -1;          /* ParameterIdentifier */
1196 static int hf_h245_standard = -1;                 /* T_standard */
1197 static int hf_h245_logical = -1;                  /* NULL */
1198 static int hf_h245_booleanArray = -1;             /* T_booleanArray */
1199 static int hf_h245_unsignedMin = -1;              /* T_unsignedMin */
1200 static int hf_h245_unsignedMax = -1;              /* T_unsignedMax */
1201 static int hf_h245_unsigned32Min = -1;            /* T_unsigned32Min */
1202 static int hf_h245_unsigned32Max = -1;            /* T_unsigned32Max */
1203 static int hf_h245_octetString = -1;              /* T_octetString */
1204 static int hf_h245_genericParameters = -1;        /* SEQUENCE_OF_GenericParameter */
1205 static int hf_h245_genericParameters_item = -1;   /* GenericParameter */
1206 static int hf_h245_multiplexFormat = -1;          /* MultiplexFormat */
1207 static int hf_h245_controlOnMuxStream = -1;       /* BOOLEAN */
1208 static int hf_h245_capabilityOnMuxStream = -1;    /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1209 static int hf_h245_capabilityOnMuxStream_item = -1;  /* AlternativeCapabilitySet */
1210 static int hf_h245_dynamicRTPPayloadType = -1;    /* INTEGER_96_127 */
1211 static int hf_h245_audioTelephoneEvent = -1;      /* GeneralString */
1212 static int hf_h245_capabilities = -1;             /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1213 static int hf_h245_capabilities_item = -1;        /* AlternativeCapabilitySet */
1214 static int hf_h245_fecc_rfc2733 = -1;             /* FECC_rfc2733 */
1215 static int hf_h245_redundancyEncodingBool = -1;   /* BOOLEAN */
1216 static int hf_h245_separateStreamBool = -1;       /* T_separateStreamBool */
1217 static int hf_h245_separatePort = -1;             /* BOOLEAN */
1218 static int hf_h245_samePortBool = -1;             /* BOOLEAN */
1219 static int hf_h245_protectedCapability = -1;      /* CapabilityTableEntryNumber */
1220 static int hf_h245_fecScheme = -1;                /* OBJECT_IDENTIFIER */
1221 static int hf_h245_rfc2733rfc2198 = -1;           /* MaxRedundancy */
1222 static int hf_h245_rfc2733sameport = -1;          /* MaxRedundancy */
1223 static int hf_h245_rfc2733diffport = -1;          /* MaxRedundancy */
1224 static int hf_h245_rfc2733Format = -1;            /* Rfc2733Format */
1225 static int hf_h245_olc_fw_lcn = -1;               /* OLC_fw_lcn */
1226 static int hf_h245_forwardLogicalChannelParameters = -1;  /* T_forwardLogicalChannelParameters */
1227 static int hf_h245_portNumber = -1;               /* INTEGER_0_65535 */
1228 static int hf_h245_dataType = -1;                 /* DataType */
1229 static int hf_h245_olc_forw_multiplexParameters = -1;  /* OLC_forw_multiplexParameters */
1230 static int hf_h245_h222LogicalChannelParameters = -1;  /* H222LogicalChannelParameters */
1231 static int hf_h245_olc_fw_h223_params = -1;       /* OLC_fw_h223_params */
1232 static int hf_h245_v76LogicalChannelParameters = -1;  /* V76LogicalChannelParameters */
1233 static int hf_h245_h2250LogicalChannelParameters = -1;  /* H2250LogicalChannelParameters */
1234 static int hf_h245_forwardLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1235 static int hf_h245_replacementFor = -1;           /* LogicalChannelNumber */
1236 static int hf_h245_reverseLogicalChannelParameters = -1;  /* OLC_reverseLogicalChannelParameters */
1237 static int hf_h245_olc_rev_multiplexParameter = -1;  /* OLC_rev_multiplexParameters */
1238 static int hf_h245_olc_rev_h223_params = -1;      /* OLC_rev_h223_params */
1239 static int hf_h245_reverseLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1240 static int hf_h245_separateStack = -1;            /* NetworkAccessParameters */
1241 static int hf_h245_encryptionSync = -1;           /* EncryptionSync */
1242 static int hf_h245_distribution = -1;             /* T_distribution */
1243 static int hf_h245_unicast = -1;                  /* NULL */
1244 static int hf_h245_multicast = -1;                /* NULL */
1245 static int hf_h245_networkAddress = -1;           /* T_networkAddress */
1246 static int hf_h245_q2931Address = -1;             /* Q2931Address */
1247 static int hf_h245_e164Address = -1;              /* T_e164Address */
1248 static int hf_h245_localAreaAddress = -1;         /* TransportAddress */
1249 static int hf_h245_associateConference = -1;      /* BOOLEAN */
1250 static int hf_h245_externalReference = -1;        /* OCTET_STRING_SIZE_1_255 */
1251 static int hf_h245_t120SetupProcedure = -1;       /* T_t120SetupProcedure */
1252 static int hf_h245_originateCall = -1;            /* NULL */
1253 static int hf_h245_waitForCall = -1;              /* NULL */
1254 static int hf_h245_issueQuery = -1;               /* NULL */
1255 static int hf_h245_address = -1;                  /* T_address */
1256 static int hf_h245_internationalNumber = -1;      /* NumericString_SIZE_1_16 */
1257 static int hf_h245_nsapAddress = -1;              /* OCTET_STRING_SIZE_1_20 */
1258 static int hf_h245_subaddress = -1;               /* OCTET_STRING_SIZE_1_20 */
1259 static int hf_h245_audioHeaderPresent = -1;       /* BOOLEAN */
1260 static int hf_h245_nullData = -1;                 /* NULL */
1261 static int hf_h245_videoData = -1;                /* VideoCapability */
1262 static int hf_h245_audioData = -1;                /* AudioCapability */
1263 static int hf_h245_data = -1;                     /* DataApplicationCapability */
1264 static int hf_h245_encryptionData = -1;           /* EncryptionMode */
1265 static int hf_h245_h235Control = -1;              /* NonStandardParameter */
1266 static int hf_h245_h235Media = -1;                /* H235Media */
1267 static int hf_h245_multiplexedStream = -1;        /* MultiplexedStreamParameter */
1268 static int hf_h245_redundancyEncoding = -1;       /* RedundancyEncoding */
1269 static int hf_h245_multiplePayloadStream = -1;    /* MultiplePayloadStream */
1270 static int hf_h245_depFec = -1;                   /* DepFECData */
1271 static int hf_h245_fec = -1;                      /* FECData */
1272 static int hf_h245_mediaType = -1;                /* T_mediaType */
1273 static int hf_h245_resourceID = -1;               /* INTEGER_0_65535 */
1274 static int hf_h245_subChannelID = -1;             /* INTEGER_0_8191 */
1275 static int hf_h245_pcr_pid = -1;                  /* INTEGER_0_8191 */
1276 static int hf_h245_programDescriptors = -1;       /* OCTET_STRING */
1277 static int hf_h245_streamDescriptors = -1;        /* OCTET_STRING */
1278 static int hf_h245_adaptationLayerType = -1;      /* T_adaptationLayerType */
1279 static int hf_h245_h223_al_type_al1Framed = -1;   /* T_h223_al_type_al1Framed */
1280 static int hf_h245_h223_al_type_al1NotFramed = -1;  /* T_h223_al_type_al1NotFramed */
1281 static int hf_h245_h223_al_type_al2WithoutSequenceNumbers = -1;  /* T_h223_al_type_al2WithoutSequenceNumbers */
1282 static int hf_h245_h223_al_type_al2WithSequenceNumbers = -1;  /* T_h223_al_type_al2WithSequenceNumbers */
1283 static int hf_h245_controlFieldOctets = -1;       /* T_controlFieldOctets */
1284 static int hf_h245_al3_sendBufferSize = -1;       /* T_al3_sendBufferSize */
1285 static int hf_h245_h223_al_type_al3 = -1;         /* T_h223_al_type_al3 */
1286 static int hf_h245_h223_al_type_al1M = -1;        /* T_h223_al_type_al1M */
1287 static int hf_h245_h223_al_type_al2M = -1;        /* T_h223_al_type_al2M */
1288 static int hf_h245_h223_al_type_al3M = -1;        /* T_h223_al_type_al3M */
1289 static int hf_h245_h223_lc_segmentableFlag = -1;  /* T_h223_lc_segmentableFlag */
1290 static int hf_h245_transferMode = -1;             /* T_transferMode */
1291 static int hf_h245_framed = -1;                   /* NULL */
1292 static int hf_h245_unframed = -1;                 /* NULL */
1293 static int hf_h245_aL1HeaderFEC = -1;             /* AL1HeaderFEC */
1294 static int hf_h245_sebch16_7 = -1;                /* NULL */
1295 static int hf_h245_golay24_12 = -1;               /* NULL */
1296 static int hf_h245_crcLength2 = -1;               /* AL1CrcLength */
1297 static int hf_h245_crc4bit = -1;                  /* NULL */
1298 static int hf_h245_crc12bit = -1;                 /* NULL */
1299 static int hf_h245_crc20bit = -1;                 /* NULL */
1300 static int hf_h245_crc28bit = -1;                 /* NULL */
1301 static int hf_h245_crc8bit = -1;                  /* NULL */
1302 static int hf_h245_crc16bit = -1;                 /* NULL */
1303 static int hf_h245_crc32bit = -1;                 /* NULL */
1304 static int hf_h245_crcNotUsed = -1;               /* NULL */
1305 static int hf_h245_rcpcCodeRate = -1;             /* INTEGER_8_32 */
1306 static int hf_h245_noArq = -1;                    /* NULL */
1307 static int hf_h245_typeIArq = -1;                 /* H223AnnexCArqParameters */
1308 static int hf_h245_typeIIArq = -1;                /* H223AnnexCArqParameters */
1309 static int hf_h245_arqType = -1;                  /* ArqType */
1310 static int hf_h245_alsduSplitting = -1;           /* BOOLEAN */
1311 static int hf_h245_rsCodeCorrection = -1;         /* INTEGER_0_127 */
1312 static int hf_h245_aL2HeaderFEC = -1;             /* AL2HeaderFEC */
1313 static int hf_h245_sebch16_5 = -1;                /* NULL */
1314 static int hf_h245_headerFormat = -1;             /* T_headerFormat */
1315 static int hf_h245_crlength2 = -1;                /* AL3CrcLength */
1316 static int hf_h245_numberOfRetransmissions = -1;  /* T_numberOfRetransmissions */
1317 static int hf_h245_finite = -1;                   /* INTEGER_0_16 */
1318 static int hf_h245_infinite = -1;                 /* NULL */
1319 static int hf_h245_sendBufferSize = -1;           /* INTEGER_0_16777215 */
1320 static int hf_h245_hdlcParameters = -1;           /* V76HDLCParameters */
1321 static int hf_h245_suspendResume = -1;            /* T_suspendResume */
1322 static int hf_h245_noSuspendResume = -1;          /* NULL */
1323 static int hf_h245_suspendResumewAddress = -1;    /* NULL */
1324 static int hf_h245_suspendResumewoAddress = -1;   /* NULL */
1325 static int hf_h245_uIH = -1;                      /* BOOLEAN */
1326 static int hf_h245_v76_mode = -1;                 /* V76LCP_mode */
1327 static int hf_h245_eRM = -1;                      /* T_eRM */
1328 static int hf_h245_windowSize = -1;               /* INTEGER_1_127 */
1329 static int hf_h245_recovery = -1;                 /* T_recovery */
1330 static int hf_h245_rej = -1;                      /* NULL */
1331 static int hf_h245_sREJ = -1;                     /* NULL */
1332 static int hf_h245_mSREJ = -1;                    /* NULL */
1333 static int hf_h245_uNERM = -1;                    /* NULL */
1334 static int hf_h245_v75Parameters = -1;            /* V75Parameters */
1335 static int hf_h245_crcLength = -1;                /* CRCLength */
1336 static int hf_h245_n401 = -1;                     /* INTEGER_1_4095 */
1337 static int hf_h245_loopbackTestProcedure = -1;    /* BOOLEAN */
1338 static int hf_h245_sessionID_0_255 = -1;          /* INTEGER_0_255 */
1339 static int hf_h245_associatedSessionID = -1;      /* INTEGER_1_255 */
1340 static int hf_h245_mediaChannel = -1;             /* T_mediaChannel */
1341 static int hf_h245_mediaGuaranteedDelivery = -1;  /* BOOLEAN */
1342 static int hf_h245_mediaControlChannel = -1;      /* T_mediaControlChannel */
1343 static int hf_h245_mediaControlGuaranteedDelivery = -1;  /* BOOLEAN */
1344 static int hf_h245_destination = -1;              /* TerminalLabel */
1345 static int hf_h245_mediaPacketization = -1;       /* T_mediaPacketization */
1346 static int hf_h245_h261aVideoPacketizationFlag = -1;  /* NULL */
1347 static int hf_h245_rtpPayloadType = -1;           /* RTPPayloadType */
1348 static int hf_h245_source = -1;                   /* TerminalLabel */
1349 static int hf_h245_payloadDescriptor = -1;        /* T_payloadDescriptor */
1350 static int hf_h245_rfc_number = -1;               /* T_rfc_number */
1351 static int hf_h245_oid = -1;                      /* OBJECT_IDENTIFIER */
1352 static int hf_h245_rtpPayloadType_01 = -1;        /* T_rtpPayloadType */
1353 static int hf_h245_secondaryEncoding = -1;        /* DataType */
1354 static int hf_h245_rtpRedundancyEncoding = -1;    /* T_rtpRedundancyEncoding */
1355 static int hf_h245_primary = -1;                  /* RedundancyEncodingElement */
1356 static int hf_h245_secondary = -1;                /* SEQUENCE_OF_RedundancyEncodingElement */
1357 static int hf_h245_secondary_item = -1;           /* RedundancyEncodingElement */
1358 static int hf_h245_payloadType = -1;              /* INTEGER_0_127 */
1359 static int hf_h245_elements = -1;                 /* SEQUENCE_OF_MultiplePayloadStreamElement */
1360 static int hf_h245_elements_item = -1;            /* MultiplePayloadStreamElement */
1361 static int hf_h245_dep_rfc2733 = -1;              /* RFC2733Data */
1362 static int hf_h245_fec_data_mode = -1;            /* FECdata_mode */
1363 static int hf_h245_redundancyEncodingFlag = -1;   /* NULL */
1364 static int hf_h245_differentPort = -1;            /* T_differentPort */
1365 static int hf_h245_protectedSessionID = -1;       /* INTEGER_1_255 */
1366 static int hf_h245_protectedPayloadType = -1;     /* INTEGER_0_127 */
1367 static int hf_h245_samePort = -1;                 /* T_samePort */
1368 static int hf_h245_separateStream = -1;           /* DepSeparateStream */
1369 static int hf_h245_rfc2733 = -1;                  /* T_rfc2733 */
1370 static int hf_h245_pktMode = -1;                  /* T_pktMode */
1371 static int hf_h245_rfc2198coding = -1;            /* NULL */
1372 static int hf_h245_mode_rfc2733sameport = -1;     /* T_mode_rfc2733sameport */
1373 static int hf_h245_mode_rfc2733diffport = -1;     /* T_mode_rfc2733diffport */
1374 static int hf_h245_protectedChannel = -1;         /* LogicalChannelNumber */
1375 static int hf_h245_unicastAddress = -1;           /* UnicastAddress */
1376 static int hf_h245_multicastAddress = -1;         /* MulticastAddress */
1377 static int hf_h245_iPAddress = -1;                /* T_iPAddress */
1378 static int hf_h245_ip4_network = -1;              /* Ipv4_network */
1379 static int hf_h245_tsapIdentifier = -1;           /* TsapIdentifier */
1380 static int hf_h245_iPXAddress = -1;               /* T_iPXAddress */
1381 static int hf_h245_node = -1;                     /* OCTET_STRING_SIZE_6 */
1382 static int hf_h245_netnum = -1;                   /* OCTET_STRING_SIZE_4 */
1383 static int hf_h245_ipx_tsapIdentifier = -1;       /* OCTET_STRING_SIZE_2 */
1384 static int hf_h245_iP6Address = -1;               /* T_iP6Address */
1385 static int hf_h245_ip6_network = -1;              /* T_ip6_network */
1386 static int hf_h245_ipv6_tsapIdentifier = -1;      /* T_ipv6_tsapIdentifier */
1387 static int hf_h245_netBios = -1;                  /* OCTET_STRING_SIZE_16 */
1388 static int hf_h245_iPSourceRouteAddress = -1;     /* T_iPSourceRouteAddress */
1389 static int hf_h245_routing = -1;                  /* T_routing */
1390 static int hf_h245_strict = -1;                   /* NULL */
1391 static int hf_h245_loose = -1;                    /* NULL */
1392 static int hf_h245_network = -1;                  /* OCTET_STRING_SIZE_4 */
1393 static int hf_h245_iPSrcRoute_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1394 static int hf_h245_route = -1;                    /* T_route */
1395 static int hf_h245_route_item = -1;               /* OCTET_STRING_SIZE_4 */
1396 static int hf_h245_nsap = -1;                     /* OCTET_STRING_SIZE_1_20 */
1397 static int hf_h245_nonStandardAddress = -1;       /* NonStandardParameter */
1398 static int hf_h245_mIPAddress = -1;               /* MIPAddress */
1399 static int hf_h245_mip4_network = -1;             /* OCTET_STRING_SIZE_4 */
1400 static int hf_h245_multicast_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1401 static int hf_h245_mIP6Address = -1;              /* MIP6Address */
1402 static int hf_h245_mip6_network = -1;             /* OCTET_STRING_SIZE_16 */
1403 static int hf_h245_multicast_IPv6_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1404 static int hf_h245_synchFlag = -1;                /* INTEGER_0_255 */
1405 static int hf_h245_h235Key = -1;                  /* OCTET_STRING_SIZE_1_65535 */
1406 static int hf_h245_escrowentry = -1;              /* SEQUENCE_SIZE_1_256_OF_EscrowData */
1407 static int hf_h245_escrowentry_item = -1;         /* EscrowData */
1408 static int hf_h245_genericParameter = -1;         /* GenericParameter */
1409 static int hf_h245_escrowID = -1;                 /* OBJECT_IDENTIFIER */
1410 static int hf_h245_escrowValue = -1;              /* BIT_STRING_SIZE_1_65535 */
1411 static int hf_h245_olc_ack_fw_lcn = -1;           /* OLC_ack_fw_lcn */
1412 static int hf_h245_olc_ack_reverseLogicalChannelParameters = -1;  /* OLC_ack_reverseLogicalChannelParameters */
1413 static int hf_h245_reverseLogicalChannelNumber = -1;  /* T_reverseLogicalChannelNumber */
1414 static int hf_h245_olc_ack_multiplexParameters = -1;  /* T_olc_ack_multiplexParameters */
1415 static int hf_h245_forwardMultiplexAckParameters = -1;  /* T_forwardMultiplexAckParameters */
1416 static int hf_h245_h2250LogicalChannelAckParameters = -1;  /* H2250LogicalChannelAckParameters */
1417 static int hf_h245_forwardLogicalChannelNumber = -1;  /* LogicalChannelNumber */
1418 static int hf_h245_olc_rej_cause = -1;            /* OpenLogicalChannelRejectCause */
1419 static int hf_h245_unsuitableReverseParameters = -1;  /* NULL */
1420 static int hf_h245_dataTypeNotSupported = -1;     /* NULL */
1421 static int hf_h245_dataTypeNotAvailable = -1;     /* NULL */
1422 static int hf_h245_unknownDataType = -1;          /* NULL */
1423 static int hf_h245_dataTypeALCombinationNotSupported = -1;  /* NULL */
1424 static int hf_h245_multicastChannelNotAllowed = -1;  /* NULL */
1425 static int hf_h245_insufficientBandwidth = -1;    /* NULL */
1426 static int hf_h245_separateStackEstablishmentFailed = -1;  /* NULL */
1427 static int hf_h245_invalidSessionID = -1;         /* NULL */
1428 static int hf_h245_masterSlaveConflict = -1;      /* NULL */
1429 static int hf_h245_waitForCommunicationMode = -1;  /* NULL */
1430 static int hf_h245_invalidDependentChannel = -1;  /* NULL */
1431 static int hf_h245_replacementForRejected = -1;   /* NULL */
1432 static int hf_h245_securityDenied = -1;           /* NULL */
1433 static int hf_h245_qoSControlNotSupported = -1;   /* NULL */
1434 static int hf_h245_sessionID = -1;                /* INTEGER_1_255 */
1435 static int hf_h245_ack_mediaChannel = -1;         /* Ack_mediaChannel */
1436 static int hf_h245_ack_mediaControlChannel = -1;  /* Ack_mediaControlChannel */
1437 static int hf_h245_flowControlToZero = -1;        /* BOOLEAN */
1438 static int hf_h245_cLC_source = -1;               /* T_cLC_source */
1439 static int hf_h245_user = -1;                     /* NULL */
1440 static int hf_h245_lcse = -1;                     /* NULL */
1441 static int hf_h245_clc_reason = -1;               /* Clc_reason */
1442 static int hf_h245_unknown = -1;                  /* NULL */
1443 static int hf_h245_reopen = -1;                   /* NULL */
1444 static int hf_h245_reservationFailure = -1;       /* NULL */
1445 static int hf_h245_networkErrorCode = -1;         /* INTEGER_0_255 */
1446 static int hf_h245_qosCapability = -1;            /* QOSCapability */
1447 static int hf_h245_reason = -1;                   /* T_reason */
1448 static int hf_h245_normal = -1;                   /* NULL */
1449 static int hf_h245_req_chan_clos_rej_cause = -1;  /* RequestChannelCloseRejectCause */
1450 static int hf_h245_multiplexEntryDescriptors = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryDescriptor */
1451 static int hf_h245_multiplexEntryDescriptors_item = -1;  /* MultiplexEntryDescriptor */
1452 static int hf_h245_multiplexTableEntryNumber = -1;  /* MultiplexTableEntryNumber */
1453 static int hf_h245_elementList = -1;              /* T_elementList */
1454 static int hf_h245_elementList_item = -1;         /* MultiplexElement */
1455 static int hf_h245_me_type = -1;                  /* Me_type */
1456 static int hf_h245_logicalChannelNum = -1;        /* T_logicalChannelNum */
1457 static int hf_h245_subElementList = -1;           /* T_subElementList */
1458 static int hf_h245_subElementList_item = -1;      /* MultiplexElement */
1459 static int hf_h245_me_repeatCount = -1;           /* ME_repeatCount */
1460 static int hf_h245_me_repeatCount_finite = -1;    /* ME_finiteRepeatCount */
1461 static int hf_h245_untilClosingFlag = -1;         /* T_untilClosingFlag */
1462 static int hf_h245_multiplexTableEntryNumbers = -1;  /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1463 static int hf_h245_multiplexTableEntryNumbers_item = -1;  /* MultiplexTableEntryNumber */
1464 static int hf_h245_sendRejectionDescriptions = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions */
1465 static int hf_h245_sendRejectionDescriptions_item = -1;  /* MultiplexEntryRejectionDescriptions */
1466 static int hf_h245_mux_rej_cause = -1;            /* MultiplexEntryRejectionDescriptionsCause */
1467 static int hf_h245_unspecifiedCause = -1;         /* NULL */
1468 static int hf_h245_descriptorTooComplex = -1;     /* NULL */
1469 static int hf_h245_entryNumbers = -1;             /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1470 static int hf_h245_entryNumbers_item = -1;        /* MultiplexTableEntryNumber */
1471 static int hf_h245_rejectionDescriptions = -1;    /* SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions */
1472 static int hf_h245_rejectionDescriptions_item = -1;  /* RequestMultiplexEntryRejectionDescriptions */
1473 static int hf_h245_req_mux_rej_cause = -1;        /* RequestMultiplexEntryRejectionDescriptionsCause */
1474 static int hf_h245_requestedModes = -1;           /* SEQUENCE_SIZE_1_256_OF_ModeDescription */
1475 static int hf_h245_requestedModes_item = -1;      /* ModeDescription */
1476 static int hf_h245_req_mode_ack_response = -1;    /* Req_mode_ack_response */
1477 static int hf_h245_willTransmitMostPreferredMode = -1;  /* NULL */
1478 static int hf_h245_willTransmitLessPreferredMode = -1;  /* NULL */
1479 static int hf_h245_req_rej_cause = -1;            /* RequestModeRejectCause */
1480 static int hf_h245_modeUnavailable = -1;          /* NULL */
1481 static int hf_h245_multipointConstraint = -1;     /* NULL */
1482 static int hf_h245_requestDenied = -1;            /* NULL */
1483 static int hf_h245_ModeDescription_item = -1;     /* ModeElement */
1484 static int hf_h245_videoMode = -1;                /* VideoMode */
1485 static int hf_h245_audioMode = -1;                /* AudioMode */
1486 static int hf_h245_dataMode = -1;                 /* DataMode */
1487 static int hf_h245_encryptionMode = -1;           /* EncryptionMode */
1488 static int hf_h245_h235Mode = -1;                 /* H235Mode */
1489 static int hf_h245_multiplexedStreamMode = -1;    /* MultiplexedStreamParameter */
1490 static int hf_h245_redundancyEncodingDTMode = -1;  /* RedundancyEncodingDTMode */
1491 static int hf_h245_multiplePayloadStreamMode = -1;  /* MultiplePayloadStreamMode */
1492 static int hf_h245_depFecMode = -1;               /* DepFECMode */
1493 static int hf_h245_fecMode = -1;                  /* FECMode */
1494 static int hf_h245_type = -1;                     /* ModeElementType */
1495 static int hf_h245_h223ModeParameters = -1;       /* H223ModeParameters */
1496 static int hf_h245_v76ModeParameters = -1;        /* V76ModeParameters */
1497 static int hf_h245_h2250ModeParameters = -1;      /* H2250ModeParameters */
1498 static int hf_h245_genericModeParameters = -1;    /* GenericCapability */
1499 static int hf_h245_multiplexedStreamModeParameters = -1;  /* MultiplexedStreamModeParameters */
1500 static int hf_h245_logicalChannelNumber = -1;     /* LogicalChannelNumber */
1501 static int hf_h245_mediaMode = -1;                /* T_mediaMode */
1502 static int hf_h245_prmary_dtmode = -1;            /* RedundancyEncodingDTModeElement */
1503 static int hf_h245_secondaryDTM = -1;             /* SEQUENCE_OF_RedundancyEncodingDTModeElement */
1504 static int hf_h245_secondaryDTM_item = -1;        /* RedundancyEncodingDTModeElement */
1505 static int hf_h245_re_type = -1;                  /* Re_type */
1506 static int hf_h245_mpsmElements = -1;             /* SEQUENCE_OF_MultiplePayloadStreamElementMode */
1507 static int hf_h245_mpsmElements_item = -1;        /* MultiplePayloadStreamElementMode */
1508 static int hf_h245_rfc2733Mode = -1;              /* T_rfc2733Mode */
1509 static int hf_h245_fec_mode = -1;                 /* FEC_mode */
1510 static int hf_h245_protectedElement = -1;         /* ModeElementType */
1511 static int hf_h245_adaptationLayer = -1;          /* AdaptationLayerType */
1512 static int hf_h245_al1Framed = -1;                /* NULL */
1513 static int hf_h245_al1NotFramed = -1;             /* NULL */
1514 static int hf_h245_al2WithoutSequenceNumbers = -1;  /* NULL */
1515 static int hf_h245_al2WithSequenceNumbers = -1;   /* NULL */
1516 static int hf_h245_al3 = -1;                      /* Al3 */
1517 static int hf_h245_al1M = -1;                     /* H223AL1MParameters */
1518 static int hf_h245_al2M = -1;                     /* H223AL2MParameters */
1519 static int hf_h245_al3M = -1;                     /* H223AL3MParameters */
1520 static int hf_h245_segmentableFlag = -1;          /* BOOLEAN */
1521 static int hf_h245_redundancyEncodingMode = -1;   /* RedundancyEncodingMode */
1522 static int hf_h245_secondaryEncodingMode = -1;    /* T_secondaryEncodingMode */
1523 static int hf_h245_h261VideoMode = -1;            /* H261VideoMode */
1524 static int hf_h245_h262VideoMode = -1;            /* H262VideoMode */
1525 static int hf_h245_h263VideoMode = -1;            /* H263VideoMode */
1526 static int hf_h245_is11172VideoMode = -1;         /* IS11172VideoMode */
1527 static int hf_h245_genericVideoMode = -1;         /* GenericCapability */
1528 static int hf_h245_h261_resolution = -1;          /* H261Resolution */
1529 static int hf_h245_qcif = -1;                     /* NULL */
1530 static int hf_h245_cif = -1;                      /* NULL */
1531 static int hf_h245_profileAndLevel = -1;          /* T_profileAndLevel */
1532 static int hf_h245_profileAndLevel_SPatMLMode = -1;  /* NULL */
1533 static int hf_h245_profileAndLevel_MPatLLMode = -1;  /* NULL */
1534 static int hf_h245_profileAndLevel_MPatMLMode = -1;  /* NULL */
1535 static int hf_h245_profileAndLevel_MPatH_14Mode = -1;  /* NULL */
1536 static int hf_h245_profileAndLevel_MPatHLMode = -1;  /* NULL */
1537 static int hf_h245_profileAndLevel_SNRatLLMode = -1;  /* NULL */
1538 static int hf_h245_profileAndLevel_SNRatMLMode = -1;  /* NULL */
1539 static int hf_h245_profileAndLevel_SpatialatH_14Mode = -1;  /* NULL */
1540 static int hf_h245_profileAndLevel_HPatMLMode = -1;  /* NULL */
1541 static int hf_h245_profileAndLevel_HPatH_14Mode = -1;  /* NULL */
1542 static int hf_h245_profileAndLevel_HPatHLMode = -1;  /* NULL */
1543 static int hf_h245_h263_resolution = -1;          /* H263Resolution */
1544 static int hf_h245_sqcif = -1;                    /* NULL */
1545 static int hf_h245_cif4 = -1;                     /* NULL */
1546 static int hf_h245_cif16 = -1;                    /* NULL */
1547 static int hf_h245_custom_res = -1;               /* NULL */
1548 static int hf_h245_g711Alaw64k_mode = -1;         /* NULL */
1549 static int hf_h245_g711Alaw56k_mode = -1;         /* NULL */
1550 static int hf_h245_g711Ulaw64k_mode = -1;         /* NULL */
1551 static int hf_h245_g711Ulaw56k_mode = -1;         /* NULL */
1552 static int hf_h245_g722_64k_mode = -1;            /* NULL */
1553 static int hf_h245_g722_56k_mode = -1;            /* NULL */
1554 static int hf_h245_g722_48k_mode = -1;            /* NULL */
1555 static int hf_h245_g728_mode = -1;                /* NULL */
1556 static int hf_h245_g729_mode = -1;                /* NULL */
1557 static int hf_h245_g729AnnexA_mode = -1;          /* NULL */
1558 static int hf_h245_g7231_mode = -1;               /* Mode_g7231 */
1559 static int hf_h245_noSilenceSuppressionLowRate = -1;  /* NULL */
1560 static int hf_h245_noSilenceSuppressionHighRate = -1;  /* NULL */
1561 static int hf_h245_silenceSuppressionLowRate = -1;  /* NULL */
1562 static int hf_h245_silenceSuppressionHighRate = -1;  /* NULL */
1563 static int hf_h245_is11172AudioMode = -1;         /* IS11172AudioMode */
1564 static int hf_h245_is13818AudioMode = -1;         /* IS13818AudioMode */
1565 static int hf_h245_g7231AnnexCMode = -1;          /* G7231AnnexCMode */
1566 static int hf_h245_genericAudioMode = -1;         /* GenericCapability */
1567 static int hf_h245_vbd_mode = -1;                 /* VBDMode */
1568 static int hf_h245_audioLayer = -1;               /* T_audioLayer */
1569 static int hf_h245_audioLayer1Mode = -1;          /* NULL */
1570 static int hf_h245_audioLayer2Mode = -1;          /* NULL */
1571 static int hf_h245_audioLayer3Mode = -1;          /* NULL */
1572 static int hf_h245_audioSampling = -1;            /* T_audioSampling */
1573 static int hf_h245_audioSampling32kMode = -1;     /* NULL */
1574 static int hf_h245_audioSampling44k1Mode = -1;    /* NULL */
1575 static int hf_h245_audioSampling48kMode = -1;     /* NULL */
1576 static int hf_h245_is11172multichannelType = -1;  /* IS11172_multichannelType */
1577 static int hf_h245_singleChannelMode = -1;        /* NULL */
1578 static int hf_h245_twoChannelStereo = -1;         /* NULL */
1579 static int hf_h245_twoChannelDual = -1;           /* NULL */
1580 static int hf_h245_audioLayerMode = -1;           /* IS13818AudioLayer */
1581 static int hf_h245_audioSamplingMode = -1;        /* IS13818AudioSampling */
1582 static int hf_h245_audioSampling16kMode = -1;     /* NULL */
1583 static int hf_h245_audioSampling22k05Mode = -1;   /* NULL */
1584 static int hf_h245_audioSampling24kMode = -1;     /* NULL */
1585 static int hf_h245_is13818MultichannelType = -1;  /* IS13818MultichannelType */
1586 static int hf_h245_threeChannels2_1Mode = -1;     /* NULL */
1587 static int hf_h245_threeChannels3_0Mode = -1;     /* NULL */
1588 static int hf_h245_fourChannels2_0_2_0Mode = -1;  /* NULL */
1589 static int hf_h245_fourChannels2_2Mode = -1;      /* NULL */
1590 static int hf_h245_fourChannels3_1Mode = -1;      /* NULL */
1591 static int hf_h245_fiveChannels3_0_2_0Mode = -1;  /* NULL */
1592 static int hf_h245_fiveChannels3_2Mode = -1;      /* NULL */
1593 static int hf_h245_vbd_type = -1;                 /* AudioMode */
1594 static int hf_h245_datamodeapplication = -1;      /* DataModeApplication */
1595 static int hf_h245_t84DataProtocolCapability = -1;  /* DataProtocolCapability */
1596 static int hf_h245_t38faxDataProtocolCapability = -1;  /* T38faxApp */
1597 static int hf_h245_genericDataMode = -1;          /* GenericCapability */
1598 static int hf_h245_bitRate_0_4294967295 = -1;     /* INTEGER_0_4294967295 */
1599 static int hf_h245_h233Encryption = -1;           /* NULL */
1600 static int hf_h245_mlr_type = -1;                 /* Mlr_type */
1601 static int hf_h245_systemLoop = -1;               /* NULL */
1602 static int hf_h245_mediaLoop = -1;                /* LogicalChannelNumber */
1603 static int hf_h245_logicalChannelLoop = -1;       /* LogicalChannelNumber */
1604 static int hf_h245_mla_type = -1;                 /* Mla_type */
1605 static int hf_h245_mlrej_type = -1;               /* Mlrej_type */
1606 static int hf_h245_maintloop_rej_cause = -1;      /* MaintenanceLoopRejectCause */
1607 static int hf_h245_canNotPerformLoop = -1;        /* NULL */
1608 static int hf_h245_communicationModeTable = -1;   /* SET_SIZE_1_256_OF_CommunicationModeTableEntry */
1609 static int hf_h245_communicationModeTable_item = -1;  /* CommunicationModeTableEntry */
1610 static int hf_h245_terminalLabel = -1;            /* TerminalLabel */
1611 static int hf_h245_sessionDescription = -1;       /* BMPString_SIZE_1_128 */
1612 static int hf_h245_entryDataType = -1;            /* T_entryDataType */
1613 static int hf_h245_cm_mediaChannel = -1;          /* Cm_mediaChannel */
1614 static int hf_h245_cm_mediaControlChannel = -1;   /* TransportAddress */
1615 static int hf_h245_sessionDependency = -1;        /* INTEGER_1_255 */
1616 static int hf_h245_terminalListRequest = -1;      /* NULL */
1617 static int hf_h245_makeMeChair = -1;              /* NULL */
1618 static int hf_h245_cancelMakeMeChair = -1;        /* NULL */
1619 static int hf_h245_dropTerminal = -1;             /* TerminalLabel */
1620 static int hf_h245_requestTerminalID = -1;        /* TerminalLabel */
1621 static int hf_h245_enterH243Password = -1;        /* NULL */
1622 static int hf_h245_enterH243TerminalID = -1;      /* NULL */
1623 static int hf_h245_enterH243ConferenceID = -1;    /* NULL */
1624 static int hf_h245_enterExtensionAddress = -1;    /* NULL */
1625 static int hf_h245_requestChairTokenOwner = -1;   /* NULL */
1626 static int hf_h245_requestTerminalCertificate = -1;  /* T_requestTerminalCertificate */
1627 static int hf_h245_certSelectionCriteria = -1;    /* CertSelectionCriteria */
1628 static int hf_h245_sRandom = -1;                  /* INTEGER_1_4294967295 */
1629 static int hf_h245_broadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1630 static int hf_h245_makeTerminalBroadcaster = -1;  /* TerminalLabel */
1631 static int hf_h245_sendThisSource = -1;           /* TerminalLabel */
1632 static int hf_h245_requestAllTerminalIDs = -1;    /* NULL */
1633 static int hf_h245_remoteMCRequest = -1;          /* RemoteMCRequest */
1634 static int hf_h245_CertSelectionCriteria_item = -1;  /* Criteria */
1635 static int hf_h245_field = -1;                    /* OBJECT_IDENTIFIER */
1636 static int hf_h245_criteriaValue = -1;            /* OCTET_STRING_SIZE_1_65535 */
1637 static int hf_h245_mcuNumber = -1;                /* McuNumber */
1638 static int hf_h245_terminalNumber = -1;           /* TerminalNumber */
1639 static int hf_h245_mCTerminalIDResponse = -1;     /* T_mCTerminalIDResponse */
1640 static int hf_h245_terminalID = -1;               /* TerminalID */
1641 static int hf_h245_terminalIDResponse = -1;       /* T_terminalIDResponse */
1642 static int hf_h245_conferenceIDResponse = -1;     /* T_conferenceIDResponse */
1643 static int hf_h245_conferenceID = -1;             /* ConferenceID */
1644 static int hf_h245_passwordResponse = -1;         /* T_passwordResponse */
1645 static int hf_h245_password = -1;                 /* Password */
1646 static int hf_h245_terminalListResponse = -1;     /* SET_SIZE_1_256_OF_TerminalLabel */
1647 static int hf_h245_terminalListResponse_item = -1;  /* TerminalLabel */
1648 static int hf_h245_videoCommandReject = -1;       /* NULL */
1649 static int hf_h245_terminalDropReject = -1;       /* NULL */
1650 static int hf_h245_makeMeChairResponse = -1;      /* T_makeMeChairResponse */
1651 static int hf_h245_grantedChairToken = -1;        /* NULL */
1652 static int hf_h245_deniedChairToken = -1;         /* NULL */
1653 static int hf_h245_extensionAddressResponse = -1;  /* T_extensionAddressResponse */
1654 static int hf_h245_extensionAddress = -1;         /* TerminalID */
1655 static int hf_h245_chairTokenOwnerResponse = -1;  /* T_chairTokenOwnerResponse */
1656 static int hf_h245_terminalCertificateResponse = -1;  /* T_terminalCertificateResponse */
1657 static int hf_h245_certificateResponse = -1;      /* OCTET_STRING_SIZE_1_65535 */
1658 static int hf_h245_broadcastMyLogicalChannelResponse = -1;  /* T_broadcastMyLogicalChannelResponse */
1659 static int hf_h245_grantedBroadcastMyLogicalChannel = -1;  /* NULL */
1660 static int hf_h245_deniedBroadcastMyLogicalChannel = -1;  /* NULL */
1661 static int hf_h245_makeTerminalBroadcasterResponse = -1;  /* T_makeTerminalBroadcasterResponse */
1662 static int hf_h245_grantedMakeTerminalBroadcaster = -1;  /* NULL */
1663 static int hf_h245_deniedMakeTerminalBroadcaster = -1;  /* NULL */
1664 static int hf_h245_sendThisSourceResponse = -1;   /* T_sendThisSourceResponse */
1665 static int hf_h245_grantedSendThisSource = -1;    /* NULL */
1666 static int hf_h245_deniedSendThisSource = -1;     /* NULL */
1667 static int hf_h245_requestAllTerminalIDsResponse = -1;  /* RequestAllTerminalIDsResponse */
1668 static int hf_h245_remoteMCResponse = -1;         /* RemoteMCResponse */
1669 static int hf_h245_terminalInformation = -1;      /* SEQUENCE_OF_TerminalInformation */
1670 static int hf_h245_terminalInformation_item = -1;  /* TerminalInformation */
1671 static int hf_h245_masterActivate = -1;           /* NULL */
1672 static int hf_h245_slaveActivate = -1;            /* NULL */
1673 static int hf_h245_deActivate = -1;               /* NULL */
1674 static int hf_h245_accept = -1;                   /* NULL */
1675 static int hf_h245_reject = -1;                   /* T_reject */
1676 static int hf_h245_functionNotSupportedFlag = -1;  /* NULL */
1677 static int hf_h245_callInformationReq = -1;       /* CallInformationReq */
1678 static int hf_h245_maxNumberOfAdditionalConnections = -1;  /* INTEGER_1_65535 */
1679 static int hf_h245_addConnectionReq = -1;         /* AddConnectionReq */
1680 static int hf_h245_dialingInformation = -1;       /* DialingInformation */
1681 static int hf_h245_removeConnectionReq = -1;      /* RemoveConnectionReq */
1682 static int hf_h245_connectionIdentifier = -1;     /* ConnectionIdentifier */
1683 static int hf_h245_maximumHeaderIntervalReq = -1;  /* MaximumHeaderIntervalReq */
1684 static int hf_h245_requestType = -1;              /* T_requestType */
1685 static int hf_h245_currentIntervalInformation = -1;  /* NULL */
1686 static int hf_h245_requestedInterval = -1;        /* INTEGER_0_65535 */
1687 static int hf_h245_callInformationResp = -1;      /* CallInformationResp */
1688 static int hf_h245_callAssociationNumber = -1;    /* INTEGER_0_4294967295 */
1689 static int hf_h245_addConnectionResp = -1;        /* AddConnectionResp */
1690 static int hf_h245_responseCode = -1;             /* T_responseCode */
1691 static int hf_h245_accepted = -1;                 /* NULL */
1692 static int hf_h245_rejected = -1;                 /* T_rejected */
1693 static int hf_h245_connectionsNotAvailable = -1;  /* NULL */
1694 static int hf_h245_userRejected = -1;             /* NULL */
1695 static int hf_h245_removeConnectionResp = -1;     /* RemoveConnectionResp */
1696 static int hf_h245_maximumHeaderIntervalResp = -1;  /* MaximumHeaderIntervalResp */
1697 static int hf_h245_currentInterval = -1;          /* INTEGER_0_65535 */
1698 static int hf_h245_crcDesired = -1;               /* T_crcDesired */
1699 static int hf_h245_excessiveError = -1;           /* T_excessiveError */
1700 static int hf_h245_differential = -1;             /* SET_SIZE_1_65535_OF_DialingInformationNumber */
1701 static int hf_h245_differential_item = -1;        /* DialingInformationNumber */
1702 static int hf_h245_infoNotAvailable = -1;         /* INTEGER_1_65535 */
1703 static int hf_h245_networkAddressNum = -1;        /* NumericString_SIZE_0_40 */
1704 static int hf_h245_subAddress = -1;               /* IA5String_SIZE_1_40 */
1705 static int hf_h245_networkType = -1;              /* SET_SIZE_1_255_OF_DialingInformationNetworkType */
1706 static int hf_h245_networkType_item = -1;         /* DialingInformationNetworkType */
1707 static int hf_h245_n_isdn = -1;                   /* NULL */
1708 static int hf_h245_gstn = -1;                     /* NULL */
1709 static int hf_h245_mobile = -1;                   /* NULL */
1710 static int hf_h245_channelTag = -1;               /* INTEGER_0_4294967295 */
1711 static int hf_h245_sequenceNum = -1;              /* INTEGER_0_4294967295 */
1712 static int hf_h245_maximumBitRate = -1;           /* MaximumBitRate */
1713 static int hf_h245_rejectReason = -1;             /* LogicalChannelRateRejectReason */
1714 static int hf_h245_currentMaximumBitRate = -1;    /* MaximumBitRate */
1715 static int hf_h245_undefinedReason = -1;          /* NULL */
1716 static int hf_h245_insufficientResources = -1;    /* NULL */
1717 static int hf_h245_specificRequest = -1;          /* T_specificRequest */
1718 static int hf_h245_multiplexCapabilityBool = -1;  /* BOOLEAN */
1719 static int hf_h245_capabilityTableEntryNumbers = -1;  /* SET_SIZE_1_65535_OF_CapabilityTableEntryNumber */
1720 static int hf_h245_capabilityTableEntryNumbers_item = -1;  /* CapabilityTableEntryNumber */
1721 static int hf_h245_capabilityDescriptorNumbers = -1;  /* SET_SIZE_1_256_OF_CapabilityDescriptorNumber */
1722 static int hf_h245_capabilityDescriptorNumbers_item = -1;  /* CapabilityDescriptorNumber */
1723 static int hf_h245_genericRequestFlag = -1;       /* NULL */
1724 static int hf_h245_encryptionSE = -1;             /* OCTET_STRING */
1725 static int hf_h245_encryptionIVRequest = -1;      /* NULL */
1726 static int hf_h245_encryptionAlgorithmID = -1;    /* T_encryptionAlgorithmID */
1727 static int hf_h245_h233AlgorithmIdentifier = -1;  /* SequenceNumber */
1728 static int hf_h245_associatedAlgorithm = -1;      /* NonStandardParameter */
1729 static int hf_h245_wholeMultiplex = -1;           /* NULL */
1730 static int hf_h245_scope = -1;                    /* Scope */
1731 static int hf_h245_res_maximumBitRate = -1;       /* INTEGER_0_16777215 */
1732 static int hf_h245_noRestriction = -1;            /* NULL */
1733 static int hf_h245_restriction = -1;              /* Restriction */
1734 static int hf_h245_disconnect = -1;               /* NULL */
1735 static int hf_h245_gstnOptions = -1;              /* T_gstnOptions */
1736 static int hf_h245_telephonyMode = -1;            /* NULL */
1737 static int hf_h245_v8bis = -1;                    /* NULL */
1738 static int hf_h245_v34DSVD = -1;                  /* NULL */
1739 static int hf_h245_v34DuplexFAX = -1;             /* NULL */
1740 static int hf_h245_v34H324 = -1;                  /* NULL */
1741 static int hf_h245_isdnOptions = -1;              /* T_isdnOptions */
1742 static int hf_h245_v140 = -1;                     /* NULL */
1743 static int hf_h245_terminalOnHold = -1;           /* NULL */
1744 static int hf_h245_cancelBroadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1745 static int hf_h245_cancelMakeTerminalBroadcaster = -1;  /* NULL */
1746 static int hf_h245_cancelSendThisSource = -1;     /* NULL */
1747 static int hf_h245_dropConference = -1;           /* NULL */
1748 static int hf_h245_substituteConferenceIDCommand = -1;  /* SubstituteConferenceIDCommand */
1749 static int hf_h245_conferenceIdentifier = -1;     /* OCTET_STRING_SIZE_16 */
1750 static int hf_h245_masterToSlave = -1;            /* NULL */
1751 static int hf_h245_slaveToMaster = -1;            /* NULL */
1752 static int hf_h245_mc_type = -1;                  /* Mc_type */
1753 static int hf_h245_equaliseDelay = -1;            /* NULL */
1754 static int hf_h245_zeroDelay = -1;                /* NULL */
1755 static int hf_h245_multipointModeCommand = -1;    /* NULL */
1756 static int hf_h245_cancelMultipointModeCommand = -1;  /* NULL */
1757 static int hf_h245_videoFreezePicture = -1;       /* NULL */
1758 static int hf_h245_videoFastUpdatePicture = -1;   /* NULL */
1759 static int hf_h245_videoFastUpdateGOB = -1;       /* T_videoFastUpdateGOB */
1760 static int hf_h245_firstGOB = -1;                 /* INTEGER_0_17 */
1761 static int hf_h245_numberOfGOBs = -1;             /* INTEGER_1_18 */
1762 static int hf_h245_videoTemporalSpatialTradeOff = -1;  /* INTEGER_0_31 */
1763 static int hf_h245_videoSendSyncEveryGOB = -1;    /* NULL */
1764 static int hf_h245_videoSendSyncEveryGOBCancel = -1;  /* NULL */
1765 static int hf_h245_videoFastUpdateMB = -1;        /* T_videoFastUpdateMB */
1766 static int hf_h245_firstGOB_0_255 = -1;           /* INTEGER_0_255 */
1767 static int hf_h245_firstMB_1_8192 = -1;           /* INTEGER_1_8192 */
1768 static int hf_h245_numberOfMBs = -1;              /* INTEGER_1_8192 */
1769 static int hf_h245_maxH223MUXPDUsize = -1;        /* INTEGER_1_65535 */
1770 static int hf_h245_encryptionUpdate = -1;         /* EncryptionSync */
1771 static int hf_h245_encryptionUpdateRequest = -1;  /* EncryptionUpdateRequest */
1772 static int hf_h245_switchReceiveMediaOff = -1;    /* NULL */
1773 static int hf_h245_switchReceiveMediaOn = -1;     /* NULL */
1774 static int hf_h245_progressiveRefinementStart = -1;  /* T_progressiveRefinementStart */
1775 static int hf_h245_repeatCount = -1;              /* T_repeatCount */
1776 static int hf_h245_doOneProgression = -1;         /* NULL */
1777 static int hf_h245_doContinuousProgressions = -1;  /* NULL */
1778 static int hf_h245_doOneIndependentProgression = -1;  /* NULL */
1779 static int hf_h245_doContinuousIndependentProgressions = -1;  /* NULL */
1780 static int hf_h245_progressiveRefinementAbortOne = -1;  /* NULL */
1781 static int hf_h245_progressiveRefinementAbortContinuous = -1;  /* NULL */
1782 static int hf_h245_videoBadMBs = -1;              /* T_videoBadMBs */
1783 static int hf_h245_firstMB = -1;                  /* INTEGER_1_9216 */
1784 static int hf_h245_numberOfMBs1_1_9216 = -1;      /* INTEGER_1_9216 */
1785 static int hf_h245_temporalReference = -1;        /* INTEGER_0_1023 */
1786 static int hf_h245_lostPicture = -1;              /* SEQUENCE_OF_PictureReference */
1787 static int hf_h245_lostPicture_item = -1;         /* PictureReference */
1788 static int hf_h245_lostPartialPicture = -1;       /* T_lostPartialPicture */
1789 static int hf_h245_pictureReference = -1;         /* PictureReference */
1790 static int hf_h245_recoveryReferencePicture = -1;  /* SEQUENCE_OF_PictureReference */
1791 static int hf_h245_recoveryReferencePicture_item = -1;  /* PictureReference */
1792 static int hf_h245_encryptionUpdateCommand = -1;  /* T_encryptionUpdateCommand */
1793 static int hf_h245_encryptionUpdateAck = -1;      /* T_encryptionUpdateAck */
1794 static int hf_h245_direction = -1;                /* EncryptionUpdateDirection */
1795 static int hf_h245_secureChannel = -1;            /* BOOLEAN */
1796 static int hf_h245_sharedSecret = -1;             /* BOOLEAN */
1797 static int hf_h245_certProtectedKey = -1;         /* BOOLEAN */
1798 static int hf_h245_keyProtectionMethod = -1;      /* KeyProtectionMethod */
1799 static int hf_h245_pictureNumber = -1;            /* INTEGER_0_1023 */
1800 static int hf_h245_longTermPictureIndex = -1;     /* INTEGER_0_255 */
1801 static int hf_h245_h223ModeChange = -1;           /* T_h223ModeChange */
1802 static int hf_h245_toLevel0 = -1;                 /* NULL */
1803 static int hf_h245_toLevel1 = -1;                 /* NULL */
1804 static int hf_h245_toLevel2 = -1;                 /* NULL */
1805 static int hf_h245_toLevel2withOptionalHeader = -1;  /* NULL */
1806 static int hf_h245_h223AnnexADoubleFlag = -1;     /* T_h223AnnexADoubleFlag */
1807 static int hf_h245_start = -1;                    /* NULL */
1808 static int hf_h245_stop = -1;                     /* NULL */
1809 static int hf_h245_bitRate = -1;                  /* INTEGER_1_65535 */
1810 static int hf_h245_bitRateLockedToPCRClock = -1;  /* BOOLEAN */
1811 static int hf_h245_bitRateLockedToNetworkClock = -1;  /* BOOLEAN */
1812 static int hf_h245_cmd_aal = -1;                  /* Cmd_aal */
1813 static int hf_h245_cmd_aal1 = -1;                 /* Cmd_aal1 */
1814 static int hf_h245_cmd_clockRecovery = -1;        /* Cmd_clockRecovery */
1815 static int hf_h245_nullClockRecoveryflag = -1;    /* NULL */
1816 static int hf_h245_srtsClockRecovery = -1;        /* NULL */
1817 static int hf_h245_adaptiveClockRecoveryFlag = -1;  /* NULL */
1818 static int hf_h245_cmd_errorCorrection = -1;      /* Cmd_errorCorrection */
1819 static int hf_h245_nullErrorCorrectionFlag = -1;  /* NULL */
1820 static int hf_h245_longInterleaverFlag = -1;      /* NULL */
1821 static int hf_h245_shortInterleaverFlag = -1;     /* NULL */
1822 static int hf_h245_errorCorrectionOnlyFlag = -1;  /* NULL */
1823 static int hf_h245_cmd_aal5 = -1;                 /* Cmd_aal5 */
1824 static int hf_h245_cmd_multiplex = -1;            /* Cmd_multiplex */
1825 static int hf_h245_noMultiplex = -1;              /* NULL */
1826 static int hf_h245_transportStream = -1;          /* NULL */
1827 static int hf_h245_programStreamFlag = -1;        /* NULL */
1828 static int hf_h245_cmd_reverseParameters = -1;    /* Cmd_reverseParameters */
1829 static int hf_h245_cmdr_multiplex = -1;           /* CmdR_multiplex */
1830 static int hf_h245_sampleSize = -1;               /* INTEGER_1_255 */
1831 static int hf_h245_samplesPerFrame = -1;          /* INTEGER_1_255 */
1832 static int hf_h245_status = -1;                   /* T_status */
1833 static int hf_h245_synchronized = -1;             /* NULL */
1834 static int hf_h245_reconfiguration = -1;          /* NULL */
1835 static int hf_h245_fns_cause = -1;                /* FunctionNotSupportedCause */
1836 static int hf_h245_syntaxError = -1;              /* NULL */
1837 static int hf_h245_semanticError = -1;            /* NULL */
1838 static int hf_h245_unknownFunction = -1;          /* NULL */
1839 static int hf_h245_returnedFunction = -1;         /* T_returnedFunction */
1840 static int hf_h245_sbeNumber = -1;                /* INTEGER_0_9 */
1841 static int hf_h245_terminalNumberAssign = -1;     /* TerminalLabel */
1842 static int hf_h245_terminalJoinedConference = -1;  /* TerminalLabel */
1843 static int hf_h245_terminalLeftConference = -1;   /* TerminalLabel */
1844 static int hf_h245_seenByAtLeastOneOther = -1;    /* NULL */
1845 static int hf_h245_cancelSeenByAtLeastOneOther = -1;  /* NULL */
1846 static int hf_h245_seenByAll = -1;                /* NULL */
1847 static int hf_h245_cancelSeenByAll = -1;          /* NULL */
1848 static int hf_h245_terminalYouAreSeeing = -1;     /* TerminalLabel */
1849 static int hf_h245_requestForFloor = -1;          /* NULL */
1850 static int hf_h245_withdrawChairToken = -1;       /* NULL */
1851 static int hf_h245_floorRequested = -1;           /* TerminalLabel */
1852 static int hf_h245_terminalYouAreSeeingInSubPictureNumber = -1;  /* TerminalYouAreSeeingInSubPictureNumber */
1853 static int hf_h245_videoIndicateCompose = -1;     /* VideoIndicateCompose */
1854 static int hf_h245_masterMCU = -1;                /* NULL */
1855 static int hf_h245_cancelMasterMCU = -1;          /* NULL */
1856 static int hf_h245_subPictureNumber = -1;         /* INTEGER_0_255 */
1857 static int hf_h245_compositionNumber = -1;        /* INTEGER_0_255 */
1858 static int hf_h245_mi_type = -1;                  /* Mi_type */
1859 static int hf_h245_logicalChannelActive = -1;     /* NULL */
1860 static int hf_h245_logicalChannelInactive = -1;   /* NULL */
1861 static int hf_h245_multipointConference = -1;     /* NULL */
1862 static int hf_h245_cancelMultipointConference = -1;  /* NULL */
1863 static int hf_h245_multipointZeroComm = -1;       /* NULL */
1864 static int hf_h245_cancelMultipointZeroComm = -1;  /* NULL */
1865 static int hf_h245_multipointSecondaryStatus = -1;  /* NULL */
1866 static int hf_h245_cancelMultipointSecondaryStatus = -1;  /* NULL */
1867 static int hf_h245_videoIndicateReadyToActivate = -1;  /* NULL */
1868 static int hf_h245_videoNotDecodedMBs = -1;       /* T_videoNotDecodedMBs */
1869 static int hf_h245_temporalReference_0_255 = -1;  /* INTEGER_0_255 */
1870 static int hf_h245_estimatedReceivedJitterMantissa = -1;  /* INTEGER_0_3 */
1871 static int hf_h245_estimatedReceivedJitterExponent = -1;  /* INTEGER_0_7 */
1872 static int hf_h245_skippedFrameCount = -1;        /* INTEGER_0_15 */
1873 static int hf_h245_additionalDecoderBuffer = -1;  /* INTEGER_0_262143 */
1874 static int hf_h245_logicalChannelNumber1 = -1;    /* LogicalChannelNumber */
1875 static int hf_h245_logicalChannelNumber2 = -1;    /* LogicalChannelNumber */
1876 static int hf_h245_skew = -1;                     /* INTEGER_0_4095 */
1877 static int hf_h245_maximumSkew = -1;              /* INTEGER_0_4095 */
1878 static int hf_h245_signalAddress = -1;            /* TransportAddress */
1879 static int hf_h245_vendor = -1;                   /* NonStandardIdentifier */
1880 static int hf_h245_productNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1881 static int hf_h245_versionNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1882 static int hf_h245_ind_aal = -1;                  /* Ind_aal */
1883 static int hf_h245_ind_aal1 = -1;                 /* Ind_aal1 */
1884 static int hf_h245_ind_clockRecovery = -1;        /* Ind_clockRecovery */
1885 static int hf_h245_ind_errorCorrection = -1;      /* Ind_errorCorrection */
1886 static int hf_h245_ind_aal5 = -1;                 /* Ind_aal5 */
1887 static int hf_h245_ind_multiplex = -1;            /* Ind_multiplex */
1888 static int hf_h245_ind_reverseParameters = -1;    /* Ind_reverseParameters */
1889 static int hf_h245_indr_multiplex = -1;           /* IndR_multiplex */
1890 static int hf_h245_iv8 = -1;                      /* IV8 */
1891 static int hf_h245_iv16 = -1;                     /* IV16 */
1892 static int hf_h245_iv = -1;                       /* OCTET_STRING */
1893 static int hf_h245_alphanumeric = -1;             /* GeneralString */
1894 static int hf_h245_userInputSupportIndication = -1;  /* T_userInputSupportIndication */
1895 static int hf_h245_signal = -1;                   /* T_signal */
1896 static int hf_h245_signalType = -1;               /* T_signalType */
1897 static int hf_h245_duration = -1;                 /* INTEGER_1_65535 */
1898 static int hf_h245_rtp = -1;                      /* T_rtp */
1899 static int hf_h245_timestamp = -1;                /* INTEGER_0_4294967295 */
1900 static int hf_h245_expirationTime = -1;           /* INTEGER_0_4294967295 */
1901 static int hf_h245_rtpPayloadIndication = -1;     /* NULL */
1902 static int hf_h245_paramS = -1;                   /* Params */
1903 static int hf_h245_encryptedSignalType = -1;      /* OCTET_STRING_SIZE_1 */
1904 static int hf_h245_algorithmOID = -1;             /* OBJECT_IDENTIFIER */
1905 static int hf_h245_signalUpdate = -1;             /* T_signalUpdate */
1906 static int hf_h245_si_rtp = -1;                   /* Si_rtp */
1907 static int hf_h245_extendedAlphanumeric = -1;     /* T_extendedAlphanumeric */
1908 static int hf_h245_encrypted = -1;                /* OCTET_STRING */
1909 static int hf_h245_encryptedAlphanumeric = -1;    /* EncryptedAlphanumeric */
1910
1911 /*--- End of included file: packet-h245-hf.c ---*/
1912 #line 375 "./asn1/h245/packet-h245-template.c"
1913
1914 /* Initialize the subtree pointers */
1915 static int ett_h245 = -1;
1916 static int ett_h245_returnedFunction = -1;
1917
1918 /*--- Included file: packet-h245-ett.c ---*/
1919 #line 1 "./asn1/h245/packet-h245-ett.c"
1920 static gint ett_h245_MultimediaSystemControlMessage = -1;
1921 static gint ett_h245_RequestMessage = -1;
1922 static gint ett_h245_ResponseMessage = -1;
1923 static gint ett_h245_CommandMessage = -1;
1924 static gint ett_h245_IndicationMessage = -1;
1925 static gint ett_h245_GenericMessage = -1;
1926 static gint ett_h245_T_messageContent = -1;
1927 static gint ett_h245_NonStandardMessage = -1;
1928 static gint ett_h245_NonStandardParameter = -1;
1929 static gint ett_h245_NonStandardIdentifier = -1;
1930 static gint ett_h245_H221NonStandardID = -1;
1931 static gint ett_h245_MasterSlaveDetermination = -1;
1932 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1933 static gint ett_h245_T_decision = -1;
1934 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1935 static gint ett_h245_MasterSlaveDeterminationRejectCause = -1;
1936 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1937 static gint ett_h245_TerminalCapabilitySet = -1;
1938 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry = -1;
1939 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor = -1;
1940 static gint ett_h245_SEQUENCE_OF_GenericInformation = -1;
1941 static gint ett_h245_CapabilityTableEntry = -1;
1942 static gint ett_h245_CapabilityDescriptor = -1;
1943 static gint ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet = -1;
1944 static gint ett_h245_AlternativeCapabilitySet = -1;
1945 static gint ett_h245_TerminalCapabilitySetAck = -1;
1946 static gint ett_h245_TerminalCapabilitySetReject = -1;
1947 static gint ett_h245_TerminalCapabilitySetRejectCause = -1;
1948 static gint ett_h245_T_tableEntryCapacityExceeded = -1;
1949 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1950 static gint ett_h245_Capability = -1;
1951 static gint ett_h245_T_h233EncryptionReceiveCapability = -1;
1952 static gint ett_h245_H235SecurityCapability = -1;
1953 static gint ett_h245_MultiplexCapability = -1;
1954 static gint ett_h245_H222Capability = -1;
1955 static gint ett_h245_SET_OF_VCCapability = -1;
1956 static gint ett_h245_VCCapability = -1;
1957 static gint ett_h245_T_aal1 = -1;
1958 static gint ett_h245_T_aal5 = -1;
1959 static gint ett_h245_T_availableBitRates = -1;
1960 static gint ett_h245_Avb_type = -1;
1961 static gint ett_h245_T_rangeOfBitRates = -1;
1962 static gint ett_h245_T_aal1ViaGateway = -1;
1963 static gint ett_h245_SET_SIZE_1_256_OF_Q2931Address = -1;
1964 static gint ett_h245_H223Capability = -1;
1965 static gint ett_h245_T_h223MultiplexTableCapability = -1;
1966 static gint ett_h245_T_enhanced = -1;
1967 static gint ett_h245_T_mobileOperationTransmitCapability = -1;
1968 static gint ett_h245_T_mobileMultilinkFrameCapability = -1;
1969 static gint ett_h245_H223AnnexCCapability = -1;
1970 static gint ett_h245_V76Capability = -1;
1971 static gint ett_h245_V75Capability = -1;
1972 static gint ett_h245_H2250Capability = -1;
1973 static gint ett_h245_T_mcCapability = -1;
1974 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability = -1;
1975 static gint ett_h245_MediaPacketizationCapability = -1;
1976 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType = -1;
1977 static gint ett_h245_RSVPParameters = -1;
1978 static gint ett_h245_QOSMode = -1;
1979 static gint ett_h245_ATMParameters = -1;
1980 static gint ett_h245_ServicePriorityValue = -1;
1981 static gint ett_h245_ServicePriority = -1;
1982 static gint ett_h245_AuthorizationParameters = -1;
1983 static gint ett_h245_QOSType = -1;
1984 static gint ett_h245_QOSClass = -1;
1985 static gint ett_h245_QOSDescriptor = -1;
1986 static gint ett_h245_GenericTransportParameters = -1;
1987 static gint ett_h245_QOSCapability = -1;
1988 static gint ett_h245_MediaTransportType = -1;
1989 static gint ett_h245_T_atm_AAL5_compressed = -1;
1990 static gint ett_h245_MediaChannelCapability = -1;
1991 static gint ett_h245_TransportCapability = -1;
1992 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability = -1;
1993 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability = -1;
1994 static gint ett_h245_RedundancyEncodingCapability = -1;
1995 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber = -1;
1996 static gint ett_h245_RedundancyEncodingMethod = -1;
1997 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
1998 static gint ett_h245_T_frameToThreadMapping = -1;
1999 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping = -1;
2000 static gint ett_h245_T_containedThreads = -1;
2001 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
2002 static gint ett_h245_T_frameSequence = -1;
2003 static gint ett_h245_MultipointCapability = -1;
2004 static gint ett_h245_SEQUENCE_OF_MediaDistributionCapability = -1;
2005 static gint ett_h245_MediaDistributionCapability = -1;
2006 static gint ett_h245_SEQUENCE_OF_DataApplicationCapability = -1;
2007 static gint ett_h245_VideoCapability = -1;
2008 static gint ett_h245_ExtendedVideoCapability = -1;
2009 static gint ett_h245_SEQUENCE_OF_VideoCapability = -1;
2010 static gint ett_h245_SEQUENCE_OF_GenericCapability = -1;
2011 static gint ett_h245_H261VideoCapability = -1;
2012 static gint ett_h245_H262VideoCapability = -1;
2013 static gint ett_h245_H263VideoCapability = -1;
2014 static gint ett_h245_EnhancementLayerInfo = -1;
2015 static gint ett_h245_SET_SIZE_1_14_OF_EnhancementOptions = -1;
2016 static gint ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters = -1;
2017 static gint ett_h245_BEnhancementParameters = -1;
2018 static gint ett_h245_EnhancementOptions = -1;
2019 static gint ett_h245_H263Options = -1;
2020 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency = -1;
2021 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat = -1;
2022 static gint ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos = -1;
2023 static gint ett_h245_TransparencyParameters = -1;
2024 static gint ett_h245_RefPictureSelection = -1;
2025 static gint ett_h245_T_additionalPictureMemory = -1;
2026 static gint ett_h245_T_videoBackChannelSend = -1;
2027 static gint ett_h245_T_enhancedReferencePicSelect = -1;
2028 static gint ett_h245_T_subPictureRemovalParameters = -1;
2029 static gint ett_h245_CustomPictureClockFrequency = -1;
2030 static gint ett_h245_CustomPictureFormat = -1;
2031 static gint ett_h245_T_mPI = -1;
2032 static gint ett_h245_T_customPCF = -1;
2033 static gint ett_h245_T_customPCF_item = -1;
2034 static gint ett_h245_T_pixelAspectInformation = -1;
2035 static gint ett_h245_T_pixelAspectCode = -1;
2036 static gint ett_h245_T_extendedPAR = -1;
2037 static gint ett_h245_T_extendedPAR_item = -1;
2038 static gint ett_h245_H263VideoModeCombos = -1;
2039 static gint ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags = -1;
2040 static gint ett_h245_H263ModeComboFlags = -1;
2041 static gint ett_h245_H263Version3Options = -1;
2042 static gint ett_h245_IS11172VideoCapability = -1;
2043 static gint ett_h245_AudioCapability = -1;
2044 static gint ett_h245_T_g7231 = -1;
2045 static gint ett_h245_G729Extensions = -1;
2046 static gint ett_h245_G7231AnnexCCapability = -1;
2047 static gint ett_h245_G723AnnexCAudioMode = -1;
2048 static gint ett_h245_IS11172AudioCapability = -1;
2049 static gint ett_h245_IS13818AudioCapability = -1;
2050 static gint ett_h245_GSMAudioCapability = -1;
2051 static gint ett_h245_VBDCapability = -1;
2052 static gint ett_h245_DataApplicationCapability = -1;
2053 static gint ett_h245_Application = -1;
2054 static gint ett_h245_T_t84 = -1;
2055 static gint ett_h245_Nlpid = -1;
2056 static gint ett_h245_T_t38fax = -1;
2057 static gint ett_h245_DataProtocolCapability = -1;
2058 static gint ett_h245_T_v76wCompression = -1;
2059 static gint ett_h245_CompressionType = -1;
2060 static gint ett_h245_V42bis = -1;
2061 static gint ett_h245_T84Profile = -1;
2062 static gint ett_h245_T_t84Restricted = -1;
2063 static gint ett_h245_T38FaxProfile = -1;
2064 static gint ett_h245_T38FaxRateManagement = -1;
2065 static gint ett_h245_T38FaxUdpOptions = -1;
2066 static gint ett_h245_T_t38FaxUdpEC = -1;
2067 static gint ett_h245_T38FaxTcpOptions = -1;
2068 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
2069 static gint ett_h245_EncryptionCapability = -1;
2070 static gint ett_h245_MediaEncryptionAlgorithm = -1;
2071 static gint ett_h245_AuthenticationCapability = -1;
2072 static gint ett_h245_IntegrityCapability = -1;
2073 static gint ett_h245_UserInputCapability = -1;
2074 static gint ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter = -1;
2075 static gint ett_h245_ConferenceCapability = -1;
2076 static gint ett_h245_SEQUENCE_OF_NonStandardParameter = -1;
2077 static gint ett_h245_GenericCapability = -1;
2078 static gint ett_h245_T_collapsing = -1;
2079 static gint ett_h245_T_nonCollapsing = -1;
2080 static gint ett_h245_CapabilityIdentifier = -1;
2081 static gint ett_h245_GenericParameter = -1;
2082 static gint ett_h245_SEQUENCE_OF_ParameterIdentifier = -1;
2083 static gint ett_h245_ParameterIdentifier = -1;
2084 static gint ett_h245_ParameterValue = -1;
2085 static gint ett_h245_SEQUENCE_OF_GenericParameter = -1;
2086 static gint ett_h245_MultiplexedStreamCapability = -1;
2087 static gint ett_h245_MultiplexFormat = -1;
2088 static gint ett_h245_AudioTelephonyEventCapability = -1;
2089 static gint ett_h245_AudioToneCapability = -1;
2090 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
2091 static gint ett_h245_NoPTAudioToneCapability = -1;
2092 static gint ett_h245_MultiplePayloadStreamCapability = -1;
2093 static gint ett_h245_DepFECCapability = -1;
2094 static gint ett_h245_FECC_rfc2733 = -1;
2095 static gint ett_h245_T_separateStreamBool = -1;
2096 static gint ett_h245_FECCapability = -1;
2097 static gint ett_h245_Rfc2733Format = -1;
2098 static gint ett_h245_OpenLogicalChannel = -1;
2099 static gint ett_h245_T_forwardLogicalChannelParameters = -1;
2100 static gint ett_h245_OLC_forw_multiplexParameters = -1;
2101 static gint ett_h245_OLC_reverseLogicalChannelParameters = -1;
2102 static gint ett_h245_OLC_rev_multiplexParameters = -1;
2103 static gint ett_h245_NetworkAccessParameters = -1;
2104 static gint ett_h245_T_distribution = -1;
2105 static gint ett_h245_T_networkAddress = -1;
2106 static gint ett_h245_T_t120SetupProcedure = -1;
2107 static gint ett_h245_Q2931Address = -1;
2108 static gint ett_h245_T_address = -1;
2109 static gint ett_h245_V75Parameters = -1;
2110 static gint ett_h245_DataType = -1;
2111 static gint ett_h245_H235Media = -1;
2112 static gint ett_h245_T_mediaType = -1;
2113 static gint ett_h245_MultiplexedStreamParameter = -1;
2114 static gint ett_h245_H222LogicalChannelParameters = -1;
2115 static gint ett_h245_H223LogicalChannelParameters = -1;
2116 static gint ett_h245_T_adaptationLayerType = -1;
2117 static gint ett_h245_Al3 = -1;
2118 static gint ett_h245_H223AL1MParameters = -1;
2119 static gint ett_h245_T_transferMode = -1;
2120 static gint ett_h245_AL1HeaderFEC = -1;
2121 static gint ett_h245_AL1CrcLength = -1;
2122 static gint ett_h245_ArqType = -1;
2123 static gint ett_h245_H223AL2MParameters = -1;
2124 static gint ett_h245_AL2HeaderFEC = -1;
2125 static gint ett_h245_H223AL3MParameters = -1;
2126 static gint ett_h245_T_headerFormat = -1;
2127 static gint ett_h245_AL3CrcLength = -1;
2128 static gint ett_h245_H223AnnexCArqParameters = -1;
2129 static gint ett_h245_T_numberOfRetransmissions = -1;
2130 static gint ett_h245_V76LogicalChannelParameters = -1;
2131 static gint ett_h245_T_suspendResume = -1;
2132 static gint ett_h245_V76LCP_mode = -1;
2133 static gint ett_h245_T_eRM = -1;
2134 static gint ett_h245_T_recovery = -1;
2135 static gint ett_h245_V76HDLCParameters = -1;
2136 static gint ett_h245_CRCLength = -1;
2137 static gint ett_h245_H2250LogicalChannelParameters = -1;
2138 static gint ett_h245_T_mediaPacketization = -1;
2139 static gint ett_h245_RTPPayloadType = -1;
2140 static gint ett_h245_T_payloadDescriptor = -1;
2141 static gint ett_h245_RedundancyEncoding = -1;
2142 static gint ett_h245_T_rtpRedundancyEncoding = -1;
2143 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingElement = -1;
2144 static gint ett_h245_RedundancyEncodingElement = -1;
2145 static gint ett_h245_MultiplePayloadStream = -1;
2146 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement = -1;
2147 static gint ett_h245_MultiplePayloadStreamElement = -1;
2148 static gint ett_h245_DepFECData = -1;
2149 static gint ett_h245_RFC2733Data = -1;
2150 static gint ett_h245_FECdata_mode = -1;
2151 static gint ett_h245_DepSeparateStream = -1;
2152 static gint ett_h245_T_differentPort = -1;
2153 static gint ett_h245_T_samePort = -1;
2154 static gint ett_h245_FECData = -1;
2155 static gint ett_h245_T_rfc2733 = -1;
2156 static gint ett_h245_T_pktMode = -1;
2157 static gint ett_h245_T_mode_rfc2733sameport = -1;
2158 static gint ett_h245_T_mode_rfc2733diffport = -1;
2159 static gint ett_h245_TransportAddress = -1;
2160 static gint ett_h245_UnicastAddress = -1;
2161 static gint ett_h245_T_iPAddress = -1;
2162 static gint ett_h245_T_iPXAddress = -1;
2163 static gint ett_h245_T_iP6Address = -1;
2164 static gint ett_h245_T_iPSourceRouteAddress = -1;
2165 static gint ett_h245_T_routing = -1;
2166 static gint ett_h245_T_route = -1;
2167 static gint ett_h245_MulticastAddress = -1;
2168 static gint ett_h245_MIPAddress = -1;
2169 static gint ett_h245_MIP6Address = -1;
2170 static gint ett_h245_EncryptionSync = -1;
2171 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData = -1;
2172 static gint ett_h245_EscrowData = -1;
2173 static gint ett_h245_OpenLogicalChannelAck = -1;
2174 static gint ett_h245_OLC_ack_reverseLogicalChannelParameters = -1;
2175 static gint ett_h245_T_olc_ack_multiplexParameters = -1;
2176 static gint ett_h245_T_forwardMultiplexAckParameters = -1;
2177 static gint ett_h245_OpenLogicalChannelReject = -1;
2178 static gint ett_h245_OpenLogicalChannelRejectCause = -1;
2179 static gint ett_h245_OpenLogicalChannelConfirm = -1;
2180 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
2181 static gint ett_h245_CloseLogicalChannel = -1;
2182 static gint ett_h245_T_cLC_source = -1;
2183 static gint ett_h245_Clc_reason = -1;
2184 static gint ett_h245_CloseLogicalChannelAck = -1;
2185 static gint ett_h245_RequestChannelClose = -1;
2186 static gint ett_h245_T_reason = -1;
2187 static gint ett_h245_RequestChannelCloseAck = -1;
2188 static gint ett_h245_RequestChannelCloseReject = -1;
2189 static gint ett_h245_RequestChannelCloseRejectCause = -1;
2190 static gint ett_h245_RequestChannelCloseRelease = -1;
2191 static gint ett_h245_MultiplexEntrySend = -1;
2192 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor = -1;
2193 static gint ett_h245_MultiplexEntryDescriptor = -1;
2194 static gint ett_h245_T_elementList = -1;
2195 static gint ett_h245_MultiplexElement = -1;
2196 static gint ett_h245_Me_type = -1;
2197 static gint ett_h245_T_subElementList = -1;
2198 static gint ett_h245_ME_repeatCount = -1;
2199 static gint ett_h245_MultiplexEntrySendAck = -1;
2200 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber = -1;
2201 static gint ett_h245_MultiplexEntrySendReject = -1;
2202 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions = -1;
2203 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
2204 static gint ett_h245_MultiplexEntryRejectionDescriptionsCause = -1;
2205 static gint ett_h245_MultiplexEntrySendRelease = -1;
2206 static gint ett_h245_RequestMultiplexEntry = -1;
2207 static gint ett_h245_RequestMultiplexEntryAck = -1;
2208 static gint ett_h245_RequestMultiplexEntryReject = -1;
2209 static gint ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions = -1;
2210 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
2211 static gint ett_h245_RequestMultiplexEntryRejectionDescriptionsCause = -1;
2212 static gint ett_h245_RequestMultiplexEntryRelease = -1;
2213 static gint ett_h245_RequestMode = -1;
2214 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription = -1;
2215 static gint ett_h245_RequestModeAck = -1;
2216 static gint ett_h245_Req_mode_ack_response = -1;
2217 static gint ett_h245_RequestModeReject = -1;
2218 static gint ett_h245_RequestModeRejectCause = -1;
2219 static gint ett_h245_RequestModeRelease = -1;
2220 static gint ett_h245_ModeDescription = -1;
2221 static gint ett_h245_ModeElementType = -1;
2222 static gint ett_h245_ModeElement = -1;
2223 static gint ett_h245_H235Mode = -1;
2224 static gint ett_h245_T_mediaMode = -1;
2225 static gint ett_h245_MultiplexedStreamModeParameters = -1;
2226 static gint ett_h245_RedundancyEncodingDTMode = -1;
2227 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement = -1;
2228 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
2229 static gint ett_h245_Re_type = -1;
2230 static gint ett_h245_MultiplePayloadStreamMode = -1;
2231 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode = -1;
2232 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
2233 static gint ett_h245_DepFECMode = -1;
2234 static gint ett_h245_T_rfc2733Mode = -1;
2235 static gint ett_h245_FEC_mode = -1;
2236 static gint ett_h245_FECMode = -1;
2237 static gint ett_h245_H223ModeParameters = -1;
2238 static gint ett_h245_AdaptationLayerType = -1;
2239 static gint ett_h245_V76ModeParameters = -1;
2240 static gint ett_h245_H2250ModeParameters = -1;
2241 static gint ett_h245_RedundancyEncodingMode = -1;
2242 static gint ett_h245_T_secondaryEncodingMode = -1;
2243 static gint ett_h245_VideoMode = -1;
2244 static gint ett_h245_H261VideoMode = -1;
2245 static gint ett_h245_H261Resolution = -1;
2246 static gint ett_h245_H262VideoMode = -1;
2247 static gint ett_h245_T_profileAndLevel = -1;
2248 static gint ett_h245_H263VideoMode = -1;
2249 static gint ett_h245_H263Resolution = -1;
2250 static gint ett_h245_IS11172VideoMode = -1;
2251 static gint ett_h245_AudioMode = -1;
2252 static gint ett_h245_Mode_g7231 = -1;
2253 static gint ett_h245_IS11172AudioMode = -1;
2254 static gint ett_h245_T_audioLayer = -1;
2255 static gint ett_h245_T_audioSampling = -1;
2256 static gint ett_h245_IS11172_multichannelType = -1;
2257 static gint ett_h245_IS13818AudioMode = -1;
2258 static gint ett_h245_IS13818AudioLayer = -1;
2259 static gint ett_h245_IS13818AudioSampling = -1;
2260 static gint ett_h245_IS13818MultichannelType = -1;
2261 static gint ett_h245_G7231AnnexCMode = -1;
2262 static gint ett_h245_VBDMode = -1;
2263 static gint ett_h245_DataMode = -1;
2264 static gint ett_h245_DataModeApplication = -1;
2265 static gint ett_h245_T38faxApp = -1;
2266 static gint ett_h245_EncryptionMode = -1;
2267 static gint ett_h245_RoundTripDelayRequest = -1;
2268 static gint ett_h245_RoundTripDelayResponse = -1;
2269 static gint ett_h245_MaintenanceLoopRequest = -1;
2270 static gint ett_h245_Mlr_type = -1;
2271 static gint ett_h245_MaintenanceLoopAck = -1;
2272 static gint ett_h245_Mla_type = -1;
2273 static gint ett_h245_MaintenanceLoopReject = -1;
2274 static gint ett_h245_Mlrej_type = -1;
2275 static gint ett_h245_MaintenanceLoopRejectCause = -1;
2276 static gint ett_h245_MaintenanceLoopOffCommand = -1;
2277 static gint ett_h245_CommunicationModeCommand = -1;
2278 static gint ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry = -1;
2279 static gint ett_h245_CommunicationModeRequest = -1;
2280 static gint ett_h245_CommunicationModeResponse = -1;
2281 static gint ett_h245_CommunicationModeTableEntry = -1;
2282 static gint ett_h245_T_entryDataType = -1;
2283 static gint ett_h245_ConferenceRequest = -1;
2284 static gint ett_h245_T_requestTerminalCertificate = -1;
2285 static gint ett_h245_CertSelectionCriteria = -1;
2286 static gint ett_h245_Criteria = -1;
2287 static gint ett_h245_TerminalLabel = -1;
2288 static gint ett_h245_ConferenceResponse = -1;
2289 static gint ett_h245_T_mCTerminalIDResponse = -1;
2290 static gint ett_h245_T_terminalIDResponse = -1;
2291 static gint ett_h245_T_conferenceIDResponse = -1;
2292 static gint ett_h245_T_passwordResponse = -1;
2293 static gint ett_h245_SET_SIZE_1_256_OF_TerminalLabel = -1;
2294 static gint ett_h245_T_makeMeChairResponse = -1;
2295 static gint ett_h245_T_extensionAddressResponse = -1;
2296 static gint ett_h245_T_chairTokenOwnerResponse = -1;
2297 static gint ett_h245_T_terminalCertificateResponse = -1;
2298 static gint ett_h245_T_broadcastMyLogicalChannelResponse = -1;
2299 static gint ett_h245_T_makeTerminalBroadcasterResponse = -1;
2300 static gint ett_h245_T_sendThisSourceResponse = -1;
2301 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
2302 static gint ett_h245_SEQUENCE_OF_TerminalInformation = -1;
2303 static gint ett_h245_TerminalInformation = -1;
2304 static gint ett_h245_RemoteMCRequest = -1;
2305 static gint ett_h245_RemoteMCResponse = -1;
2306 static gint ett_h245_T_reject = -1;
2307 static gint ett_h245_MultilinkRequest = -1;
2308 static gint ett_h245_CallInformationReq = -1;
2309 static gint ett_h245_AddConnectionReq = -1;
2310 static gint ett_h245_RemoveConnectionReq = -1;
2311 static gint ett_h245_MaximumHeaderIntervalReq = -1;
2312 static gint ett_h245_T_requestType = -1;
2313 static gint ett_h245_MultilinkResponse = -1;
2314 static gint ett_h245_CallInformationResp = -1;
2315 static gint ett_h245_AddConnectionResp = -1;
2316 static gint ett_h245_T_responseCode = -1;
2317 static gint ett_h245_T_rejected = -1;
2318 static gint ett_h245_RemoveConnectionResp = -1;
2319 static gint ett_h245_MaximumHeaderIntervalResp = -1;
2320 static gint ett_h245_MultilinkIndication = -1;
2321 static gint ett_h245_T_crcDesired = -1;
2322 static gint ett_h245_T_excessiveError = -1;
2323 static gint ett_h245_DialingInformation = -1;
2324 static gint ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber = -1;
2325 static gint ett_h245_DialingInformationNumber = -1;
2326 static gint ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType = -1;
2327 static gint ett_h245_DialingInformationNetworkType = -1;
2328 static gint ett_h245_ConnectionIdentifier = -1;
2329 static gint ett_h245_LogicalChannelRateRequest = -1;
2330 static gint ett_h245_LogicalChannelRateAcknowledge = -1;
2331 static gint ett_h245_LogicalChannelRateReject = -1;
2332 static gint ett_h245_LogicalChannelRateRejectReason = -1;
2333 static gint ett_h245_LogicalChannelRateRelease = -1;
2334 static gint ett_h245_SendTerminalCapabilitySet = -1;
2335 static gint ett_h245_T_specificRequest = -1;
2336 static gint ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber = -1;
2337 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber = -1;
2338 static gint ett_h245_EncryptionCommand = -1;
2339 static gint ett_h245_T_encryptionAlgorithmID = -1;
2340 static gint ett_h245_FlowControlCommand = -1;
2341 static gint ett_h245_Scope = -1;
2342 static gint ett_h245_Restriction = -1;
2343 static gint ett_h245_EndSessionCommand = -1;
2344 static gint ett_h245_T_gstnOptions = -1;
2345 static gint ett_h245_T_isdnOptions = -1;
2346 static gint ett_h245_ConferenceCommand = -1;
2347 static gint ett_h245_SubstituteConferenceIDCommand = -1;
2348 static gint ett_h245_EncryptionUpdateDirection = -1;
2349 static gint ett_h245_MiscellaneousCommand = -1;
2350 static gint ett_h245_Mc_type = -1;
2351 static gint ett_h245_T_videoFastUpdateGOB = -1;
2352 static gint ett_h245_T_videoFastUpdateMB = -1;
2353 static gint ett_h245_T_progressiveRefinementStart = -1;
2354 static gint ett_h245_T_repeatCount = -1;
2355 static gint ett_h245_T_videoBadMBs = -1;
2356 static gint ett_h245_SEQUENCE_OF_PictureReference = -1;
2357 static gint ett_h245_T_lostPartialPicture = -1;
2358 static gint ett_h245_T_encryptionUpdateCommand = -1;
2359 static gint ett_h245_T_encryptionUpdateAck = -1;
2360 static gint ett_h245_KeyProtectionMethod = -1;
2361 static gint ett_h245_EncryptionUpdateRequest = -1;
2362 static gint ett_h245_PictureReference = -1;
2363 static gint ett_h245_H223MultiplexReconfiguration = -1;
2364 static gint ett_h245_T_h223ModeChange = -1;
2365 static gint ett_h245_T_h223AnnexADoubleFlag = -1;
2366 static gint ett_h245_NewATMVCCommand = -1;
2367 static gint ett_h245_Cmd_aal = -1;
2368 static gint ett_h245_Cmd_aal1 = -1;
2369 static gint ett_h245_Cmd_clockRecovery = -1;
2370 static gint ett_h245_Cmd_errorCorrection = -1;
2371 static gint ett_h245_Cmd_aal5 = -1;
2372 static gint ett_h245_Cmd_multiplex = -1;
2373 static gint ett_h245_Cmd_reverseParameters = -1;
2374 static gint ett_h245_CmdR_multiplex = -1;
2375 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
2376 static gint ett_h245_T_status = -1;
2377 static gint ett_h245_FunctionNotUnderstood = -1;
2378 static gint ett_h245_FunctionNotSupported = -1;
2379 static gint ett_h245_FunctionNotSupportedCause = -1;
2380 static gint ett_h245_ConferenceIndication = -1;
2381 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
2382 static gint ett_h245_VideoIndicateCompose = -1;
2383 static gint ett_h245_MiscellaneousIndication = -1;
2384 static gint ett_h245_Mi_type = -1;
2385 static gint ett_h245_T_videoNotDecodedMBs = -1;
2386 static gint ett_h245_JitterIndication = -1;
2387 static gint ett_h245_H223SkewIndication = -1;
2388 static gint ett_h245_H2250MaximumSkewIndication = -1;
2389 static gint ett_h245_MCLocationIndication = -1;
2390 static gint ett_h245_VendorIdentification = -1;
2391 static gint ett_h245_NewATMVCIndication = -1;
2392 static gint ett_h245_Ind_aal = -1;
2393 static gint ett_h245_Ind_aal1 = -1;
2394 static gint ett_h245_Ind_clockRecovery = -1;
2395 static gint ett_h245_Ind_errorCorrection = -1;
2396 static gint ett_h245_Ind_aal5 = -1;
2397 static gint ett_h245_Ind_multiplex = -1;
2398 static gint ett_h245_Ind_reverseParameters = -1;
2399 static gint ett_h245_IndR_multiplex = -1;
2400 static gint ett_h245_Params = -1;
2401 static gint ett_h245_UserInputIndication = -1;
2402 static gint ett_h245_T_userInputSupportIndication = -1;
2403 static gint ett_h245_T_signal = -1;
2404 static gint ett_h245_T_rtp = -1;
2405 static gint ett_h245_T_signalUpdate = -1;
2406 static gint ett_h245_Si_rtp = -1;
2407 static gint ett_h245_T_extendedAlphanumeric = -1;
2408 static gint ett_h245_EncryptedAlphanumeric = -1;
2409 static gint ett_h245_FlowControlIndication = -1;
2410 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
2411
2412 /*--- End of included file: packet-h245-ett.c ---*/
2413 #line 380 "./asn1/h245/packet-h245-template.c"
2414
2415 /* Forward declarations */
2416 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_);
2417 static void reset_h245_pi(void *dummy _U_)
2418 {
2419         h245_pi = NULL; /* Make sure we don't leave wmem_packet_scoped() memory lying around */
2420 }
2421
2422
2423 /*--- Included file: packet-h245-fn.c ---*/
2424 #line 1 "./asn1/h245/packet-h245-fn.c"
2425 /*--- Cyclic dependencies ---*/
2426
2427 /* GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter */
2428 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_);
2429
2430 /* VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability */
2431 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_);
2432
2433 /* AudioCapability -> VBDCapability -> AudioCapability */
2434 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_);
2435
2436 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType */
2437 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> RedundancyEncoding/rtpRedundancyEncoding -> RedundancyEncodingElement -> DataType */
2438 /* DataType -> H235Media -> H235Media/mediaType -> MultiplePayloadStream -> MultiplePayloadStream/elements -> MultiplePayloadStreamElement -> DataType */
2439 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_);
2440
2441 /* MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement */
2442 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_);
2443
2444 /* AudioMode -> VBDMode -> AudioMode */
2445 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_);
2446
2447 /* ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType */
2448 /* ModeElementType -> MultiplePayloadStreamMode -> MultiplePayloadStreamMode/elements -> MultiplePayloadStreamElementMode -> ModeElementType */
2449 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_);
2450
2451
2452
2453
2454 static int
2455 dissect_h245_T_object(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2456   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID);
2457
2458   return offset;
2459 }
2460
2461
2462
2463 static int
2464 dissect_h245_T_t35CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2465   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2466                                                             0U, 255U, &t35CountryCode, FALSE);
2467
2468   return offset;
2469 }
2470
2471
2472
2473 static int
2474 dissect_h245_T_t35Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2475   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2476                                                             0U, 255U, &t35Extension, FALSE);
2477
2478   return offset;
2479 }
2480
2481
2482
2483 static int
2484 dissect_h245_T_manufacturerCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2485   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2486                                                             0U, 65535U, &manufacturerCode, FALSE);
2487
2488   return offset;
2489 }
2490
2491
2492 static const per_sequence_t H221NonStandardID_sequence[] = {
2493   { &hf_h245_t35CountryCode , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35CountryCode },
2494   { &hf_h245_t35Extension   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35Extension },
2495   { &hf_h245_manufacturerCode, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_manufacturerCode },
2496   { NULL, 0, 0, NULL }
2497 };
2498
2499 static int
2500 dissect_h245_H221NonStandardID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2501 #line 966 "./asn1/h245/h245.cnf"
2502   t35CountryCode = 0;
2503   t35Extension = 0;
2504   manufacturerCode = 0;
2505
2506   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2507                                    ett_h245_H221NonStandardID, H221NonStandardID_sequence);
2508
2509 #line 970 "./asn1/h245/h245.cnf"
2510   h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
2511   proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
2512
2513   return offset;
2514 }
2515
2516
2517 static const value_string h245_NonStandardIdentifier_vals[] = {
2518   {   0, "object" },
2519   {   1, "h221NonStandard" },
2520   { 0, NULL }
2521 };
2522
2523 static const per_choice_t NonStandardIdentifier_choice[] = {
2524   {   0, &hf_h245_object         , ASN1_NO_EXTENSIONS     , dissect_h245_T_object },
2525   {   1, &hf_h245_h221NonStandardID, ASN1_NO_EXTENSIONS     , dissect_h245_H221NonStandardID },
2526   { 0, NULL, 0, NULL }
2527 };
2528
2529 static int
2530 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2531 #line 947 "./asn1/h245/h245.cnf"
2532         gint32 value;
2533
2534         nsiOID = "";
2535         h221NonStandard = 0;
2536
2537   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2538                                  ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice,
2539                                  &value);
2540
2541         switch (value) {
2542                 case 0 :  /* object */
2543                         nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
2544                         break;
2545                 case 1 :  /* h221NonStandard */
2546                         nsp_handle = dissector_get_uint_handle(nsp_h221_dissector_table, h221NonStandard);
2547                         break;
2548                 default :
2549                         nsp_handle = NULL;
2550     }
2551
2552
2553   return offset;
2554 }
2555
2556
2557
2558 static int
2559 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_) {
2560 #line 981 "./asn1/h245/h245.cnf"
2561   tvbuff_t *next_tvb = NULL;
2562
2563   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2564                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
2565
2566   if (next_tvb && tvb_reported_length(next_tvb)) {
2567     call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
2568   }
2569
2570
2571   return offset;
2572 }
2573
2574
2575 static const per_sequence_t NonStandardParameter_sequence[] = {
2576   { &hf_h245_nonStandardIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
2577   { &hf_h245_nsd_data       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nsd_data },
2578   { NULL, 0, 0, NULL }
2579 };
2580
2581 static int
2582 dissect_h245_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2583 #line 979 "./asn1/h245/h245.cnf"
2584   nsp_handle = NULL;
2585
2586   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2587                                    ett_h245_NonStandardParameter, NonStandardParameter_sequence);
2588
2589   return offset;
2590 }
2591
2592
2593 static const per_sequence_t NonStandardMessage_sequence[] = {
2594   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
2595   { NULL, 0, 0, NULL }
2596 };
2597
2598 static int
2599 dissect_h245_NonStandardMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2600   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2601                                    ett_h245_NonStandardMessage, NonStandardMessage_sequence);
2602
2603   return offset;
2604 }
2605
2606
2607
2608 static int
2609 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_) {
2610   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2611                                                             0U, 255U, NULL, FALSE);
2612
2613   return offset;
2614 }
2615
2616
2617
2618 static int
2619 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_) {
2620   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2621                                                             0U, 16777215U, NULL, FALSE);
2622
2623   return offset;
2624 }
2625
2626
2627 static const per_sequence_t MasterSlaveDetermination_sequence[] = {
2628   { &hf_h245_terminalType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
2629   { &hf_h245_statusDeterminationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
2630   { NULL, 0, 0, NULL }
2631 };
2632
2633 static int
2634 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2635   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2636                                    ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
2637
2638 #line 535 "./asn1/h245/h245.cnf"
2639
2640 if (h245_pi != NULL)
2641   h245_pi->msg_type = H245_MastSlvDet;
2642
2643   return offset;
2644 }
2645
2646
2647
2648 static int
2649 dissect_h245_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2650   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2651                                                             0U, 255U, NULL, FALSE);
2652
2653   return offset;
2654 }
2655
2656
2657
2658 static int
2659 dissect_h245_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2660   offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
2661
2662   return offset;
2663 }
2664
2665
2666
2667 static int
2668 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_) {
2669   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2670                                                             1U, 256U, NULL, FALSE);
2671
2672   return offset;
2673 }
2674
2675
2676
2677 static int
2678 dissect_h245_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2679   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2680
2681   return offset;
2682 }
2683
2684
2685 static const per_sequence_t T_aal1_sequence[] = {
2686   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2687   { &hf_h245_srtsClockRecovery_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2688   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2689   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2690   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2691   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2692   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2693   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2694   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2695   { NULL, 0, 0, NULL }
2696 };
2697
2698 static int
2699 dissect_h245_T_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2700   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2701                                    ett_h245_T_aal1, T_aal1_sequence);
2702
2703   return offset;
2704 }
2705
2706
2707
2708 static int
2709 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_) {
2710   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2711                                                             0U, 65535U, NULL, FALSE);
2712
2713   return offset;
2714 }
2715
2716
2717 static const per_sequence_t T_aal5_sequence[] = {
2718   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2719   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2720   { NULL, 0, 0, NULL }
2721 };
2722
2723 static int
2724 dissect_h245_T_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2725   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2726                                    ett_h245_T_aal5, T_aal5_sequence);
2727
2728   return offset;
2729 }
2730
2731
2732
2733 static int
2734 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_) {
2735   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2736                                                             1U, 65535U, NULL, FALSE);
2737
2738   return offset;
2739 }
2740
2741
2742 static const per_sequence_t T_rangeOfBitRates_sequence[] = {
2743   { &hf_h245_lowerBitRate   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2744   { &hf_h245_higherBitRate  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2745   { NULL, 0, 0, NULL }
2746 };
2747
2748 static int
2749 dissect_h245_T_rangeOfBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2750   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2751                                    ett_h245_T_rangeOfBitRates, T_rangeOfBitRates_sequence);
2752
2753   return offset;
2754 }
2755
2756
2757 static const value_string h245_Avb_type_vals[] = {
2758   {   0, "singleBitRate" },
2759   {   1, "rangeOfBitRates" },
2760   { 0, NULL }
2761 };
2762
2763 static const per_choice_t Avb_type_choice[] = {
2764   {   0, &hf_h245_singleBitRate  , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_1_65535 },
2765   {   1, &hf_h245_rangeOfBitRates, ASN1_NO_EXTENSIONS     , dissect_h245_T_rangeOfBitRates },
2766   { 0, NULL, 0, NULL }
2767 };
2768
2769 static int
2770 dissect_h245_Avb_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2771   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2772                                  ett_h245_Avb_type, Avb_type_choice,
2773                                  NULL);
2774
2775   return offset;
2776 }
2777
2778
2779 static const per_sequence_t T_availableBitRates_sequence[] = {
2780   { &hf_h245_avb_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Avb_type },
2781   { NULL, 0, 0, NULL }
2782 };
2783
2784 static int
2785 dissect_h245_T_availableBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2786   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2787                                    ett_h245_T_availableBitRates, T_availableBitRates_sequence);
2788
2789   return offset;
2790 }
2791
2792
2793
2794 static int
2795 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_) {
2796   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
2797                                           1, 16, FALSE);
2798
2799   return offset;
2800 }
2801
2802
2803
2804 static int
2805 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_) {
2806   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2807                                        1, 20, FALSE, NULL);
2808
2809   return offset;
2810 }
2811
2812
2813 static const value_string h245_T_address_vals[] = {
2814   {   0, "internationalNumber" },
2815   {   1, "nsapAddress" },
2816   { 0, NULL }
2817 };
2818
2819 static const per_choice_t T_address_choice[] = {
2820   {   0, &hf_h245_internationalNumber, ASN1_EXTENSION_ROOT    , dissect_h245_NumericString_SIZE_1_16 },
2821   {   1, &hf_h245_nsapAddress    , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2822   { 0, NULL, 0, NULL }
2823 };
2824
2825 static int
2826 dissect_h245_T_address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2827   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2828                                  ett_h245_T_address, T_address_choice,
2829                                  NULL);
2830
2831   return offset;
2832 }
2833
2834
2835 static const per_sequence_t Q2931Address_sequence[] = {
2836   { &hf_h245_address        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_address },
2837   { &hf_h245_subaddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2838   { NULL, 0, 0, NULL }
2839 };
2840
2841 static int
2842 dissect_h245_Q2931Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2843   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2844                                    ett_h245_Q2931Address, Q2931Address_sequence);
2845
2846   return offset;
2847 }
2848
2849
2850 static const per_sequence_t SET_SIZE_1_256_OF_Q2931Address_set_of[1] = {
2851   { &hf_h245_gatewayAddress_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Q2931Address },
2852 };
2853
2854 static int
2855 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_) {
2856   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
2857                                              ett_h245_SET_SIZE_1_256_OF_Q2931Address, SET_SIZE_1_256_OF_Q2931Address_set_of,
2858                                              1, 256, FALSE);
2859
2860   return offset;
2861 }
2862
2863
2864 static const per_sequence_t T_aal1ViaGateway_sequence[] = {
2865   { &hf_h245_gatewayAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_Q2931Address },
2866   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2867   { &hf_h245_srtsClockRecoveryflag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2868   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2869   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2870   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2871   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2872   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2873   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2874   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2875   { NULL, 0, 0, NULL }
2876 };
2877
2878 static int
2879 dissect_h245_T_aal1ViaGateway(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2880   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2881                                    ett_h245_T_aal1ViaGateway, T_aal1ViaGateway_sequence);
2882
2883   return offset;
2884 }
2885
2886
2887 static const per_sequence_t VCCapability_sequence[] = {
2888   { &hf_h245_aal1           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal1 },
2889   { &hf_h245_aal5           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal5 },
2890   { &hf_h245_transportStream_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2891   { &hf_h245_programStream  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2892   { &hf_h245_availableBitRates, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_availableBitRates },
2893   { &hf_h245_aal1ViaGateway , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_aal1ViaGateway },
2894   { NULL, 0, 0, NULL }
2895 };
2896
2897 static int
2898 dissect_h245_VCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2899   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2900                                    ett_h245_VCCapability, VCCapability_sequence);
2901
2902   return offset;
2903 }
2904
2905
2906 static const per_sequence_t SET_OF_VCCapability_set_of[1] = {
2907   { &hf_h245_vcCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VCCapability },
2908 };
2909
2910 static int
2911 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_) {
2912   offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
2913                                  ett_h245_SET_OF_VCCapability, SET_OF_VCCapability_set_of);
2914
2915   return offset;
2916 }
2917
2918
2919 static const per_sequence_t H222Capability_sequence[] = {
2920   { &hf_h245_numberOfVCs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
2921   { &hf_h245_vcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_OF_VCCapability },
2922   { NULL, 0, 0, NULL }
2923 };
2924
2925 static int
2926 dissect_h245_H222Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2927   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2928                                    ett_h245_H222Capability, H222Capability_sequence);
2929
2930   return offset;
2931 }
2932
2933
2934
2935 static int
2936 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_) {
2937   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2938                                                             0U, 1023U, NULL, FALSE);
2939
2940   return offset;
2941 }
2942
2943
2944
2945 static int
2946 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2947   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
2948
2949   return offset;
2950 }
2951
2952
2953
2954 static int
2955 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_) {
2956   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2957                                                             1U, 15U, NULL, FALSE);
2958
2959   return offset;
2960 }
2961
2962
2963
2964 static int
2965 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_) {
2966   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2967                                                             2U, 255U, NULL, FALSE);
2968
2969   return offset;
2970 }
2971
2972
2973 static const per_sequence_t T_enhanced_sequence[] = {
2974   { &hf_h245_maximumNestingDepth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_15 },
2975   { &hf_h245_maximumElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2976   { &hf_h245_maximumSubElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2977   { NULL, 0, 0, NULL }
2978 };
2979
2980 static int
2981 dissect_h245_T_enhanced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2982   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2983                                    ett_h245_T_enhanced, T_enhanced_sequence);
2984
2985   return offset;
2986 }
2987
2988
2989 static const value_string h245_T_h223MultiplexTableCapability_vals[] = {
2990   {   0, "basic" },
2991   {   1, "enhanced" },
2992   { 0, NULL }
2993 };
2994
2995 static const per_choice_t T_h223MultiplexTableCapability_choice[] = {
2996   {   0, &hf_h245_basic          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
2997   {   1, &hf_h245_enhanced       , ASN1_NO_EXTENSIONS     , dissect_h245_T_enhanced },
2998   { 0, NULL, 0, NULL }
2999 };
3000
3001 static int
3002 dissect_h245_T_h223MultiplexTableCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3003   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3004                                  ett_h245_T_h223MultiplexTableCapability, T_h223MultiplexTableCapability_choice,
3005                                  NULL);
3006
3007   return offset;
3008 }
3009
3010
3011 static const per_sequence_t T_mobileOperationTransmitCapability_sequence[] = {
3012   { &hf_h245_modeChangeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3013   { &hf_h245_h223AnnexA     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3014   { &hf_h245_h223AnnexADoubleFlagFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3015   { &hf_h245_h223AnnexB     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3016   { &hf_h245_h223AnnexBwithHeader, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3017   { NULL, 0, 0, NULL }
3018 };
3019
3020 static int
3021 dissect_h245_T_mobileOperationTransmitCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3022   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3023                                    ett_h245_T_mobileOperationTransmitCapability, T_mobileOperationTransmitCapability_sequence);
3024
3025   return offset;
3026 }
3027
3028
3029 static const per_sequence_t H223AnnexCCapability_sequence[] = {
3030   { &hf_h245_videoWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3031   { &hf_h245_videoWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3032   { &hf_h245_videoWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3033   { &hf_h245_audioWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3034   { &hf_h245_audioWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3035   { &hf_h245_audioWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3036   { &hf_h245_dataWithAL1M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3037   { &hf_h245_dataWithAL2M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3038   { &hf_h245_dataWithAL3M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3039   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3040   { &hf_h245_maximumAL1MPDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3041   { &hf_h245_maximumAL2MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3042   { &hf_h245_maximumAL3MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3043   { &hf_h245_rsCodeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
3044   { NULL, 0, 0, NULL }
3045 };
3046
3047 static int
3048 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3049   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3050                                    ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
3051
3052   return offset;
3053 }
3054
3055
3056
3057 static int
3058 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_) {
3059   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3060                                                             1U, 19200U, NULL, FALSE);
3061
3062   return offset;
3063 }
3064
3065
3066
3067 static int
3068 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_) {
3069   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3070                                                             1U, 255U, NULL, FALSE);
3071
3072   return offset;
3073 }
3074
3075
3076
3077 static int
3078 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_) {
3079   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3080                                                             1U, 65025U, NULL, FALSE);
3081
3082   return offset;
3083 }
3084
3085
3086 static const per_sequence_t T_mobileMultilinkFrameCapability_sequence[] = {
3087   { &hf_h245_maximumSampleSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
3088   { &hf_h245_maximumPayloadLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65025 },
3089   { NULL, 0, 0, NULL }
3090 };
3091
3092 static int
3093 dissect_h245_T_mobileMultilinkFrameCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3094   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3095                                    ett_h245_T_mobileMultilinkFrameCapability, T_mobileMultilinkFrameCapability_sequence);
3096
3097   return offset;
3098 }
3099
3100
3101 static const per_sequence_t H223Capability_sequence[] = {
3102   { &hf_h245_transportWithI_frames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3103   { &hf_h245_videoWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3104   { &hf_h245_videoWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3105   { &hf_h245_videoWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3106   { &hf_h245_audioWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3107   { &hf_h245_audioWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3108   { &hf_h245_audioWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3109   { &hf_h245_dataWithAL1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3110   { &hf_h245_dataWithAL2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3111   { &hf_h245_dataWithAL3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3112   { &hf_h245_maximumAl2SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3113   { &hf_h245_maximumAl3SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3114   { &hf_h245_maximumDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
3115   { &hf_h245_h223MultiplexTableCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223MultiplexTableCapability },
3116   { &hf_h245_maxMUXPDUSizeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3117   { &hf_h245_nsrpSupport    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3118   { &hf_h245_mobileOperationTransmitCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileOperationTransmitCapability },
3119   { &hf_h245_h223AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H223AnnexCCapability },
3120   { &hf_h245_bitRate_1_19200, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_19200 },
3121   { &hf_h245_mobileMultilinkFrameCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileMultilinkFrameCapability },
3122   { NULL, 0, 0, NULL }
3123 };
3124
3125 int
3126 dissect_h245_H223Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3127   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3128                                    ett_h245_H223Capability, H223Capability_sequence);
3129
3130   return offset;
3131 }
3132
3133
3134
3135 static int
3136 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_) {
3137   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3138                                                             2U, 8191U, NULL, FALSE);
3139
3140   return offset;
3141 }
3142
3143
3144
3145 static int
3146 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_) {
3147   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3148                                                             1U, 4095U, NULL, FALSE);
3149
3150   return offset;
3151 }
3152
3153
3154
3155 static int
3156 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_) {
3157   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3158                                                             1U, 127U, NULL, FALSE);
3159
3160   return offset;
3161 }
3162
3163
3164 static const per_sequence_t V75Capability_sequence[] = {
3165   { &hf_h245_audioHeader    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3166   { NULL, 0, 0, NULL }
3167 };
3168
3169 static int
3170 dissect_h245_V75Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3171   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3172                                    ett_h245_V75Capability, V75Capability_sequence);
3173
3174   return offset;
3175 }
3176
3177
3178 static const per_sequence_t V76Capability_sequence[] = {
3179   { &hf_h245_suspendResumeCapabilitywAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3180   { &hf_h245_suspendResumeCapabilitywoAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3181   { &hf_h245_rejCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3182   { &hf_h245_sREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3183   { &hf_h245_mREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3184   { &hf_h245_crc8bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3185   { &hf_h245_crc16bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3186   { &hf_h245_crc32bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3187   { &hf_h245_uihCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3188   { &hf_h245_numOfDLCS      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_8191 },
3189   { &hf_h245_twoOctetAddressFieldCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3190   { &hf_h245_loopBackTestCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3191   { &hf_h245_n401Capability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
3192   { &hf_h245_maxWindowSizeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
3193   { &hf_h245_v75Capability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Capability },
3194   { NULL, 0, 0, NULL }
3195 };
3196
3197 static int
3198 dissect_h245_V76Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3199   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3200                                    ett_h245_V76Capability, V76Capability_sequence);
3201
3202   return offset;
3203 }
3204
3205
3206
3207 static int
3208 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_) {
3209   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3210                                                             1U, 65536U, NULL, FALSE);
3211
3212   return offset;
3213 }
3214
3215
3216 static const per_sequence_t V42bis_sequence[] = {
3217   { &hf_h245_numberOfCodewords, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
3218   { &hf_h245_maximumStringLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
3219   { NULL, 0, 0, NULL }
3220 };
3221
3222 static int
3223 dissect_h245_V42bis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3224   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3225                                    ett_h245_V42bis, V42bis_sequence);
3226
3227   return offset;
3228 }
3229
3230
3231 static const value_string h245_CompressionType_vals[] = {
3232   {   0, "v42bis" },
3233   { 0, NULL }
3234 };
3235
3236 static const per_choice_t CompressionType_choice[] = {
3237   {   0, &hf_h245_v42bis         , ASN1_EXTENSION_ROOT    , dissect_h245_V42bis },
3238   { 0, NULL, 0, NULL }
3239 };
3240
3241 static int
3242 dissect_h245_CompressionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3243   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3244                                  ett_h245_CompressionType, CompressionType_choice,
3245                                  NULL);
3246
3247   return offset;
3248 }
3249
3250
3251 static const value_string h245_T_v76wCompression_vals[] = {
3252   {   0, "transmitCompression" },
3253   {   1, "receiveCompression" },
3254   {   2, "transmitAndReceiveCompression" },
3255   { 0, NULL }
3256 };
3257
3258 static const per_choice_t T_v76wCompression_choice[] = {
3259   {   0, &hf_h245_transmitCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3260   {   1, &hf_h245_receiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3261   {   2, &hf_h245_transmitAndReceiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3262   { 0, NULL, 0, NULL }
3263 };
3264
3265 static int
3266 dissect_h245_T_v76wCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3267   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3268                                  ett_h245_T_v76wCompression, T_v76wCompression_choice,
3269                                  NULL);
3270
3271   return offset;
3272 }
3273
3274
3275 const value_string DataProtocolCapability_vals[] = {
3276   {   0, "nonStandard" },
3277   {   1, "v14buffered" },
3278   {   2, "v42lapm" },
3279   {   3, "hdlcFrameTunnelling" },
3280   {   4, "h310SeparateVCStack" },
3281   {   5, "h310SingleVCStack" },
3282   {   6, "transparent" },
3283   {   7, "segmentationAndReassembly" },
3284   {   8, "hdlcFrameTunnelingwSAR" },
3285   {   9, "v120" },
3286   {  10, "separateLANStack" },
3287   {  11, "v76wCompression" },
3288   {  12, "tcp" },
3289   {  13, "udp" },
3290   { 0, NULL }
3291 };
3292
3293 static const per_choice_t DataProtocolCapability_choice[] = {
3294   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3295   {   1, &hf_h245_v14buffered    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3296   {   2, &hf_h245_v42lapm        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3297   {   3, &hf_h245_hdlcFrameTunnelling, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3298   {   4, &hf_h245_h310SeparateVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3299   {   5, &hf_h245_h310SingleVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3300   {   6, &hf_h245_transparent    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3301   {   7, &hf_h245_segmentationAndReassembly, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3302   {   8, &hf_h245_hdlcFrameTunnelingwSAR, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3303   {   9, &hf_h245_v120           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3304   {  10, &hf_h245_separateLANStack, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3305   {  11, &hf_h245_v76wCompression, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_v76wCompression },
3306   {  12, &hf_h245_tcp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3307   {  13, &hf_h245_udp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3308   { 0, NULL, 0, NULL }
3309 };
3310
3311 int
3312 dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3313   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3314                                  ett_h245_DataProtocolCapability, DataProtocolCapability_choice,
3315                                  NULL);
3316
3317   return offset;
3318 }
3319
3320
3321 static const per_sequence_t T_t84Restricted_sequence[] = {
3322   { &hf_h245_qcif_bool      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3323   { &hf_h245_cif_bool       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3324   { &hf_h245_ccir601Seq     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3325   { &hf_h245_ccir601Prog    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3326   { &hf_h245_hdtvSeq        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3327   { &hf_h245_hdtvProg       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3328   { &hf_h245_g3FacsMH200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3329   { &hf_h245_g3FacsMH200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3330   { &hf_h245_g4FacsMMR200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3331   { &hf_h245_g4FacsMMR200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3332   { &hf_h245_jbig200x200Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3333   { &hf_h245_jbig200x200Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3334   { &hf_h245_jbig300x300Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3335   { &hf_h245_jbig300x300Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3336   { &hf_h245_digPhotoLow    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3337   { &hf_h245_digPhotoMedSeq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3338   { &hf_h245_digPhotoMedProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3339   { &hf_h245_digPhotoHighSeq, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3340   { &hf_h245_digPhotoHighProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3341   { NULL, 0, 0, NULL }
3342 };
3343
3344 static int
3345 dissect_h245_T_t84Restricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3346   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3347                                    ett_h245_T_t84Restricted, T_t84Restricted_sequence);
3348
3349   return offset;
3350 }
3351
3352
3353 static const value_string h245_T84Profile_vals[] = {
3354   {   0, "t84Unrestricted" },
3355   {   1, "t84Restricted" },
3356   { 0, NULL }
3357 };
3358
3359 static const per_choice_t T84Profile_choice[] = {
3360   {   0, &hf_h245_t84Unrestricted, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
3361   {   1, &hf_h245_t84Restricted  , ASN1_NO_EXTENSIONS     , dissect_h245_T_t84Restricted },
3362   { 0, NULL, 0, NULL }
3363 };
3364
3365 static int
3366 dissect_h245_T84Profile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3367   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3368                                  ett_h245_T84Profile, T84Profile_choice,
3369                                  NULL);
3370
3371   return offset;
3372 }
3373
3374
3375 static const per_sequence_t T_t84_sequence[] = {
3376   { &hf_h245_t84Protocol    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3377   { &hf_h245_t84Profile     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T84Profile },
3378   { NULL, 0, 0, NULL }
3379 };
3380
3381 static int
3382 dissect_h245_T_t84(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3383   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3384                                    ett_h245_T_t84, T_t84_sequence);
3385
3386   return offset;
3387 }
3388
3389
3390
3391 static int
3392 dissect_h245_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3393   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3394                                        NO_BOUND, NO_BOUND, FALSE, NULL);
3395
3396   return offset;
3397 }
3398
3399
3400 static const per_sequence_t Nlpid_sequence[] = {
3401   { &hf_h245_nlpidProtocol  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3402   { &hf_h245_nlpidData      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
3403   { NULL, 0, 0, NULL }
3404 };
3405
3406 static int
3407 dissect_h245_Nlpid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3408   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3409                                    ett_h245_Nlpid, Nlpid_sequence);
3410
3411   return offset;
3412 }
3413
3414
3415 static const value_string h245_T38FaxRateManagement_vals[] = {
3416   {   0, "localTCF" },
3417   {   1, "transferredTCF" },
3418   { 0, NULL }
3419 };
3420
3421 static const per_choice_t T38FaxRateManagement_choice[] = {
3422   {   0, &hf_h245_localTCF       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3423   {   1, &hf_h245_transferredTCF , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3424   { 0, NULL, 0, NULL }
3425 };
3426
3427 static int
3428 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3429   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3430                                  ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice,
3431                                  NULL);
3432
3433   return offset;
3434 }
3435
3436
3437
3438 static int
3439 dissect_h245_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3440   offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
3441
3442   return offset;
3443 }
3444
3445
3446 static const value_string h245_T_t38FaxUdpEC_vals[] = {
3447   {   0, "t38UDPFEC" },
3448   {   1, "t38UDPRedundancy" },
3449   { 0, NULL }
3450 };
3451
3452 static const per_choice_t T_t38FaxUdpEC_choice[] = {
3453   {   0, &hf_h245_t38UDPFEC      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3454   {   1, &hf_h245_t38UDPRedundancy, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3455   { 0, NULL, 0, NULL }
3456 };
3457
3458 static int
3459 dissect_h245_T_t38FaxUdpEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3460   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3461                                  ett_h245_T_t38FaxUdpEC, T_t38FaxUdpEC_choice,
3462                                  NULL);
3463
3464   return offset;
3465 }
3466
3467
3468 static const per_sequence_t T38FaxUdpOptions_sequence[] = {
3469   { &hf_h245_t38FaxMaxBuffer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3470   { &hf_h245_t38FaxMaxDatagram, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3471   { &hf_h245_t38FaxUdpEC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t38FaxUdpEC },
3472   { NULL, 0, 0, NULL }
3473 };
3474
3475 static int
3476 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3477   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3478                                    ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
3479
3480   return offset;
3481 }
3482
3483
3484 static const per_sequence_t T38FaxTcpOptions_sequence[] = {
3485   { &hf_h245_t38TCPBidirectionalMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3486   { NULL, 0, 0, NULL }
3487 };
3488
3489 static int
3490 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3491   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3492                                    ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
3493
3494   return offset;
3495 }
3496
3497
3498 static const per_sequence_t T38FaxProfile_sequence[] = {
3499   { &hf_h245_fillBitRemoval , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3500   { &hf_h245_transcodingJBIG, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3501   { &hf_h245_transcodingMMR , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3502   { &hf_h245_version        , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
3503   { &hf_h245_t38FaxRateManagement, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T38FaxRateManagement },
3504   { &hf_h245_t38FaxUdpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxUdpOptions },
3505   { &hf_h245_t38FaxTcpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxTcpOptions },
3506   { NULL, 0, 0, NULL }
3507 };
3508
3509 int
3510 dissect_h245_T38FaxProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3511   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3512                                    ett_h245_T38FaxProfile, T38FaxProfile_sequence);
3513
3514   return offset;
3515 }
3516
3517
3518 static const per_sequence_t T_t38fax_sequence[] = {
3519   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3520   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
3521   { NULL, 0, 0, NULL }
3522 };
3523
3524 static int
3525 dissect_h245_T_t38fax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3526   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3527                                    ett_h245_T_t38fax, T_t38fax_sequence);
3528
3529   return offset;
3530 }
3531
3532
3533
3534 static int
3535 dissect_h245_T_standardOid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3536 #line 693 "./asn1/h245/h245.cnf"
3537   const gchar *standard_oid_str = NULL;
3538   gef_ctx_t *gefx;
3539
3540   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &standard_oid_str);
3541
3542   gefx = gef_ctx_get(actx->private_data);
3543   if (gefx) gefx->id = standard_oid_str;
3544
3545   if(strcmp(standard_oid_str,"0.0.8.235.0.3.76") == 0) {  /* MIKEY */
3546     if (upcoming_channel)
3547           upcoming_channel->srtp_flag = TRUE;
3548   }
3549
3550   if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0)
3551         h245_lc_dissector = amr_handle;
3552
3553
3554   return offset;
3555 }
3556
3557
3558
3559 static int
3560 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_) {
3561   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3562                                        16, 16, FALSE, NULL);
3563
3564   return offset;
3565 }
3566
3567
3568
3569 static int
3570 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_) {
3571   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3572                                           1, 64, FALSE);
3573
3574   return offset;
3575 }
3576
3577
3578 static const value_string h245_CapabilityIdentifier_vals[] = {
3579   {   0, "standard" },
3580   {   1, "h221NonStandard" },
3581   {   2, "uuid" },
3582   {   3, "domainBased" },
3583   { 0, NULL }
3584 };
3585
3586 static const per_choice_t CapabilityIdentifier_choice[] = {
3587   {   0, &hf_h245_standardOid    , ASN1_EXTENSION_ROOT    , dissect_h245_T_standardOid },
3588   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3589   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3590   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3591   { 0, NULL, 0, NULL }
3592 };
3593
3594 static int
3595 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3596 #line 678 "./asn1/h245/h245.cnf"
3597   gef_ctx_t *gefx;
3598   proto_item* ti;
3599
3600
3601   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3602                                  ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice,
3603                                  NULL);
3604
3605 #line 682 "./asn1/h245/h245.cnf"
3606   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3607   gefx = gef_ctx_get(actx->private_data);
3608   if (gefx) {
3609     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3610         PROTO_ITEM_SET_HIDDEN(ti);
3611     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset_length_caplen(tvb, offset>>3, 0, 0), actx->pinfo, tree, actx);
3612   }
3613   actx->private_data = gefx;  /* subdissector could overwrite it */
3614
3615   return offset;
3616 }
3617
3618
3619
3620 static int
3621 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_) {
3622   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3623                                                             0U, 4294967295U, NULL, FALSE);
3624
3625   return offset;
3626 }
3627
3628
3629
3630 static int
3631 dissect_h245_T_standard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3632 #line 724 "./asn1/h245/h245.cnf"
3633   guint32 value_int = (guint32)-1;
3634   gef_ctx_t *gefx;
3635
3636   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3637                                                             0U, 127U, &value_int, FALSE);
3638
3639   gefx = gef_ctx_get(actx->private_data);
3640   if (gefx) gefx->id = wmem_strdup_printf(wmem_packet_scope(), "%d", value_int);
3641
3642
3643   return offset;
3644 }
3645
3646
3647 static const value_string h245_ParameterIdentifier_vals[] = {
3648   {   0, "standard" },
3649   {   1, "h221NonStandard" },
3650   {   2, "uuid" },
3651   {   3, "domainBased" },
3652   { 0, NULL }
3653 };
3654
3655 static const per_choice_t ParameterIdentifier_choice[] = {
3656   {   0, &hf_h245_standard       , ASN1_EXTENSION_ROOT    , dissect_h245_T_standard },
3657   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3658   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3659   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3660   { 0, NULL, 0, NULL }
3661 };
3662
3663 static int
3664 dissect_h245_ParameterIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3665 #line 710 "./asn1/h245/h245.cnf"
3666   gef_ctx_t *gefx;
3667   proto_item* ti;
3668
3669   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3670                                  ett_h245_ParameterIdentifier, ParameterIdentifier_choice,
3671                                  NULL);
3672
3673 #line 713 "./asn1/h245/h245.cnf"
3674   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3675   gefx = gef_ctx_get(actx->private_data);
3676   if (gefx) {
3677     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3678         PROTO_ITEM_SET_HIDDEN(ti);
3679     dissector_try_string_new(gef_name_dissector_table, gefx->key, tvb_new_subset_length_caplen(tvb, offset>>3, 0, 0), actx->pinfo, tree, FALSE, actx);
3680   }
3681   actx->private_data = gefx;  /* subdissector could overwrite it */
3682
3683   return offset;
3684 }
3685
3686
3687
3688 static int
3689 dissect_h245_T_booleanArray(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3690 #line 733 "./asn1/h245/h245.cnf"
3691   guint32 value;
3692   guint8 *buf;
3693   tvbuff_t *value_tvb;
3694   gef_ctx_t *gefx;
3695   proto_item* ti;
3696
3697   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3698                                                             0U, 255U, &value, FALSE);
3699
3700   gefx = gef_ctx_get(actx->private_data);
3701   if (gefx) {
3702     buf = wmem_new(actx->pinfo->pool, guint8);
3703     buf[0] = value;
3704     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint8), sizeof(guint8));
3705     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3706         PROTO_ITEM_SET_HIDDEN(ti);
3707     add_new_data_source(actx->pinfo, value_tvb, "booleanArray");
3708     dissector_try_string_new(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, FALSE, actx);
3709   }
3710
3711
3712   return offset;
3713 }
3714
3715
3716
3717 static int
3718 dissect_h245_T_unsignedMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3719 #line 752 "./asn1/h245/h245.cnf"
3720   guint32 value;
3721   guint8 *buf;
3722   tvbuff_t *value_tvb;
3723   gef_ctx_t *gefx;
3724   proto_item* ti;
3725
3726   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3727                                                             0U, 65535U, &value, FALSE);
3728
3729   gefx = gef_ctx_get(actx->private_data);
3730   if (gefx) {
3731     buf = (guint8 *)wmem_new(actx->pinfo->pool, guint16);
3732     phton16(buf, value);
3733     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
3734     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3735         PROTO_ITEM_SET_HIDDEN(ti);
3736     add_new_data_source(actx->pinfo, value_tvb, "unsignedMin");
3737     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx);
3738   }
3739
3740
3741   return offset;
3742 }
3743
3744
3745
3746 static int
3747 dissect_h245_T_unsignedMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3748 #line 771 "./asn1/h245/h245.cnf"
3749   guint32 value;
3750   guint8 *buf;
3751   tvbuff_t *value_tvb;
3752   gef_ctx_t *gefx;
3753   proto_item* ti;
3754
3755   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3756                                                             0U, 65535U, &value, FALSE);
3757
3758   gefx = gef_ctx_get(actx->private_data);
3759   if (gefx) {
3760     buf = (guint8 *)wmem_new(actx->pinfo->pool, guint16);
3761     phton16(buf, value);
3762     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
3763     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3764         PROTO_ITEM_SET_HIDDEN(ti);
3765     add_new_data_source(actx->pinfo, value_tvb, "unsignedMax");
3766     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx);
3767   }
3768
3769
3770   return offset;
3771 }
3772
3773
3774
3775 static int
3776 dissect_h245_T_unsigned32Min(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3777 #line 790 "./asn1/h245/h245.cnf"
3778   guint32 value;
3779   guint8 *buf;
3780   tvbuff_t *value_tvb;
3781   gef_ctx_t *gefx;
3782   proto_item* ti;
3783
3784   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3785                                                             0U, 4294967295U, &value, FALSE);
3786
3787   gefx = gef_ctx_get(actx->private_data);
3788   if (gefx) {
3789     buf = (guint8 *)wmem_new(actx->pinfo->pool, guint32);
3790     phton32(buf, value);
3791     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
3792     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3793         PROTO_ITEM_SET_HIDDEN(ti);
3794     add_new_data_source(actx->pinfo, value_tvb, "unsigned32Min");
3795     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx);
3796   }
3797
3798
3799   return offset;
3800 }
3801
3802
3803
3804 static int
3805 dissect_h245_T_unsigned32Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3806 #line 809 "./asn1/h245/h245.cnf"
3807   guint32 value;
3808   guint8 *buf;
3809   tvbuff_t *value_tvb;
3810   gef_ctx_t *gefx;
3811   proto_item* ti;
3812
3813   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3814                                                             0U, 4294967295U, &value, FALSE);
3815
3816   gefx = gef_ctx_get(actx->private_data);
3817   if (gefx) {
3818     buf = (guint8 *)wmem_new(actx->pinfo->pool, guint32);
3819     phton32(buf, value);
3820     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
3821     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3822         PROTO_ITEM_SET_HIDDEN(ti);
3823     add_new_data_source(actx->pinfo, value_tvb, "unsigned32Max");
3824     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx);
3825   }
3826
3827
3828   return offset;
3829 }
3830
3831
3832
3833 static int
3834 dissect_h245_T_octetString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3835 #line 828 "./asn1/h245/h245.cnf"
3836   tvbuff_t *value_tvb;
3837   gef_ctx_t *gefx;
3838   proto_item* ti;
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     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3846         PROTO_ITEM_SET_HIDDEN(ti);
3847     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx);
3848   }
3849
3850
3851   return offset;
3852 }
3853
3854
3855 static const per_sequence_t SEQUENCE_OF_GenericParameter_sequence_of[1] = {
3856   { &hf_h245_genericParameters_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericParameter },
3857 };
3858
3859 static int
3860 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_) {
3861   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3862                                       ett_h245_SEQUENCE_OF_GenericParameter, SEQUENCE_OF_GenericParameter_sequence_of);
3863
3864   return offset;
3865 }
3866
3867
3868 static const value_string h245_ParameterValue_vals[] = {
3869   {   0, "logical" },
3870   {   1, "booleanArray" },
3871   {   2, "unsignedMin" },
3872   {   3, "unsignedMax" },
3873   {   4, "unsigned32Min" },
3874   {   5, "unsigned32Max" },
3875   {   6, "octetString" },
3876   {   7, "genericParameter" },
3877   { 0, NULL }
3878 };
3879
3880 static const per_choice_t ParameterValue_choice[] = {
3881   {   0, &hf_h245_logical        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3882   {   1, &hf_h245_booleanArray   , ASN1_EXTENSION_ROOT    , dissect_h245_T_booleanArray },
3883   {   2, &hf_h245_unsignedMin    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMin },
3884   {   3, &hf_h245_unsignedMax    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMax },
3885   {   4, &hf_h245_unsigned32Min  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Min },
3886   {   5, &hf_h245_unsigned32Max  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Max },
3887   {   6, &hf_h245_octetString    , ASN1_EXTENSION_ROOT    , dissect_h245_T_octetString },
3888   {   7, &hf_h245_genericParameters, ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_OF_GenericParameter },
3889   { 0, NULL, 0, NULL }
3890 };
3891
3892 static int
3893 dissect_h245_ParameterValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3894   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3895                                  ett_h245_ParameterValue, ParameterValue_choice,
3896                                  NULL);
3897
3898   return offset;
3899 }
3900
3901
3902 static const per_sequence_t SEQUENCE_OF_ParameterIdentifier_sequence_of[1] = {
3903   { &hf_h245_supersedes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3904 };
3905
3906 static int
3907 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_) {
3908   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3909                                       ett_h245_SEQUENCE_OF_ParameterIdentifier, SEQUENCE_OF_ParameterIdentifier_sequence_of);
3910
3911   return offset;
3912 }
3913
3914
3915 static const per_sequence_t GenericParameter_sequence[] = {
3916   { &hf_h245_parameterIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3917   { &hf_h245_parameterValue , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterValue },
3918   { &hf_h245_supersedes     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_ParameterIdentifier },
3919   { NULL, 0, 0, NULL }
3920 };
3921
3922 static int
3923 dissect_h245_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3924   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3925                                    ett_h245_GenericParameter, GenericParameter_sequence);
3926
3927   return offset;
3928 }
3929
3930
3931
3932 static int
3933 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_) {
3934 #line 633 "./asn1/h245/h245.cnf"
3935   gef_ctx_t *parent_gefx;
3936
3937   parent_gefx = gef_ctx_get(actx->private_data);
3938   actx->private_data = gef_ctx_alloc(parent_gefx, "collapsing");
3939
3940   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3941
3942 #line 638 "./asn1/h245/h245.cnf"
3943   actx->private_data = parent_gefx;
3944
3945   return offset;
3946 }
3947
3948
3949 static const per_sequence_t T_collapsing_sequence_of[1] = {
3950   { &hf_h245_collapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_collapsing_item },
3951 };
3952
3953 static int
3954 dissect_h245_T_collapsing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3955   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3956                                       ett_h245_T_collapsing, T_collapsing_sequence_of);
3957
3958   return offset;
3959 }
3960
3961
3962
3963 static int
3964 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_) {
3965 #line 642 "./asn1/h245/h245.cnf"
3966   gef_ctx_t *parent_gefx;
3967
3968   parent_gefx = gef_ctx_get(actx->private_data);
3969   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsing");
3970
3971   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3972
3973 #line 647 "./asn1/h245/h245.cnf"
3974   actx->private_data = parent_gefx;
3975
3976   return offset;
3977 }
3978
3979
3980 static const per_sequence_t T_nonCollapsing_sequence_of[1] = {
3981   { &hf_h245_nonCollapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nonCollapsing_item },
3982 };
3983
3984 static int
3985 dissect_h245_T_nonCollapsing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3986   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3987                                       ett_h245_T_nonCollapsing, T_nonCollapsing_sequence_of);
3988
3989   return offset;
3990 }
3991
3992
3993
3994 static int
3995 dissect_h245_T_nonCollapsingRaw(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3996 #line 651 "./asn1/h245/h245.cnf"
3997   tvbuff_t *value_tvb;
3998   gef_ctx_t *parent_gefx;
3999   gef_ctx_t *gefx;
4000   proto_item* ti;
4001
4002   parent_gefx = gef_ctx_get(actx->private_data);
4003   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsingRaw");
4004   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4005                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
4006
4007   gefx = gef_ctx_get(actx->private_data);
4008   if (gefx) {
4009     ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
4010         PROTO_ITEM_SET_HIDDEN(ti);
4011     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx);
4012   }
4013   actx->private_data = parent_gefx;
4014
4015
4016   return offset;
4017 }
4018
4019
4020 static const per_sequence_t GenericCapability_sequence[] = {
4021   { &hf_h245_capabilityIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
4022   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4023   { &hf_h245_collapsing     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_collapsing },
4024   { &hf_h245_nonCollapsing  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsing },
4025   { &hf_h245_nonCollapsingRaw, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsingRaw },
4026   { &hf_h245_transport      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataProtocolCapability },
4027   { NULL, 0, 0, NULL }
4028 };
4029
4030 static int
4031 dissect_h245_GenericCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4032 #line 626 "./asn1/h245/h245.cnf"
4033   void *priv_data = actx->private_data;
4034   actx->private_data = gef_ctx_alloc(NULL, "GenericCapability");
4035
4036   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4037                                    ett_h245_GenericCapability, GenericCapability_sequence);
4038
4039 #line 629 "./asn1/h245/h245.cnf"
4040   actx->private_data = priv_data;
4041
4042   return offset;
4043 }
4044
4045
4046 static const value_string h245_Application_vals[] = {
4047   {   0, "nonStandard" },
4048   {   1, "t120" },
4049   {   2, "dsm-cc" },
4050   {   3, "userData" },
4051   {   4, "t84" },
4052   {   5, "t434" },
4053   {   6, "h224" },
4054   {   7, "nlpid" },
4055   {   8, "dsvdControl" },
4056   {   9, "h222DataPartitioning" },
4057   {  10, "t30fax" },
4058   {  11, "t140" },
4059   {  12, "t38fax" },
4060   {  13, "genericDataCapability" },
4061   { 0, NULL }
4062 };
4063
4064 static const per_choice_t Application_choice[] = {
4065   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4066   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4067   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4068   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4069   {   4, &hf_h245_t84            , ASN1_EXTENSION_ROOT    , dissect_h245_T_t84 },
4070   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4071   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4072   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
4073   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4074   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4075   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4076   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4077   {  12, &hf_h245_t38fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_t38fax },
4078   {  13, &hf_h245_genericDataCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4079   { 0, NULL, 0, NULL }
4080 };
4081
4082 static int
4083 dissect_h245_Application(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4084 #line 465 "./asn1/h245/h245.cnf"
4085   gint32 value;
4086
4087   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4088                                  ett_h245_Application, Application_choice,
4089                                  &value);
4090
4091         codec_type = val_to_str(value, h245_Application_vals, "<unknown>");
4092
4093
4094   return offset;
4095 }
4096
4097
4098 static const per_sequence_t DataApplicationCapability_sequence[] = {
4099   { &hf_h245_application    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Application },
4100   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
4101   { NULL, 0, 0, NULL }
4102 };
4103
4104 static int
4105 dissect_h245_DataApplicationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4106   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4107                                    ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
4108
4109   return offset;
4110 }
4111
4112
4113 static const per_sequence_t SEQUENCE_OF_DataApplicationCapability_sequence_of[1] = {
4114   { &hf_h245_centralizedData_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataApplicationCapability },
4115 };
4116
4117 static int
4118 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_) {
4119   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4120                                       ett_h245_SEQUENCE_OF_DataApplicationCapability, SEQUENCE_OF_DataApplicationCapability_sequence_of);
4121
4122   return offset;
4123 }
4124
4125
4126 static const per_sequence_t MediaDistributionCapability_sequence[] = {
4127   { &hf_h245_centralizedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4128   { &hf_h245_distributedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4129   { &hf_h245_centralizedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4130   { &hf_h245_distributedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4131   { &hf_h245_centralizedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4132   { &hf_h245_distributedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4133   { &hf_h245_centralizedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4134   { &hf_h245_distributedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4135   { NULL, 0, 0, NULL }
4136 };
4137
4138 static int
4139 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4140   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4141                                    ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
4142
4143   return offset;
4144 }
4145
4146
4147 static const per_sequence_t SEQUENCE_OF_MediaDistributionCapability_sequence_of[1] = {
4148   { &hf_h245_mediaDistributionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaDistributionCapability },
4149 };
4150
4151 static int
4152 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_) {
4153   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4154                                       ett_h245_SEQUENCE_OF_MediaDistributionCapability, SEQUENCE_OF_MediaDistributionCapability_sequence_of);
4155
4156   return offset;
4157 }
4158
4159
4160 static const per_sequence_t MultipointCapability_sequence[] = {
4161   { &hf_h245_multicastCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4162   { &hf_h245_multiUniCastConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4163   { &hf_h245_mediaDistributionCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MediaDistributionCapability },
4164   { NULL, 0, 0, NULL }
4165 };
4166
4167 static int
4168 dissect_h245_MultipointCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4169   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4170                                    ett_h245_MultipointCapability, MultipointCapability_sequence);
4171
4172   return offset;
4173 }
4174
4175
4176 static const per_sequence_t T_mcCapability_sequence[] = {
4177   { &hf_h245_centralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4178   { &hf_h245_decentralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4179   { NULL, 0, 0, NULL }
4180 };
4181
4182 static int
4183 dissect_h245_T_mcCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4184   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4185                                    ett_h245_T_mcCapability, T_mcCapability_sequence);
4186
4187   return offset;
4188 }
4189
4190
4191
4192 static int
4193 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_) {
4194   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4195                                                             1U, 32768U, &rfc_number, TRUE);
4196
4197   return offset;
4198 }
4199
4200
4201 static const value_string h245_T_payloadDescriptor_vals[] = {
4202   {   0, "nonStandardIdentifier" },
4203   {   1, "rfc-number" },
4204   {   2, "oid" },
4205   { 0, NULL }
4206 };
4207
4208 static const per_choice_t T_payloadDescriptor_choice[] = {
4209   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4210   {   1, &hf_h245_rfc_number     , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc_number },
4211   {   2, &hf_h245_oid            , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
4212   { 0, NULL, 0, NULL }
4213 };
4214
4215 static int
4216 dissect_h245_T_payloadDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4217   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4218                                  ett_h245_T_payloadDescriptor, T_payloadDescriptor_choice,
4219                                  NULL);
4220
4221   return offset;
4222 }
4223
4224
4225
4226 static int
4227 dissect_h245_T_rtpPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4228 #line 932 "./asn1/h245/h245.cnf"
4229   unsigned int pt;
4230
4231   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4232                                                             0U, 127U, &pt, FALSE);
4233
4234
4235   if ((rfc_number == 2198) && upcoming_channel) {
4236     upcoming_channel->rfc2198 = pt;
4237   }
4238
4239
4240   return offset;
4241 }
4242
4243
4244 static const per_sequence_t RTPPayloadType_sequence[] = {
4245   { &hf_h245_payloadDescriptor, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_payloadDescriptor },
4246   { &hf_h245_rtpPayloadType_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtpPayloadType },
4247   { NULL, 0, 0, NULL }
4248 };
4249
4250 static int
4251 dissect_h245_RTPPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4252 #line 924 "./asn1/h245/h245.cnf"
4253   rfc_number = 0;
4254
4255   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4256                                    ett_h245_RTPPayloadType, RTPPayloadType_sequence);
4257
4258   return offset;
4259 }
4260
4261
4262 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of[1] = {
4263   { &hf_h245_rtpPayloadTypes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPPayloadType },
4264 };
4265
4266 static int
4267 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_) {
4268   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4269                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType, SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of,
4270                                                   1, 256, FALSE);
4271
4272   return offset;
4273 }
4274
4275
4276 static const per_sequence_t MediaPacketizationCapability_sequence[] = {
4277   { &hf_h245_h261aVideoPacketization, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4278   { &hf_h245_rtpPayloadTypes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType },
4279   { NULL, 0, 0, NULL }
4280 };
4281
4282 static int
4283 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4284   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4285                                    ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
4286
4287   return offset;
4288 }
4289
4290
4291 static const value_string h245_QOSMode_vals[] = {
4292   {   0, "guaranteedQOS" },
4293   {   1, "controlledLoad" },
4294   { 0, NULL }
4295 };
4296
4297 static const per_choice_t QOSMode_choice[] = {
4298   {   0, &hf_h245_guaranteedQOS  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4299   {   1, &hf_h245_controlledLoad , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4300   { 0, NULL, 0, NULL }
4301 };
4302
4303 static int
4304 dissect_h245_QOSMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4305   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4306                                  ett_h245_QOSMode, QOSMode_choice,
4307                                  NULL);
4308
4309   return offset;
4310 }
4311
4312
4313
4314 static int
4315 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_) {
4316   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4317                                                             1U, 4294967295U, NULL, FALSE);
4318
4319   return offset;
4320 }
4321
4322
4323 static const per_sequence_t RSVPParameters_sequence[] = {
4324   { &hf_h245_qosMode        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_QOSMode },
4325   { &hf_h245_tokenRate      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4326   { &hf_h245_bucketSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4327   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4328   { &hf_h245_minPoliced     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4329   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4330   { NULL, 0, 0, NULL }
4331 };
4332
4333 static int
4334 dissect_h245_RSVPParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4335   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4336                                    ett_h245_RSVPParameters, RSVPParameters_sequence);
4337
4338   return offset;
4339 }
4340
4341
4342 static const per_sequence_t ATMParameters_sequence[] = {
4343   { &hf_h245_maxNTUSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
4344   { &hf_h245_atmUBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4345   { &hf_h245_atmrtVBR       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4346   { &hf_h245_atmnrtVBR      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4347   { &hf_h245_atmABR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4348   { &hf_h245_atmCBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4349   { NULL, 0, 0, NULL }
4350 };
4351
4352 static int
4353 dissect_h245_ATMParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4354   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4355                                    ett_h245_ATMParameters, ATMParameters_sequence);
4356
4357   return offset;
4358 }
4359
4360
4361 static const per_sequence_t GenericTransportParameters_sequence[] = {
4362   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4363   { &hf_h245_averageRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4364   { &hf_h245_burst          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4365   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4366   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4367   { NULL, 0, 0, NULL }
4368 };
4369
4370 static int
4371 dissect_h245_GenericTransportParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4372   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4373                                    ett_h245_GenericTransportParameters, GenericTransportParameters_sequence);
4374
4375   return offset;
4376 }
4377
4378
4379 static const per_sequence_t ServicePriorityValue_sequence[] = {
4380   { &hf_h245_nonStandardParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4381   { &hf_h245_value          , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4382   { NULL, 0, 0, NULL }
4383 };
4384
4385 static int
4386 dissect_h245_ServicePriorityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4387   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4388                                    ett_h245_ServicePriorityValue, ServicePriorityValue_sequence);
4389
4390   return offset;
4391 }
4392
4393
4394
4395 static int
4396 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_) {
4397   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4398                                                             0U, 4095U, NULL, FALSE);
4399
4400   return offset;
4401 }
4402
4403
4404 static const per_sequence_t ServicePriority_sequence[] = {
4405   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4406   { &hf_h245_servicePrioritySignalled, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4407   { &hf_h245_servicePriorityValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ServicePriorityValue },
4408   { &hf_h245_serviceClass   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4095 },
4409   { &hf_h245_serviceSubclass, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
4410   { NULL, 0, 0, NULL }
4411 };
4412
4413 static int
4414 dissect_h245_ServicePriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4415   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4416                                    ett_h245_ServicePriority, ServicePriority_sequence);
4417
4418   return offset;
4419 }
4420
4421
4422 static const per_sequence_t AuthorizationParameters_sequence[] = {
4423   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4424   { NULL, 0, 0, NULL }
4425 };
4426
4427 static int
4428 dissect_h245_AuthorizationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4429   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4430                                    ett_h245_AuthorizationParameters, AuthorizationParameters_sequence);
4431
4432   return offset;
4433 }
4434
4435
4436 static const value_string h245_QOSType_vals[] = {
4437   {   0, "desired" },
4438   {   1, "required" },
4439   { 0, NULL }
4440 };
4441
4442 static const per_choice_t QOSType_choice[] = {
4443   {   0, &hf_h245_desired        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4444   {   1, &hf_h245_required       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4445   { 0, NULL, 0, NULL }
4446 };
4447
4448 static int
4449 dissect_h245_QOSType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4450   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4451                                  ett_h245_QOSType, QOSType_choice,
4452                                  NULL);
4453
4454   return offset;
4455 }
4456
4457
4458 static const value_string h245_QOSClass_vals[] = {
4459   {   0, "class0" },
4460   {   1, "class1" },
4461   {   2, "class2" },
4462   {   3, "class3" },
4463   {   4, "class4" },
4464   {   5, "class5" },
4465   { 0, NULL }
4466 };
4467
4468 static const per_choice_t QOSClass_choice[] = {
4469   {   0, &hf_h245_class0         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4470   {   1, &hf_h245_class1         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4471   {   2, &hf_h245_class2         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4472   {   3, &hf_h245_class3         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4473   {   4, &hf_h245_class4         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4474   {   5, &hf_h245_class5         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4475   { 0, NULL, 0, NULL }
4476 };
4477
4478 static int
4479 dissect_h245_QOSClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4480   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4481                                  ett_h245_QOSClass, QOSClass_choice,
4482                                  NULL);
4483
4484   return offset;
4485 }
4486
4487
4488 static const per_sequence_t QOSDescriptor_sequence[] = {
4489   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4490   { &hf_h245_qosType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSType },
4491   { &hf_h245_qosClass       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSClass },
4492   { NULL, 0, 0, NULL }
4493 };
4494
4495 static int
4496 dissect_h245_QOSDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4497   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4498                                    ett_h245_QOSDescriptor, QOSDescriptor_sequence);
4499
4500   return offset;
4501 }
4502
4503
4504
4505 static int
4506 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_) {
4507   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4508                                                             0U, 63U, NULL, FALSE);
4509
4510   return offset;
4511 }
4512
4513
4514 static const per_sequence_t QOSCapability_sequence[] = {
4515   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4516   { &hf_h245_rsvpParameters , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RSVPParameters },
4517   { &hf_h245_atmParameters  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ATMParameters },
4518   { &hf_h245_localQoS       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
4519   { &hf_h245_genericTransportParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericTransportParameters },
4520   { &hf_h245_servicePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_ServicePriority },
4521   { &hf_h245_authorizationParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_AuthorizationParameters },
4522   { &hf_h245_qosDescriptor  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSDescriptor },
4523   { &hf_h245_dscpValue      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_63 },
4524   { NULL, 0, 0, NULL }
4525 };
4526
4527 int
4528 dissect_h245_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4529   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4530                                    ett_h245_QOSCapability, QOSCapability_sequence);
4531
4532   return offset;
4533 }
4534
4535
4536 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = {
4537   { &hf_h245_qOSCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability },
4538 };
4539
4540 static int
4541 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_) {
4542   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4543                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of,
4544                                                   1, 256, FALSE);
4545
4546   return offset;
4547 }
4548
4549
4550 static const per_sequence_t T_atm_AAL5_compressed_sequence[] = {
4551   { &hf_h245_variable_delta , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4552   { NULL, 0, 0, NULL }
4553 };
4554
4555 static int
4556 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_) {
4557   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4558                                    ett_h245_T_atm_AAL5_compressed, T_atm_AAL5_compressed_sequence);
4559
4560   return offset;
4561 }
4562
4563
4564 static const value_string h245_MediaTransportType_vals[] = {
4565   {   0, "ip-UDP" },
4566   {   1, "ip-TCP" },
4567   {   2, "atm-AAL5-UNIDIR" },
4568   {   3, "atm-AAL5-BIDIR" },
4569   {   4, "atm-AAL5-compressed" },
4570   { 0, NULL }
4571 };
4572
4573 static const per_choice_t MediaTransportType_choice[] = {
4574   {   0, &hf_h245_ip_UDP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4575   {   1, &hf_h245_ip_TCP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4576   {   2, &hf_h245_atm_AAL5_UNIDIR, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4577   {   3, &hf_h245_atm_AAL5_BIDIR , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4578   {   4, &hf_h245_atm_AAL5_compressed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_atm_AAL5_compressed },
4579   { 0, NULL, 0, NULL }
4580 };
4581
4582 static int
4583 dissect_h245_MediaTransportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4584   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4585                                  ett_h245_MediaTransportType, MediaTransportType_choice,
4586                                  NULL);
4587
4588   return offset;
4589 }
4590
4591
4592 static const per_sequence_t MediaChannelCapability_sequence[] = {
4593   { &hf_h245_mediaTransport , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MediaTransportType },
4594   { NULL, 0, 0, NULL }
4595 };
4596
4597 static int
4598 dissect_h245_MediaChannelCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4599   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4600                                    ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4601
4602   return offset;
4603 }
4604
4605
4606 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of[1] = {
4607   { &hf_h245_mediaChannelCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaChannelCapability },
4608 };
4609
4610 static int
4611 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_) {
4612   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4613                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability, SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of,
4614                                                   1, 256, FALSE);
4615
4616   return offset;
4617 }
4618
4619
4620 static const per_sequence_t TransportCapability_sequence[] = {
4621   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4622   { &hf_h245_qOSCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability },
4623   { &hf_h245_mediaChannelCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability },
4624   { NULL, 0, 0, NULL }
4625 };
4626
4627 static int
4628 dissect_h245_TransportCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4629   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4630                                    ett_h245_TransportCapability, TransportCapability_sequence);
4631
4632   return offset;
4633 }
4634
4635
4636
4637 static int
4638 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_) {
4639   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4640                                                             1U, 16U, NULL, FALSE);
4641
4642   return offset;
4643 }
4644
4645
4646
4647 static int
4648 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_) {
4649   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4650                                                             0U, 15U, NULL, FALSE);
4651
4652   return offset;
4653 }
4654
4655
4656 static const per_sequence_t T_frameSequence_sequence_of[1] = {
4657   { &hf_h245_frameSequence_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4658 };
4659
4660 static int
4661 dissect_h245_T_frameSequence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4662   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4663                                                   ett_h245_T_frameSequence, T_frameSequence_sequence_of,
4664                                                   1, 256, FALSE);
4665
4666   return offset;
4667 }
4668
4669
4670 static const per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
4671   { &hf_h245_threadNumber   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4672   { &hf_h245_frameSequence  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameSequence },
4673   { NULL, 0, 0, NULL }
4674 };
4675
4676 static int
4677 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4678   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4679                                    ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
4680
4681   return offset;
4682 }
4683
4684
4685 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of[1] = {
4686   { &hf_h245_custom_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPH263VideoRedundancyFrameMapping },
4687 };
4688
4689 static int
4690 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_) {
4691   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4692                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping, SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of,
4693                                                   1, 256, FALSE);
4694
4695   return offset;
4696 }
4697
4698
4699 static const value_string h245_T_frameToThreadMapping_vals[] = {
4700   {   0, "roundrobin" },
4701   {   1, "custom" },
4702   { 0, NULL }
4703 };
4704
4705 static const per_choice_t T_frameToThreadMapping_choice[] = {
4706   {   0, &hf_h245_roundrobin     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4707   {   1, &hf_h245_custom         , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping },
4708   { 0, NULL, 0, NULL }
4709 };
4710
4711 static int
4712 dissect_h245_T_frameToThreadMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4713   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4714                                  ett_h245_T_frameToThreadMapping, T_frameToThreadMapping_choice,
4715                                  NULL);
4716
4717   return offset;
4718 }
4719
4720
4721 static const per_sequence_t T_containedThreads_sequence_of[1] = {
4722   { &hf_h245_containedThreads_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4723 };
4724
4725 static int
4726 dissect_h245_T_containedThreads(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4727   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4728                                                   ett_h245_T_containedThreads, T_containedThreads_sequence_of,
4729                                                   1, 256, FALSE);
4730
4731   return offset;
4732 }
4733
4734
4735 static const per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
4736   { &hf_h245_numberOfThreads, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_16 },
4737   { &hf_h245_framesBetweenSyncPoints, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
4738   { &hf_h245_frameToThreadMapping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameToThreadMapping },
4739   { &hf_h245_containedThreads, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_containedThreads },
4740   { NULL, 0, 0, NULL }
4741 };
4742
4743 static int
4744 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4745   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4746                                    ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
4747
4748   return offset;
4749 }
4750
4751
4752 static const value_string h245_RedundancyEncodingMethod_vals[] = {
4753   {   0, "nonStandard" },
4754   {   1, "rtpAudioRedundancyEncoding" },
4755   {   2, "rtpH263VideoRedundancyEncoding" },
4756   { 0, NULL }
4757 };
4758
4759 static const per_choice_t RedundancyEncodingMethod_choice[] = {
4760   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4761   {   1, &hf_h245_rtpAudioRedundancyEncoding, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4762   {   2, &hf_h245_rtpH263VideoRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPH263VideoRedundancyEncoding },
4763   { 0, NULL, 0, NULL }
4764 };
4765
4766 static int
4767 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4768   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4769                                  ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice,
4770                                  NULL);
4771
4772   return offset;
4773 }
4774
4775
4776
4777 static int
4778 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4779   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4780                                                             1U, 65535U, NULL, FALSE);
4781
4782   return offset;
4783 }
4784
4785
4786 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of[1] = {
4787   { &hf_h245_secondaryEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4788 };
4789
4790 static int
4791 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_) {
4792   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4793                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber, SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of,
4794                                                   1, 256, FALSE);
4795
4796   return offset;
4797 }
4798
4799
4800 static const per_sequence_t RedundancyEncodingCapability_sequence[] = {
4801   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
4802   { &hf_h245_primaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4803   { &hf_h245_secondaryEncodingCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber },
4804   { NULL, 0, 0, NULL }
4805 };
4806
4807 static int
4808 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4809   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4810                                    ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
4811
4812   return offset;
4813 }
4814
4815
4816 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of[1] = {
4817   { &hf_h245_redundancyEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingCapability },
4818 };
4819
4820 static int
4821 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_) {
4822   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4823                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability, SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of,
4824                                                   1, 256, FALSE);
4825
4826   return offset;
4827 }
4828
4829
4830 static const per_sequence_t H2250Capability_sequence[] = {
4831   { &hf_h245_maximumAudioDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
4832   { &hf_h245_receiveMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4833   { &hf_h245_transmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4834   { &hf_h245_receiveAndTransmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4835   { &hf_h245_mcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mcCapability },
4836   { &hf_h245_rtcpVideoControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4837   { &hf_h245_mediaPacketizationCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MediaPacketizationCapability },
4838   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
4839   { &hf_h245_redundancyEncodingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability },
4840   { &hf_h245_logicalChannelSwitchingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4841   { &hf_h245_t120DynamicPortCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4842   { NULL, 0, 0, NULL }
4843 };
4844
4845 static int
4846 dissect_h245_H2250Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4847   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4848                                    ett_h245_H2250Capability, H2250Capability_sequence);
4849
4850   return offset;
4851 }
4852
4853
4854 static const value_string h245_MultiplexCapability_vals[] = {
4855   {   0, "nonStandard" },
4856   {   1, "h222Capability" },
4857   {   2, "h223Capability" },
4858   {   3, "v76Capability" },
4859   {   4, "h2250Capability" },
4860   {   5, "genericMultiplexCapability" },
4861   { 0, NULL }
4862 };
4863
4864 static const per_choice_t MultiplexCapability_choice[] = {
4865   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4866   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
4867   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
4868   {   3, &hf_h245_v76Capability  , ASN1_EXTENSION_ROOT    , dissect_h245_V76Capability },
4869   {   4, &hf_h245_h2250Capability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250Capability },
4870   {   5, &hf_h245_genericMultiplexCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4871   { 0, NULL, 0, NULL }
4872 };
4873
4874 static int
4875 dissect_h245_MultiplexCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4876   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4877                                  ett_h245_MultiplexCapability, MultiplexCapability_choice,
4878                                  NULL);
4879
4880   return offset;
4881 }
4882
4883
4884
4885 static int
4886 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_) {
4887   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4888                                                             1U, 4U, NULL, FALSE);
4889
4890   return offset;
4891 }
4892
4893
4894 static const per_sequence_t H261VideoCapability_sequence[] = {
4895   { &hf_h245_qcifMPI_1_4    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4896   { &hf_h245_cifMPI_1_4     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4897   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4898   { &hf_h245_maxBitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
4899   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4900   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4901   { NULL, 0, 0, NULL }
4902 };
4903
4904 static int
4905 dissect_h245_H261VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4906   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4907                                    ett_h245_H261VideoCapability, H261VideoCapability_sequence);
4908
4909   return offset;
4910 }
4911
4912
4913
4914 static int
4915 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_) {
4916   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4917                                                             0U, 1073741823U, NULL, FALSE);
4918
4919   return offset;
4920 }
4921
4922
4923
4924 static int
4925 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_) {
4926   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4927                                                             0U, 262143U, NULL, FALSE);
4928
4929   return offset;
4930 }
4931
4932
4933
4934 static int
4935 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_) {
4936   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4937                                                             0U, 16383U, NULL, FALSE);
4938
4939   return offset;
4940 }
4941
4942
4943 static const per_sequence_t H262VideoCapability_sequence[] = {
4944   { &hf_h245_profileAndLevel_SPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4945   { &hf_h245_profileAndLevel_MPatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4946   { &hf_h245_profileAndLevel_MPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4947   { &hf_h245_profileAndLevel_MPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4948   { &hf_h245_profileAndLevel_MPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4949   { &hf_h245_profileAndLevel_SNRatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4950   { &hf_h245_profileAndLevel_SNRatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4951   { &hf_h245_profileAndLevel_SpatialatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4952   { &hf_h245_profileAndLevel_HPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4953   { &hf_h245_profileAndLevel_HPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4954   { &hf_h245_profileAndLevel_HPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4955   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
4956   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
4957   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4958   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4959   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
4960   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4961   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4962   { NULL, 0, 0, NULL }
4963 };
4964
4965 static int
4966 dissect_h245_H262VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4967   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4968                                    ett_h245_H262VideoCapability, H262VideoCapability_sequence);
4969
4970   return offset;
4971 }
4972
4973
4974
4975 static int
4976 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_) {
4977   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4978                                                             1U, 32U, NULL, FALSE);
4979
4980   return offset;
4981 }
4982
4983
4984
4985 static int
4986 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_) {
4987   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4988                                                             1U, 192400U, NULL, FALSE);
4989
4990   return offset;
4991 }
4992
4993
4994
4995 static int
4996 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_) {
4997   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4998                                                             0U, 524287U, NULL, FALSE);
4999
5000   return offset;
5001 }
5002
5003
5004
5005 static int
5006 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_) {
5007   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5008                                                             1U, 3600U, NULL, FALSE);
5009
5010   return offset;
5011 }
5012
5013
5014
5015 static int
5016 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_) {
5017   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5018                                                             -262144, 262143U, NULL, FALSE);
5019
5020   return offset;
5021 }
5022
5023
5024 static const per_sequence_t TransparencyParameters_sequence[] = {
5025   { &hf_h245_presentationOrder, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5026   { &hf_h245_offset_x       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
5027   { &hf_h245_offset_y       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
5028   { &hf_h245_scale_x        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5029   { &hf_h245_scale_y        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5030   { NULL, 0, 0, NULL }
5031 };
5032
5033 static int
5034 dissect_h245_TransparencyParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5035   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5036                                    ett_h245_TransparencyParameters, TransparencyParameters_sequence);
5037
5038   return offset;
5039 }
5040
5041
5042 static const per_sequence_t T_additionalPictureMemory_sequence[] = {
5043   { &hf_h245_sqcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5044   { &hf_h245_qcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5045   { &hf_h245_cifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5046   { &hf_h245_cif4AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5047   { &hf_h245_cif16AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5048   { &hf_h245_bigCpfAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5049   { NULL, 0, 0, NULL }
5050 };
5051
5052 static int
5053 dissect_h245_T_additionalPictureMemory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5054   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5055                                    ett_h245_T_additionalPictureMemory, T_additionalPictureMemory_sequence);
5056
5057   return offset;
5058 }
5059
5060
5061 static const value_string h245_T_videoBackChannelSend_vals[] = {
5062   {   0, "none" },
5063   {   1, "ackMessageOnly" },
5064   {   2, "nackMessageOnly" },
5065   {   3, "ackOrNackMessageOnly" },
5066   {   4, "ackAndNackMessage" },
5067   { 0, NULL }
5068 };
5069
5070 static const per_choice_t T_videoBackChannelSend_choice[] = {
5071   {   0, &hf_h245_none           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5072   {   1, &hf_h245_ackMessageOnly , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5073   {   2, &hf_h245_nackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5074   {   3, &hf_h245_ackOrNackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5075   {   4, &hf_h245_ackAndNackMessage, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5076   { 0, NULL, 0, NULL }
5077 };
5078
5079 static int
5080 dissect_h245_T_videoBackChannelSend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5081   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5082                                  ett_h245_T_videoBackChannelSend, T_videoBackChannelSend_choice,
5083                                  NULL);
5084
5085   return offset;
5086 }
5087
5088
5089
5090 static int
5091 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_) {
5092   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5093                                                             1U, 128U, NULL, FALSE);
5094
5095   return offset;
5096 }
5097
5098
5099
5100 static int
5101 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_) {
5102   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5103                                                             1U, 72U, NULL, FALSE);
5104
5105   return offset;
5106 }
5107
5108
5109 static const per_sequence_t T_subPictureRemovalParameters_sequence[] = {
5110   { &hf_h245_mpuHorizMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_128 },
5111   { &hf_h245_mpuVertMBs     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_72 },
5112   { &hf_h245_mpuTotalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
5113   { NULL, 0, 0, NULL }
5114 };
5115
5116 static int
5117 dissect_h245_T_subPictureRemovalParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5118   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5119                                    ett_h245_T_subPictureRemovalParameters, T_subPictureRemovalParameters_sequence);
5120
5121   return offset;
5122 }
5123
5124
5125 static const per_sequence_t T_enhancedReferencePicSelect_sequence[] = {
5126   { &hf_h245_subPictureRemovalParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subPictureRemovalParameters },
5127   { NULL, 0, 0, NULL }
5128 };
5129
5130 static int
5131 dissect_h245_T_enhancedReferencePicSelect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5132   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5133                                    ett_h245_T_enhancedReferencePicSelect, T_enhancedReferencePicSelect_sequence);
5134
5135   return offset;
5136 }
5137
5138
5139 static const per_sequence_t RefPictureSelection_sequence[] = {
5140   { &hf_h245_additionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_additionalPictureMemory },
5141   { &hf_h245_videoMux       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5142   { &hf_h245_videoBackChannelSend, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_videoBackChannelSend },
5143   { &hf_h245_enhancedReferencePicSelect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_enhancedReferencePicSelect },
5144   { NULL, 0, 0, NULL }
5145 };
5146
5147 static int
5148 dissect_h245_RefPictureSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5149   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5150                                    ett_h245_RefPictureSelection, RefPictureSelection_sequence);
5151
5152   return offset;
5153 }
5154
5155
5156
5157 static int
5158 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_) {
5159   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5160                                                             1000U, 1001U, NULL, FALSE);
5161
5162   return offset;
5163 }
5164
5165
5166
5167 static int
5168 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_) {
5169   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5170                                                             1U, 2048U, NULL, FALSE);
5171
5172   return offset;
5173 }
5174
5175
5176 static const per_sequence_t CustomPictureClockFrequency_sequence[] = {
5177   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5178   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5179   { &hf_h245_sqcifMPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5180   { &hf_h245_qcifMPI_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5181   { &hf_h245_cifMPI2_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5182   { &hf_h245_cif4MPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5183   { &hf_h245_cif16MPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5184   { NULL, 0, 0, NULL }
5185 };
5186
5187 static int
5188 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5189   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5190                                    ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
5191
5192   return offset;
5193 }
5194
5195
5196 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of[1] = {
5197   { &hf_h245_customPictureClockFrequency_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureClockFrequency },
5198 };
5199
5200 static int
5201 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_) {
5202   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5203                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency, SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of,
5204                                              1, 16, FALSE);
5205
5206   return offset;
5207 }
5208
5209
5210
5211 static int
5212 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_) {
5213   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5214                                                             1U, 31U, NULL, FALSE);
5215
5216   return offset;
5217 }
5218
5219
5220 static const per_sequence_t T_customPCF_item_sequence[] = {
5221   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5222   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5223   { &hf_h245_customMPI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5224   { NULL, 0, 0, NULL }
5225 };
5226
5227 static int
5228 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_) {
5229   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5230                                    ett_h245_T_customPCF_item, T_customPCF_item_sequence);
5231
5232   return offset;
5233 }
5234
5235
5236 static const per_sequence_t T_customPCF_set_of[1] = {
5237   { &hf_h245_customPCF_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_customPCF_item },
5238 };
5239
5240 static int
5241 dissect_h245_T_customPCF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5242   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5243                                              ett_h245_T_customPCF, T_customPCF_set_of,
5244                                              1, 16, FALSE);
5245
5246   return offset;
5247 }
5248
5249
5250 static const per_sequence_t T_mPI_sequence[] = {
5251   { &hf_h245_standardMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_31 },
5252   { &hf_h245_customPCF      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_customPCF },
5253   { NULL, 0, 0, NULL }
5254 };
5255
5256 static int
5257 dissect_h245_T_mPI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5258   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5259                                    ett_h245_T_mPI, T_mPI_sequence);
5260
5261   return offset;
5262 }
5263
5264
5265
5266 static int
5267 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_) {
5268   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5269                                                             1U, 14U, NULL, FALSE);
5270
5271   return offset;
5272 }
5273
5274
5275 static const per_sequence_t T_pixelAspectCode_set_of[1] = {
5276   { &hf_h245_pixelAspectCode_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_14 },
5277 };
5278
5279 static int
5280 dissect_h245_T_pixelAspectCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5281   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5282                                              ett_h245_T_pixelAspectCode, T_pixelAspectCode_set_of,
5283                                              1, 14, FALSE);
5284
5285   return offset;
5286 }
5287
5288
5289 static const per_sequence_t T_extendedPAR_item_sequence[] = {
5290   { &hf_h245_width          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5291   { &hf_h245_height         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5292   { NULL, 0, 0, NULL }
5293 };
5294
5295 static int
5296 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_) {
5297   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5298                                    ett_h245_T_extendedPAR_item, T_extendedPAR_item_sequence);
5299
5300   return offset;
5301 }
5302
5303
5304 static const per_sequence_t T_extendedPAR_set_of[1] = {
5305   { &hf_h245_extendedPAR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_extendedPAR_item },
5306 };
5307
5308 static int
5309 dissect_h245_T_extendedPAR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5310   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5311                                              ett_h245_T_extendedPAR, T_extendedPAR_set_of,
5312                                              1, 256, FALSE);
5313
5314   return offset;
5315 }
5316
5317
5318 static const value_string h245_T_pixelAspectInformation_vals[] = {
5319   {   0, "anyPixelAspectRatio" },
5320   {   1, "pixelAspectCode" },
5321   {   2, "extendedPAR" },
5322   { 0, NULL }
5323 };
5324
5325 static const per_choice_t T_pixelAspectInformation_choice[] = {
5326   {   0, &hf_h245_anyPixelAspectRatio, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
5327   {   1, &hf_h245_pixelAspectCode, ASN1_EXTENSION_ROOT    , dissect_h245_T_pixelAspectCode },
5328   {   2, &hf_h245_extendedPAR    , ASN1_EXTENSION_ROOT    , dissect_h245_T_extendedPAR },
5329   { 0, NULL, 0, NULL }
5330 };
5331
5332 static int
5333 dissect_h245_T_pixelAspectInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5334   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5335                                  ett_h245_T_pixelAspectInformation, T_pixelAspectInformation_choice,
5336                                  NULL);
5337
5338   return offset;
5339 }
5340
5341
5342 static const per_sequence_t CustomPictureFormat_sequence[] = {
5343   { &hf_h245_maxCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5344   { &hf_h245_maxCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5345   { &hf_h245_minCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5346   { &hf_h245_minCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5347   { &hf_h245_mPI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mPI },
5348   { &hf_h245_pixelAspectInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pixelAspectInformation },
5349   { NULL, 0, 0, NULL }
5350 };
5351
5352 static int
5353 dissect_h245_CustomPictureFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5354   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5355                                    ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
5356
5357   return offset;
5358 }
5359
5360
5361 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureFormat_set_of[1] = {
5362   { &hf_h245_customPictureFormat_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureFormat },
5363 };
5364
5365 static int
5366 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_) {
5367   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5368                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat, SET_SIZE_1_16_OF_CustomPictureFormat_set_of,
5369                                              1, 16, FALSE);
5370
5371   return offset;
5372 }
5373
5374
5375 static const per_sequence_t H263Version3Options_sequence[] = {
5376   { &hf_h245_dataPartitionedSlices, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5377   { &hf_h245_fixedPointIDCT0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5378   { &hf_h245_interlacedFields, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5379   { &hf_h245_currentPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5380   { &hf_h245_previousPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5381   { &hf_h245_nextPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5382   { &hf_h245_pictureNumberBoolean, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5383   { &hf_h245_spareReferencePictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5384   { NULL, 0, 0, NULL }
5385 };
5386
5387 static int
5388 dissect_h245_H263Version3Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5389   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5390                                    ett_h245_H263Version3Options, H263Version3Options_sequence);
5391
5392   return offset;
5393 }
5394
5395
5396 static const per_sequence_t H263ModeComboFlags_sequence[] = {
5397   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5398   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5399   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5400   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5401   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5402   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5403   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5404   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5405   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5406   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5407   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5408   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5409   { &hf_h245_referencePicSelect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5410   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5411   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5412   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5413   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5414   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5415   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5416   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5417   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5418   { &hf_h245_enhancedReferencePicSelectBool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5419   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5420   { NULL, 0, 0, NULL }
5421 };
5422
5423 static int
5424 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5425   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5426                                    ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5427
5428   return offset;
5429 }
5430
5431
5432 static const per_sequence_t SET_SIZE_1_16_OF_H263ModeComboFlags_set_of[1] = {
5433   { &hf_h245_h263VideoCoupledModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5434 };
5435
5436 static int
5437 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_) {
5438   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5439                                              ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags, SET_SIZE_1_16_OF_H263ModeComboFlags_set_of,
5440                                              1, 16, FALSE);
5441
5442   return offset;
5443 }
5444
5445
5446 static const per_sequence_t H263VideoModeCombos_sequence[] = {
5447   { &hf_h245_h263VideoUncoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5448   { &hf_h245_h263VideoCoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags },
5449   { NULL, 0, 0, NULL }
5450 };
5451
5452 static int
5453 dissect_h245_H263VideoModeCombos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5454   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5455                                    ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
5456
5457   return offset;
5458 }
5459
5460
5461 static const per_sequence_t SET_SIZE_1_16_OF_H263VideoModeCombos_set_of[1] = {
5462   { &hf_h245_modeCombos_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263VideoModeCombos },
5463 };
5464
5465 static int
5466 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_) {
5467   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5468                                              ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos, SET_SIZE_1_16_OF_H263VideoModeCombos_set_of,
5469                                              1, 16, FALSE);
5470
5471   return offset;
5472 }
5473
5474
5475 static const per_sequence_t H263Options_sequence[] = {
5476   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5477   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5478   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5479   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5480   { &hf_h245_fullPictureFreeze, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5481   { &hf_h245_partialPictureFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5482   { &hf_h245_resizingPartPicFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5483   { &hf_h245_fullPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5484   { &hf_h245_partialPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5485   { &hf_h245_videoSegmentTagging, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5486   { &hf_h245_progressiveRefinement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5487   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5488   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5489   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5490   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5491   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5492   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5493   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5494   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5495   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5496   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5497   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5498   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5499   { &hf_h245_transparencyParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransparencyParameters },
5500   { &hf_h245_separateVideoBackChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5501   { &hf_h245_refPictureSelection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RefPictureSelection },
5502   { &hf_h245_customPictureClockFrequency, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency },
5503   { &hf_h245_customPictureFormat, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat },
5504   { &hf_h245_modeCombos     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos },
5505   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5506   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5507   { NULL, 0, 0, NULL }
5508 };
5509
5510 static int
5511 dissect_h245_H263Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5512   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5513                                    ett_h245_H263Options, H263Options_sequence);
5514
5515   return offset;
5516 }
5517
5518
5519 static const per_sequence_t EnhancementOptions_sequence[] = {
5520   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5521   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5522   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5523   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5524   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5525   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5526   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5527   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5528   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5529   { &hf_h245_slowSqcifMPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5530   { &hf_h245_slowQcifMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5531   { &hf_h245_slowCifMPI     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5532   { &hf_h245_slowCif4MPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5533   { &hf_h245_slowCif16MPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5534   { &hf_h245_errorCompensation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5535   { &hf_h245_h263Options    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H263Options },
5536   { NULL, 0, 0, NULL }
5537 };
5538
5539 static int
5540 dissect_h245_EnhancementOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5541   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5542                                    ett_h245_EnhancementOptions, EnhancementOptions_sequence);
5543
5544   return offset;
5545 }
5546
5547
5548 static const per_sequence_t SET_SIZE_1_14_OF_EnhancementOptions_set_of[1] = {
5549   { &hf_h245_snrEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5550 };
5551
5552 static int
5553 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_) {
5554   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5555                                              ett_h245_SET_SIZE_1_14_OF_EnhancementOptions, SET_SIZE_1_14_OF_EnhancementOptions_set_of,
5556                                              1, 14, FALSE);
5557
5558   return offset;
5559 }
5560
5561
5562
5563 static int
5564 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_) {
5565   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5566                                                             1U, 64U, NULL, FALSE);
5567
5568   return offset;
5569 }
5570
5571
5572 static const per_sequence_t BEnhancementParameters_sequence[] = {
5573   { &hf_h245_enhancementOptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5574   { &hf_h245_numberOfBPictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_64 },
5575   { NULL, 0, 0, NULL }
5576 };
5577
5578 static int
5579 dissect_h245_BEnhancementParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5580   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5581                                    ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
5582
5583   return offset;
5584 }
5585
5586
5587 static const per_sequence_t SET_SIZE_1_14_OF_BEnhancementParameters_set_of[1] = {
5588   { &hf_h245_bPictureEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BEnhancementParameters },
5589 };
5590
5591 static int
5592 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_) {
5593   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5594                                              ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters, SET_SIZE_1_14_OF_BEnhancementParameters_set_of,
5595                                              1, 14, FALSE);
5596
5597   return offset;
5598 }
5599
5600
5601 static const per_sequence_t EnhancementLayerInfo_sequence[] = {
5602   { &hf_h245_baseBitRateConstrained, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5603   { &hf_h245_snrEnhancement , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5604   { &hf_h245_spatialEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5605   { &hf_h245_bPictureEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters },
5606   { NULL, 0, 0, NULL }
5607 };
5608
5609 static int
5610 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5611   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5612                                    ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
5613
5614   return offset;
5615 }
5616
5617
5618 static const per_sequence_t H263VideoCapability_sequence[] = {
5619   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5620   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5621   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5622   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5623   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5624   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5625   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5626   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5627   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5628   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5629   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5630   { &hf_h245_hrd_B          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_524287 },
5631   { &hf_h245_bppMaxKb       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
5632   { &hf_h245_slowSqcifMPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5633   { &hf_h245_slowQcifMPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5634   { &hf_h245_slowCifMPI     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5635   { &hf_h245_slowCif4MPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5636   { &hf_h245_slowCif16MPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5637   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5638   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
5639   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
5640   { NULL, 0, 0, NULL }
5641 };
5642
5643 static int
5644 dissect_h245_H263VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5645   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5646                                    ett_h245_H263VideoCapability, H263VideoCapability_sequence);
5647
5648 #line 363 "./asn1/h245/h245.cnf"
5649   h245_lc_dissector = h263_handle;
5650
5651   return offset;
5652 }
5653
5654
5655 static const per_sequence_t IS11172VideoCapability_sequence[] = {
5656   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5657   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
5658   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
5659   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5660   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5661   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
5662   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
5663   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5664   { NULL, 0, 0, NULL }
5665 };
5666
5667 static int
5668 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5669   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5670                                    ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
5671
5672   return offset;
5673 }
5674
5675
5676 static const per_sequence_t SEQUENCE_OF_VideoCapability_sequence_of[1] = {
5677   { &hf_h245_videoCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VideoCapability },
5678 };
5679
5680 static int
5681 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_) {
5682   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5683                                       ett_h245_SEQUENCE_OF_VideoCapability, SEQUENCE_OF_VideoCapability_sequence_of);
5684
5685   return offset;
5686 }
5687
5688
5689 static const per_sequence_t SEQUENCE_OF_GenericCapability_sequence_of[1] = {
5690   { &hf_h245_videoCapabilityExtension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericCapability },
5691 };
5692
5693 static int
5694 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_) {
5695   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5696                                       ett_h245_SEQUENCE_OF_GenericCapability, SEQUENCE_OF_GenericCapability_sequence_of);
5697
5698   return offset;
5699 }
5700
5701
5702 static const per_sequence_t ExtendedVideoCapability_sequence[] = {
5703   { &hf_h245_videoCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_VideoCapability },
5704   { &hf_h245_videoCapabilityExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericCapability },
5705   { NULL, 0, 0, NULL }
5706 };
5707
5708 static int
5709 dissect_h245_ExtendedVideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5710   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5711                                    ett_h245_ExtendedVideoCapability, ExtendedVideoCapability_sequence);
5712
5713   return offset;
5714 }
5715
5716
5717 static const value_string h245_VideoCapability_vals[] = {
5718   {   0, "nonStandard" },
5719   {   1, "h261VideoCapability" },
5720   {   2, "h262VideoCapability" },
5721   {   3, "h263VideoCapability" },
5722   {   4, "is11172VideoCapability" },
5723   {   5, "genericVideoCapability" },
5724   {   6, "extendedVideoCapability" },
5725   { 0, NULL }
5726 };
5727
5728 static const per_choice_t VideoCapability_choice[] = {
5729   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
5730   {   1, &hf_h245_h261VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoCapability },
5731   {   2, &hf_h245_h262VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoCapability },
5732   {   3, &hf_h245_h263VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoCapability },
5733   {   4, &hf_h245_is11172VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoCapability },
5734   {   5, &hf_h245_genericVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
5735   {   6, &hf_h245_extendedVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ExtendedVideoCapability },
5736   { 0, NULL, 0, NULL }
5737 };
5738
5739 static int
5740 dissect_h245_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5741 #line 457 "./asn1/h245/h245.cnf"
5742   gint32 value;
5743
5744   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5745                                  ett_h245_VideoCapability, VideoCapability_choice,
5746                                  &value);
5747
5748         codec_type = val_to_str(value, h245_VideoCapability_vals, "<unknown>");
5749
5750
5751
5752   return offset;
5753 }
5754
5755
5756 static const per_sequence_t T_g7231_sequence[] = {
5757   { &hf_h245_maxAl_sduAudioFrames, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5758   { &hf_h245_silenceSuppression, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5759   { NULL, 0, 0, NULL }
5760 };
5761
5762 static int
5763 dissect_h245_T_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5764   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5765                                    ett_h245_T_g7231, T_g7231_sequence);
5766
5767   return offset;
5768 }
5769
5770
5771
5772 static int
5773 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_) {
5774   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5775                                                             1U, 448U, NULL, FALSE);
5776
5777   return offset;
5778 }
5779
5780
5781 static const per_sequence_t IS11172AudioCapability_sequence[] = {
5782   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5783   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5784   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5785   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5786   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5787   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5788   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5789   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5790   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
5791   { NULL, 0, 0, NULL }
5792 };
5793
5794 static int
5795 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5796   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5797                                    ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
5798
5799   return offset;
5800 }
5801
5802
5803
5804 static int
5805 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_) {
5806   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5807                                                             1U, 1130U, NULL, FALSE);
5808
5809   return offset;
5810 }
5811
5812
5813 static const per_sequence_t IS13818AudioCapability_sequence[] = {
5814   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5815   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5816   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5817   { &hf_h245_audioSampling16k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5818   { &hf_h245_audioSampling22k05, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5819   { &hf_h245_audioSampling24k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5820   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5821   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5822   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5823   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5824   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5825   { &hf_h245_threeChannels2_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5826   { &hf_h245_threeChannels3_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5827   { &hf_h245_fourChannels2_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5828   { &hf_h245_fourChannels2_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5829   { &hf_h245_fourChannels3_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5830   { &hf_h245_fiveChannels3_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5831   { &hf_h245_fiveChannels3_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5832   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5833   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5834   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
5835   { NULL, 0, 0, NULL }
5836 };
5837
5838 static int
5839 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5840   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5841                                    ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
5842
5843   return offset;
5844 }
5845
5846
5847
5848 static int
5849 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_) {
5850   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5851                                                             27U, 78U, NULL, FALSE);
5852
5853   return offset;
5854 }
5855
5856
5857
5858 static int
5859 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_) {
5860   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5861                                                             23U, 66U, NULL, FALSE);
5862
5863   return offset;
5864 }
5865
5866
5867
5868 static int
5869 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_) {
5870   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5871                                                             6U, 17U, NULL, FALSE);
5872
5873   return offset;
5874 }
5875
5876
5877 static const per_sequence_t G723AnnexCAudioMode_sequence[] = {
5878   { &hf_h245_highRateMode0  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5879   { &hf_h245_highRateMode1  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5880   { &hf_h245_lowRateMode0   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5881   { &hf_h245_lowRateMode1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5882   { &hf_h245_sidMode0       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5883   { &hf_h245_sidMode1       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5884   { NULL, 0, 0, NULL }
5885 };
5886
5887 static int
5888 dissect_h245_G723AnnexCAudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5889   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5890                                    ett_h245_G723AnnexCAudioMode, G723AnnexCAudioMode_sequence);
5891
5892   return offset;
5893 }
5894
5895
5896 static const per_sequence_t G7231AnnexCCapability_sequence[] = {
5897   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5898   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5899   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_G723AnnexCAudioMode },
5900   { NULL, 0, 0, NULL }
5901 };
5902
5903 static int
5904 dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5905   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5906                                    ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
5907
5908   return offset;
5909 }
5910
5911
5912 static const per_sequence_t GSMAudioCapability_sequence[] = {
5913   { &hf_h245_audioUnitSize  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5914   { &hf_h245_comfortNoise   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5915   { &hf_h245_scrambled      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5916   { NULL, 0, 0, NULL }
5917 };
5918
5919 static int
5920 dissect_h245_GSMAudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5921   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5922                                    ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
5923
5924   return offset;
5925 }
5926
5927
5928 static const per_sequence_t G729Extensions_sequence[] = {
5929   { &hf_h245_audioUnit      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5930   { &hf_h245_annexA         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5931   { &hf_h245_annexB         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5932   { &hf_h245_annexD         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5933   { &hf_h245_annexE         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5934   { &hf_h245_annexF         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5935   { &hf_h245_annexG         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5936   { &hf_h245_annexH         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5937   { NULL, 0, 0, NULL }
5938 };
5939
5940 static int
5941 dissect_h245_G729Extensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5942   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5943                                    ett_h245_G729Extensions, G729Extensions_sequence);
5944
5945   return offset;
5946 }
5947
5948
5949 static const per_sequence_t VBDCapability_sequence[] = {
5950   { &hf_h245_vbd_cap_type   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioCapability },
5951   { NULL, 0, 0, NULL }
5952 };
5953
5954 static int
5955 dissect_h245_VBDCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5956   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5957                                    ett_h245_VBDCapability, VBDCapability_sequence);
5958
5959   return offset;
5960 }
5961
5962
5963
5964 static int
5965 dissect_h245_GeneralString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5966   offset = dissect_per_GeneralString(tvb, offset, actx, tree, hf_index);
5967
5968   return offset;
5969 }
5970
5971
5972 static const per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
5973   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
5974   { NULL, 0, 0, NULL }
5975 };
5976
5977 static int
5978 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5979   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5980                                    ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
5981
5982   return offset;
5983 }
5984
5985
5986 static const per_sequence_t NoPTAudioToneCapability_sequence[] = {
5987   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
5988 };
5989
5990 static int
5991 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5992   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5993                                    ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
5994
5995   return offset;
5996 }
5997
5998
5999 static const value_string h245_AudioCapability_vals[] = {
6000   { AudioCapability_nonStandard, "nonStandard" },
6001   { AudioCapability_g711Alaw64k, "g711Alaw64k" },
6002   { AudioCapability_g711Alaw56k, "g711Alaw56k" },
6003   { AudioCapability_g711Ulaw64k, "g711Ulaw64k" },
6004   { AudioCapability_g711Ulaw56k, "g711Ulaw56k" },
6005   { AudioCapability_g722_64k, "g722-64k" },
6006   { AudioCapability_g722_56k, "g722-56k" },
6007   { AudioCapability_g722_48k, "g722-48k" },
6008   { AudioCapability_g7231, "g7231" },
6009   { AudioCapability_g728, "g728" },
6010   { AudioCapability_g729, "g729" },
6011   { AudioCapability_g729AnnexA, "g729AnnexA" },
6012   { AudioCapability_is11172AudioCapability, "is11172AudioCapability" },
6013   { AudioCapability_is13818AudioCapability, "is13818AudioCapability" },
6014   { AudioCapability_g729wAnnexB, "g729wAnnexB" },
6015   { AudioCapability_g729AnnexAwAnnexB, "g729AnnexAwAnnexB" },
6016   { AudioCapability_g7231AnnexCCapability, "g7231AnnexCCapability" },
6017   { AudioCapability_gsmFullRate, "gsmFullRate" },
6018   { AudioCapability_gsmHalfRate, "gsmHalfRate" },
6019   { AudioCapability_gsmEnhancedFullRate, "gsmEnhancedFullRate" },
6020   { AudioCapability_genericAudioCapability, "genericAudioCapability" },
6021   { AudioCapability_g729Extensions, "g729Extensions" },
6022   { AudioCapability_vbd, "vbd" },
6023   { AudioCapability_audioTelephonyEvent, "audioTelephonyEvent" },
6024   { AudioCapability_audioTone, "audioTone" },
6025   { 0, NULL }
6026 };
6027
6028 static const per_choice_t AudioCapability_choice[] = {
6029   { AudioCapability_nonStandard, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6030   { AudioCapability_g711Alaw64k, &hf_h245_g711Alaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6031   { AudioCapability_g711Alaw56k, &hf_h245_g711Alaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6032   { AudioCapability_g711Ulaw64k, &hf_h245_g711Ulaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6033   { AudioCapability_g711Ulaw56k, &hf_h245_g711Ulaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6034   { AudioCapability_g722_64k, &hf_h245_g722_64k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6035   { AudioCapability_g722_56k, &hf_h245_g722_56k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6036   { AudioCapability_g722_48k, &hf_h245_g722_48k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6037   { AudioCapability_g7231, &hf_h245_g7231          , ASN1_EXTENSION_ROOT    , dissect_h245_T_g7231 },
6038   { AudioCapability_g728, &hf_h245_g728           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6039   { AudioCapability_g729, &hf_h245_g729           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6040   { AudioCapability_g729AnnexA, &hf_h245_g729AnnexA     , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6041   { AudioCapability_is11172AudioCapability, &hf_h245_is11172AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioCapability },
6042   { AudioCapability_is13818AudioCapability, &hf_h245_is13818AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioCapability },
6043   { AudioCapability_g729wAnnexB, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
6044   { AudioCapability_g729AnnexAwAnnexB, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
6045   { AudioCapability_g7231AnnexCCapability, &hf_h245_g7231AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCCapability },
6046   { AudioCapability_gsmFullRate, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6047   { AudioCapability_gsmHalfRate, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6048   { AudioCapability_gsmEnhancedFullRate, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6049   { AudioCapability_genericAudioCapability, &hf_h245_genericAudioCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6050   { AudioCapability_g729Extensions, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
6051   { AudioCapability_vbd, &hf_h245_vbd            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDCapability },
6052   { AudioCapability_audioTelephonyEvent, &hf_h245_audioTelephonyEvent, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioTelephonyEventCapability },
6053   { AudioCapability_audioTone, &hf_h245_audioTone      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioToneCapability },
6054   { 0, NULL, 0, NULL }
6055 };
6056
6057 static int
6058 dissect_h245_AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6059 #line 450 "./asn1/h245/h245.cnf"
6060   gint32 value;
6061
6062   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6063                                  ett_h245_AudioCapability, AudioCapability_choice,
6064                                  &value);
6065
6066         codec_type = val_to_str(value, h245_AudioCapability_short_vals, "<unknown>");
6067
6068
6069   return offset;
6070 }
6071
6072
6073 static const per_sequence_t T_h233EncryptionReceiveCapability_sequence[] = {
6074   { &hf_h245_h233IVResponseTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
6075   { NULL, 0, 0, NULL }
6076 };
6077
6078 static int
6079 dissect_h245_T_h233EncryptionReceiveCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6080   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6081                                    ett_h245_T_h233EncryptionReceiveCapability, T_h233EncryptionReceiveCapability_sequence);
6082
6083   return offset;
6084 }
6085
6086
6087 static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
6088   { &hf_h245_nonStandardParams_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6089 };
6090
6091 static int
6092 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_) {
6093   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6094                                       ett_h245_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
6095
6096   return offset;
6097 }
6098
6099
6100 static const per_sequence_t ConferenceCapability_sequence[] = {
6101   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
6102   { &hf_h245_chairControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6103   { &hf_h245_videoIndicateMixingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6104   { &hf_h245_multipointVisualizationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
6105   { NULL, 0, 0, NULL }
6106 };
6107
6108 static int
6109 dissect_h245_ConferenceCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6110   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6111                                    ett_h245_ConferenceCapability, ConferenceCapability_sequence);
6112
6113   return offset;
6114 }
6115
6116
6117 static const value_string h245_MediaEncryptionAlgorithm_vals[] = {
6118   {   0, "nonStandard" },
6119   {   1, "algorithm" },
6120   { 0, NULL }
6121 };
6122
6123 static const per_choice_t MediaEncryptionAlgorithm_choice[] = {
6124   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6125   {   1, &hf_h245_algorithm      , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
6126   { 0, NULL, 0, NULL }
6127 };
6128
6129 static int
6130 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6131   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6132                                  ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice,
6133                                  NULL);
6134
6135   return offset;
6136 }
6137
6138
6139 static const per_sequence_t EncryptionCapability_sequence_of[1] = {
6140   { &hf_h245_EncryptionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaEncryptionAlgorithm },
6141 };
6142
6143 static int
6144 dissect_h245_EncryptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6145   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6146                                                   ett_h245_EncryptionCapability, EncryptionCapability_sequence_of,
6147                                                   1, 256, FALSE);
6148
6149   return offset;
6150 }
6151
6152
6153 static const per_sequence_t AuthenticationCapability_sequence[] = {
6154   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6155   { &hf_h245_antiSpamAlgorithm, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6156   { NULL, 0, 0, NULL }
6157 };
6158
6159 static int
6160 dissect_h245_AuthenticationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6161   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6162                                    ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
6163
6164   return offset;
6165 }
6166
6167
6168 static const per_sequence_t IntegrityCapability_sequence[] = {
6169   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6170   { NULL, 0, 0, NULL }
6171 };
6172
6173 static int
6174 dissect_h245_IntegrityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6175   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6176                                    ett_h245_IntegrityCapability, IntegrityCapability_sequence);
6177
6178   return offset;
6179 }
6180
6181
6182 static const per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
6183   { &hf_h245_encryptionCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_EncryptionCapability },
6184   { &hf_h245_authenticationCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_AuthenticationCapability },
6185   { &hf_h245_integrityCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IntegrityCapability },
6186   { &hf_h245_genericH235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
6187   { NULL, 0, 0, NULL }
6188 };
6189
6190 static int
6191 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6192   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6193                                    ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
6194
6195   return offset;
6196 }
6197
6198
6199 static const per_sequence_t H235SecurityCapability_sequence[] = {
6200   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
6201   { &hf_h245_mediaCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6202   { NULL, 0, 0, NULL }
6203 };
6204
6205 static int
6206 dissect_h245_H235SecurityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6207   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6208                                    ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
6209
6210   return offset;
6211 }
6212
6213
6214 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of[1] = {
6215   { &hf_h245_ui_nonStandard_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6216 };
6217
6218 static int
6219 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_) {
6220   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6221                                                   ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter, SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of,
6222                                                   1, 16, FALSE);
6223
6224   return offset;
6225 }
6226
6227
6228 static const value_string h245_UserInputCapability_vals[] = {
6229   {   0, "nonStandard" },
6230   {   1, "basicString" },
6231   {   2, "iA5String" },
6232   {   3, "generalString" },
6233   {   4, "dtmf" },
6234   {   5, "hookflash" },
6235   {   6, "extendedAlphanumeric" },
6236   {   7, "encryptedBasicString" },
6237   {   8, "encryptedIA5String" },
6238   {   9, "encryptedGeneralString" },
6239   {  10, "secureDTMF" },
6240   {  11, "genericUserInputCapability" },
6241   { 0, NULL }
6242 };
6243
6244 static const per_choice_t UserInputCapability_choice[] = {
6245   {   0, &hf_h245_ui_nonStandard , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter },
6246   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6247   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6248   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6249   {   4, &hf_h245_dtmf           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6250   {   5, &hf_h245_hookflash      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6251   {   6, &hf_h245_extendedAlphanumericFlag, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6252   {   7, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6253   {   8, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6254   {   9, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6255   {  10, &hf_h245_secureDTMF     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6256   {  11, &hf_h245_genericUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6257   { 0, NULL, 0, NULL }
6258 };
6259
6260 static int
6261 dissect_h245_UserInputCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6262   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6263                                  ett_h245_UserInputCapability, UserInputCapability_choice,
6264                                  NULL);
6265
6266   return offset;
6267 }
6268
6269
6270 static const value_string h245_MultiplexFormat_vals[] = {
6271   {   0, "nonStandard" },
6272   {   1, "h222Capability" },
6273   {   2, "h223Capability" },
6274   { 0, NULL }
6275 };
6276
6277 static const per_choice_t MultiplexFormat_choice[] = {
6278   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6279   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
6280   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
6281   { 0, NULL, 0, NULL }
6282 };
6283
6284 static int
6285 dissect_h245_MultiplexFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6286   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6287                                  ett_h245_MultiplexFormat, MultiplexFormat_choice,
6288                                  NULL);
6289
6290   return offset;
6291 }
6292
6293
6294 static const per_sequence_t AlternativeCapabilitySet_sequence_of[1] = {
6295   { &hf_h245_AlternativeCapabilitySet_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6296 };
6297
6298 static int
6299 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6300   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6301                                                   ett_h245_AlternativeCapabilitySet, AlternativeCapabilitySet_sequence_of,
6302                                                   1, 256, FALSE);
6303
6304   return offset;
6305 }
6306
6307
6308 static const per_sequence_t SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of[1] = {
6309   { &hf_h245_simultaneousCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_AlternativeCapabilitySet },
6310 };
6311
6312 static int
6313 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_) {
6314   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6315                                              ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet, SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of,
6316                                              1, 256, FALSE);
6317
6318   return offset;
6319 }
6320
6321
6322 static const per_sequence_t MultiplexedStreamCapability_sequence[] = {
6323   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
6324   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6325   { &hf_h245_capabilityOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6326   { NULL, 0, 0, NULL }
6327 };
6328
6329 static int
6330 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6331   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6332                                    ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
6333
6334   return offset;
6335 }
6336
6337
6338
6339 static int
6340 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_) {
6341   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6342                                                             96U, 127U, NULL, FALSE);
6343
6344   return offset;
6345 }
6346
6347
6348 static const per_sequence_t AudioTelephonyEventCapability_sequence[] = {
6349   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6350   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
6351   { NULL, 0, 0, NULL }
6352 };
6353
6354 static int
6355 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6356   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6357                                    ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
6358
6359   return offset;
6360 }
6361
6362
6363 static const per_sequence_t AudioToneCapability_sequence[] = {
6364   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6365   { NULL, 0, 0, NULL }
6366 };
6367
6368 static int
6369 dissect_h245_AudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6370   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6371                                    ett_h245_AudioToneCapability, AudioToneCapability_sequence);
6372
6373   return offset;
6374 }
6375
6376
6377 static const per_sequence_t T_separateStreamBool_sequence[] = {
6378   { &hf_h245_separatePort   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6379   { &hf_h245_samePortBool   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6380   { NULL, 0, 0, NULL }
6381 };
6382
6383 static int
6384 dissect_h245_T_separateStreamBool(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6385   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6386                                    ett_h245_T_separateStreamBool, T_separateStreamBool_sequence);
6387
6388   return offset;
6389 }
6390
6391
6392 static const per_sequence_t FECC_rfc2733_sequence[] = {
6393   { &hf_h245_redundancyEncodingBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6394   { &hf_h245_separateStreamBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_separateStreamBool },
6395   { NULL, 0, 0, NULL }
6396 };
6397
6398 static int
6399 dissect_h245_FECC_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6400   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6401                                    ett_h245_FECC_rfc2733, FECC_rfc2733_sequence);
6402
6403   return offset;
6404 }
6405
6406
6407 static const value_string h245_DepFECCapability_vals[] = {
6408   {   0, "rfc2733" },
6409   { 0, NULL }
6410 };
6411
6412 static const per_choice_t DepFECCapability_choice[] = {
6413   {   0, &hf_h245_fecc_rfc2733   , ASN1_EXTENSION_ROOT    , dissect_h245_FECC_rfc2733 },
6414   { 0, NULL, 0, NULL }
6415 };
6416
6417 static int
6418 dissect_h245_DepFECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6419   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6420                                  ett_h245_DepFECCapability, DepFECCapability_choice,
6421                                  NULL);
6422
6423   return offset;
6424 }
6425
6426
6427 static const per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
6428   { &hf_h245_capabilities   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6429   { NULL, 0, 0, NULL }
6430 };
6431
6432 static int
6433 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6434   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6435                                    ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
6436
6437   return offset;
6438 }
6439
6440
6441
6442 static int
6443 dissect_h245_MaxRedundancy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6444   offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
6445                                                             1U, NO_BOUND, NULL, FALSE);
6446
6447   return offset;
6448 }
6449
6450
6451 static const value_string h245_Rfc2733Format_vals[] = {
6452   {   0, "rfc2733rfc2198" },
6453   {   1, "rfc2733sameport" },
6454   {   2, "rfc2733diffport" },
6455   { 0, NULL }
6456 };
6457
6458 static const per_choice_t Rfc2733Format_choice[] = {
6459   {   0, &hf_h245_rfc2733rfc2198 , ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6460   {   1, &hf_h245_rfc2733sameport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6461   {   2, &hf_h245_rfc2733diffport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6462   { 0, NULL, 0, NULL }
6463 };
6464
6465 static int
6466 dissect_h245_Rfc2733Format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6467   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6468                                  ett_h245_Rfc2733Format, Rfc2733Format_choice,
6469                                  NULL);
6470
6471   return offset;
6472 }
6473
6474
6475 static const per_sequence_t FECCapability_sequence[] = {
6476   { &hf_h245_protectedCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6477   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6478   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
6479   { NULL, 0, 0, NULL }
6480 };
6481
6482 static int
6483 dissect_h245_FECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6484   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6485                                    ett_h245_FECCapability, FECCapability_sequence);
6486
6487   return offset;
6488 }
6489
6490
6491 const value_string h245_Capability_vals[] = {
6492   {   0, "nonStandard" },
6493   {   1, "receiveVideoCapability" },
6494   {   2, "transmitVideoCapability" },
6495   {   3, "receiveAndTransmitVideoCapability" },
6496   {   4, "receiveAudioCapability" },
6497   {   5, "transmitAudioCapability" },
6498   {   6, "receiveAndTransmitAudioCapability" },
6499   {   7, "receiveDataApplicationCapability" },
6500   {   8, "transmitDataApplicationCapability" },
6501   {   9, "receiveAndTransmitDataApplicationCapability" },
6502   {  10, "h233EncryptionTransmitCapability" },
6503   {  11, "h233EncryptionReceiveCapability" },
6504   {  12, "conferenceCapability" },
6505   {  13, "h235SecurityCapability" },
6506   {  14, "maxPendingReplacementFor" },
6507   {  15, "receiveUserInputCapability" },
6508   {  16, "transmitUserInputCapability" },
6509   {  17, "receiveAndTransmitUserInputCapability" },
6510   {  18, "genericControlCapability" },
6511   {  19, "receiveMultiplexedStreamCapability" },
6512   {  20, "transmitMultiplexedStreamCapability" },
6513   {  21, "receiveAndTransmitMultiplexedStreamCapability" },
6514   {  22, "receiveRTPAudioTelephonyEventCapability" },
6515   {  23, "receiveRTPAudioToneCapability" },
6516   {  24, "depFecCapability" },
6517   {  25, "multiplePayloadStreamCapability" },
6518   {  26, "fecCapability" },
6519   {  27, "redundancyEncodingCap" },
6520   {  28, "oneOfCapabilities" },
6521   { 0, NULL }
6522 };
6523
6524 static const per_choice_t Capability_choice[] = {
6525   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6526   {   1, &hf_h245_receiveVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6527   {   2, &hf_h245_transmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6528   {   3, &hf_h245_receiveAndTransmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6529   {   4, &hf_h245_receiveAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6530   {   5, &hf_h245_transmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6531   {   6, &hf_h245_receiveAndTransmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6532   {   7, &hf_h245_receiveDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6533   {   8, &hf_h245_transmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6534   {   9, &hf_h245_receiveAndTransmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6535   {  10, &hf_h245_h233EncryptionTransmitCapability, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
6536   {  11, &hf_h245_h233EncryptionReceiveCapability, ASN1_EXTENSION_ROOT    , dissect_h245_T_h233EncryptionReceiveCapability },
6537   {  12, &hf_h245_conferenceCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCapability },
6538   {  13, &hf_h245_h235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235SecurityCapability },
6539   {  14, &hf_h245_maxPendingReplacementFor, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
6540   {  15, &hf_h245_receiveUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6541   {  16, &hf_h245_transmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6542   {  17, &hf_h245_receiveAndTransmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6543   {  18, &hf_h245_genericControlCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6544   {  19, &hf_h245_receiveMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6545   {  20, &hf_h245_transmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6546   {  21, &hf_h245_receiveAndTransmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6547   {  22, &hf_h245_receiveRTPAudioTelephonyEventCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioTelephonyEventCapability },
6548   {  23, &hf_h245_receiveRTPAudioToneCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioToneCapability },
6549   {  24, &hf_h245_depFecCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECCapability },
6550   {  25, &hf_h245_multiplePayloadStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamCapability },
6551   {  26, &hf_h245_fecCapability  , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECCapability },
6552   {  27, &hf_h245_redundancyEncodingCap, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingCapability },
6553   {  28, &hf_h245_oneOfCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AlternativeCapabilitySet },
6554   { 0, NULL, 0, NULL }
6555 };
6556
6557 int
6558 dissect_h245_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6559   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6560                                  ett_h245_Capability, Capability_choice,
6561                                  NULL);
6562
6563   return offset;
6564 }
6565
6566
6567 static const per_sequence_t CapabilityTableEntry_sequence[] = {
6568   { &hf_h245_capabilityTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6569   { &hf_h245_capability     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_Capability },
6570   { NULL, 0, 0, NULL }
6571 };
6572
6573 static int
6574 dissect_h245_CapabilityTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6575   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6576                                    ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
6577
6578   return offset;
6579 }
6580
6581
6582 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityTableEntry_set_of[1] = {
6583   { &hf_h245_capabilityTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntry },
6584 };
6585
6586 static int
6587 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_) {
6588   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6589                                              ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry, SET_SIZE_1_256_OF_CapabilityTableEntry_set_of,
6590                                              1, 256, FALSE);
6591
6592   return offset;
6593 }
6594
6595
6596
6597 static int
6598 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6599   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6600                                                             0U, 255U, NULL, FALSE);
6601
6602   return offset;
6603 }
6604
6605
6606 static const per_sequence_t CapabilityDescriptor_sequence[] = {
6607   { &hf_h245_capabilityDescriptorNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
6608   { &hf_h245_simultaneousCapabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6609   { NULL, 0, 0, NULL }
6610 };
6611
6612 static int
6613 dissect_h245_CapabilityDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6614   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6615                                    ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
6616
6617   return offset;
6618 }
6619
6620
6621 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptor_set_of[1] = {
6622   { &hf_h245_capabilityDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptor },
6623 };
6624
6625 static int
6626 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_) {
6627   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6628                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor, SET_SIZE_1_256_OF_CapabilityDescriptor_set_of,
6629                                              1, 256, FALSE);
6630
6631   return offset;
6632 }
6633
6634
6635
6636 static int
6637 dissect_h245_T_subMessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6638 #line 582 "./asn1/h245/h245.cnf"
6639   guint32 subMessageIdentifier;
6640   gef_ctx_t *gefx;
6641
6642   gefx = gef_ctx_get(actx->private_data);
6643   if (gefx) {
6644         /* If this is a standard generic message use hf_h245_subMessageIdentifier_standard to get
6645          * the value translated and make it fileterable.
6646          */
6647     if (strcmp("GenericMessage/0.0.8.239.2", gefx->key) == 0) {
6648       hf_index = hf_h245_subMessageIdentifier_standard;
6649     }
6650   }
6651
6652   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6653                                                             0U, 127U, &subMessageIdentifier, FALSE);
6654
6655   if (gefx) {
6656     gefx->subid = wmem_strdup_printf(wmem_packet_scope(), "%u", subMessageIdentifier);
6657     gef_ctx_update_key(gef_ctx_get(actx->private_data));
6658   }
6659   if (hf_index == hf_h245_subMessageIdentifier_standard)
6660   {
6661     col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(subMessageIdentifier, h245_h239subMessageIdentifier_vals, "<unknown>") );
6662     g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(subMessageIdentifier, h245_h239subMessageIdentifier_vals, "<unknown>"));
6663   }
6664
6665
6666   return offset;
6667 }
6668
6669
6670
6671 static int
6672 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_) {
6673 #line 608 "./asn1/h245/h245.cnf"
6674   gef_ctx_t *parent_gefx;
6675
6676   parent_gefx = gef_ctx_get(actx->private_data);
6677   actx->private_data = gef_ctx_alloc(parent_gefx, NULL);
6678
6679   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
6680
6681 #line 613 "./asn1/h245/h245.cnf"
6682   actx->private_data = parent_gefx;
6683
6684   return offset;
6685 }
6686
6687
6688 static const per_sequence_t T_messageContent_sequence_of[1] = {
6689   { &hf_h245_messageContent_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_messageContent_item },
6690 };
6691
6692 static int
6693 dissect_h245_T_messageContent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6694   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6695                                       ett_h245_T_messageContent, T_messageContent_sequence_of);
6696
6697   return offset;
6698 }
6699
6700
6701 static const per_sequence_t GenericMessage_sequence[] = {
6702   { &hf_h245_messageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
6703   { &hf_h245_subMessageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subMessageIdentifier },
6704   { &hf_h245_messageContent , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_messageContent },
6705   { NULL, 0, 0, NULL }
6706 };
6707
6708 static int
6709 dissect_h245_GenericMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6710 #line 568 "./asn1/h245/h245.cnf"
6711   void *priv_data = actx->private_data;
6712   gef_ctx_t *gefx;
6713
6714   /* check if not inherited from GenericInformation */
6715   gefx = gef_ctx_get(actx->private_data);
6716   if (!gefx) {
6717     gefx = gef_ctx_alloc(NULL, "GenericMessage");
6718     actx->private_data = gefx;
6719   }
6720
6721   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6722                                    ett_h245_GenericMessage, GenericMessage_sequence);
6723
6724 #line 578 "./asn1/h245/h245.cnf"
6725   actx->private_data = priv_data;
6726
6727   return offset;
6728 }
6729
6730
6731
6732 static int
6733 dissect_h245_GenericInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6734 #line 618 "./asn1/h245/h245.cnf"
6735   void *priv_data = actx->private_data;
6736   actx->private_data = gef_ctx_alloc(NULL, "GenericInformation");
6737
6738   offset = dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_index);
6739
6740 #line 621 "./asn1/h245/h245.cnf"
6741   actx->private_data = priv_data;
6742
6743   return offset;
6744 }
6745
6746
6747 static const per_sequence_t SEQUENCE_OF_GenericInformation_sequence_of[1] = {
6748   { &hf_h245_genericInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericInformation },
6749 };
6750
6751 static int
6752 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_) {
6753   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6754                                       ett_h245_SEQUENCE_OF_GenericInformation, SEQUENCE_OF_GenericInformation_sequence_of);
6755
6756   return offset;
6757 }
6758
6759
6760 static const per_sequence_t TerminalCapabilitySet_sequence[] = {
6761   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
6762   { &hf_h245_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
6763   { &hf_h245_multiplexCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplexCapability },
6764   { &hf_h245_capabilityTable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry },
6765   { &hf_h245_capabilityDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor },
6766   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
6767   { NULL, 0, 0, NULL }
6768 };
6769
6770 static int
6771 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6772   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6773                                    ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
6774
6775 #line 553 "./asn1/h245/h245.cnf"
6776
6777 if (h245_pi != NULL)
6778   h245_pi->msg_type = H245_TermCapSet;
6779
6780   return offset;
6781 }
6782
6783
6784
6785 static int
6786 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6787 #line 122 "./asn1/h245/h245.cnf"
6788   guint32 value;
6789   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6790                                                             1U, 65535U, &value, FALSE);
6791
6792   h245_lc_temp = value & 0xfff;
6793
6794
6795   return offset;
6796 }
6797
6798
6799
6800 static int
6801 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_) {
6802   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
6803
6804 #line 163 "./asn1/h245/h245.cnf"
6805   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
6806   h223_fw_lc_num = h245_lc_temp;
6807
6808   return offset;
6809 }
6810
6811
6812 static const value_string h245_EncryptionMode_vals[] = {
6813   {   0, "nonStandard" },
6814   {   1, "h233Encryption" },
6815   { 0, NULL }
6816 };
6817
6818 static const per_choice_t EncryptionMode_choice[] = {
6819   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6820   {   1, &hf_h245_h233Encryption , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6821   { 0, NULL, 0, NULL }
6822 };
6823
6824 static int
6825 dissect_h245_EncryptionMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6826   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6827                                  ett_h245_EncryptionMode, EncryptionMode_choice,
6828                                  NULL);
6829
6830   return offset;
6831 }
6832
6833
6834
6835 static int
6836 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_) {
6837   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6838                                                             0U, 127U, NULL, FALSE);
6839
6840   return offset;
6841 }
6842
6843
6844 static const per_sequence_t RedundancyEncodingElement_sequence[] = {
6845   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6846   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6847   { NULL, 0, 0, NULL }
6848 };
6849
6850 static int
6851 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6852   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6853                                    ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
6854
6855   return offset;
6856 }
6857
6858
6859 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingElement_sequence_of[1] = {
6860   { &hf_h245_secondary_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingElement },
6861 };
6862
6863 static int
6864 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_) {
6865   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6866                                       ett_h245_SEQUENCE_OF_RedundancyEncodingElement, SEQUENCE_OF_RedundancyEncodingElement_sequence_of);
6867
6868   return offset;
6869 }
6870
6871
6872 static const per_sequence_t T_rtpRedundancyEncoding_sequence[] = {
6873   { &hf_h245_primary        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingElement },
6874   { &hf_h245_secondary      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_RedundancyEncodingElement },
6875   { NULL, 0, 0, NULL }
6876 };
6877
6878 static int
6879 dissect_h245_T_rtpRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6880   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6881                                    ett_h245_T_rtpRedundancyEncoding, T_rtpRedundancyEncoding_sequence);
6882
6883   return offset;
6884 }
6885
6886
6887 static const per_sequence_t RedundancyEncoding_sequence[] = {
6888   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
6889   { &hf_h245_secondaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataType },
6890   { &hf_h245_rtpRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_rtpRedundancyEncoding },
6891   { NULL, 0, 0, NULL }
6892 };
6893
6894 static int
6895 dissect_h245_RedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6896   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6897                                    ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
6898
6899   return offset;
6900 }
6901
6902
6903 static const per_sequence_t MultiplePayloadStreamElement_sequence[] = {
6904   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6905   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6906   { NULL, 0, 0, NULL }
6907 };
6908
6909 static int
6910 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6911   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6912                                    ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
6913
6914   return offset;
6915 }
6916
6917
6918 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of[1] = {
6919   { &hf_h245_elements_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElement },
6920 };
6921
6922 static int
6923 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_) {
6924   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6925                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement, SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of);
6926
6927   return offset;
6928 }
6929
6930
6931 static const per_sequence_t MultiplePayloadStream_sequence[] = {
6932   { &hf_h245_elements       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement },
6933   { NULL, 0, 0, NULL }
6934 };
6935
6936 static int
6937 dissect_h245_MultiplePayloadStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6938   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6939                                    ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
6940
6941   return offset;
6942 }
6943
6944
6945 static const per_sequence_t T_differentPort_sequence[] = {
6946   { &hf_h245_protectedSessionID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
6947   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6948   { NULL, 0, 0, NULL }
6949 };
6950
6951 static int
6952 dissect_h245_T_differentPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6953   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6954                                    ett_h245_T_differentPort, T_differentPort_sequence);
6955
6956   return offset;
6957 }
6958
6959
6960 static const per_sequence_t T_samePort_sequence[] = {
6961   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
6962   { NULL, 0, 0, NULL }
6963 };
6964
6965 static int
6966 dissect_h245_T_samePort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6967   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6968                                    ett_h245_T_samePort, T_samePort_sequence);
6969
6970   return offset;
6971 }
6972
6973
6974 static const value_string h245_DepSeparateStream_vals[] = {
6975   {   0, "differentPort" },
6976   {   1, "samePort" },
6977   { 0, NULL }
6978 };
6979
6980 static const per_choice_t DepSeparateStream_choice[] = {
6981   {   0, &hf_h245_differentPort  , ASN1_EXTENSION_ROOT    , dissect_h245_T_differentPort },
6982   {   1, &hf_h245_samePort       , ASN1_EXTENSION_ROOT    , dissect_h245_T_samePort },
6983   { 0, NULL, 0, NULL }
6984 };
6985
6986 static int
6987 dissect_h245_DepSeparateStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6988   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6989                                  ett_h245_DepSeparateStream, DepSeparateStream_choice,
6990                                  NULL);
6991
6992   return offset;
6993 }
6994
6995
6996 static const value_string h245_FECdata_mode_vals[] = {
6997   {   0, "redundancyEncoding" },
6998   {   1, "separateStream" },
6999   { 0, NULL }
7000 };
7001
7002 static const per_choice_t FECdata_mode_choice[] = {
7003   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7004   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
7005   { 0, NULL, 0, NULL }
7006 };
7007
7008 static int
7009 dissect_h245_FECdata_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7010   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7011                                  ett_h245_FECdata_mode, FECdata_mode_choice,
7012                                  NULL);
7013
7014   return offset;
7015 }
7016
7017
7018 static const per_sequence_t RFC2733Data_sequence[] = {
7019   { &hf_h245_fec_data_mode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FECdata_mode },
7020   { NULL, 0, 0, NULL }
7021 };
7022
7023 static int
7024 dissect_h245_RFC2733Data(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7025   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7026                                    ett_h245_RFC2733Data, RFC2733Data_sequence);
7027
7028   return offset;
7029 }
7030
7031
7032 static const value_string h245_DepFECData_vals[] = {
7033   {   0, "rfc2733" },
7034   { 0, NULL }
7035 };
7036
7037 static const per_choice_t DepFECData_choice[] = {
7038   {   0, &hf_h245_dep_rfc2733    , ASN1_NO_EXTENSIONS     , dissect_h245_RFC2733Data },
7039   { 0, NULL, 0, NULL }
7040 };
7041
7042 static int
7043 dissect_h245_DepFECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7044   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7045                                  ett_h245_DepFECData, DepFECData_choice,
7046                                  NULL);
7047
7048   return offset;
7049 }
7050
7051
7052 static const per_sequence_t T_mode_rfc2733sameport_sequence[] = {
7053   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
7054 };
7055
7056 static int
7057 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_) {
7058   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7059                                    ett_h245_T_mode_rfc2733sameport, T_mode_rfc2733sameport_sequence);
7060
7061   return offset;
7062 }
7063
7064
7065 static const per_sequence_t T_mode_rfc2733diffport_sequence[] = {
7066   { &hf_h245_protectedChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
7067   { NULL, 0, 0, NULL }
7068 };
7069
7070 static int
7071 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_) {
7072   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7073                                    ett_h245_T_mode_rfc2733diffport, T_mode_rfc2733diffport_sequence);
7074
7075   return offset;
7076 }
7077
7078
7079 static const value_string h245_T_pktMode_vals[] = {
7080   {   0, "rfc2198coding" },
7081   {   1, "rfc2733sameport" },
7082   {   2, "rfc2733diffport" },
7083   { 0, NULL }
7084 };
7085
7086 static const per_choice_t T_pktMode_choice[] = {
7087   {   0, &hf_h245_rfc2198coding  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7088   {   1, &hf_h245_mode_rfc2733sameport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733sameport },
7089   {   2, &hf_h245_mode_rfc2733diffport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733diffport },
7090   { 0, NULL, 0, NULL }
7091 };
7092
7093 static int
7094 dissect_h245_T_pktMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7095   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7096                                  ett_h245_T_pktMode, T_pktMode_choice,
7097                                  NULL);
7098
7099   return offset;
7100 }
7101
7102
7103 static const per_sequence_t T_rfc2733_sequence[] = {
7104   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
7105   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
7106   { &hf_h245_pktMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pktMode },
7107   { NULL, 0, 0, NULL }
7108 };
7109
7110 static int
7111 dissect_h245_T_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7112   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7113                                    ett_h245_T_rfc2733, T_rfc2733_sequence);
7114
7115   return offset;
7116 }
7117
7118
7119 static const value_string h245_FECData_vals[] = {
7120   {   0, "rfc2733" },
7121   { 0, NULL }
7122 };
7123
7124 static const per_choice_t FECData_choice[] = {
7125   {   0, &hf_h245_rfc2733        , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733 },
7126   { 0, NULL, 0, NULL }
7127 };
7128
7129 static int
7130 dissect_h245_FECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7131   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7132                                  ett_h245_FECData, FECData_choice,
7133                                  NULL);
7134
7135   return offset;
7136 }
7137
7138
7139 static const value_string h245_T_mediaType_vals[] = {
7140   {   0, "nonStandard" },
7141   {   1, "videoData" },
7142   {   2, "audioData" },
7143   {   3, "data" },
7144   {   4, "redundancyEncoding" },
7145   {   5, "multiplePayloadStream" },
7146   {   6, "depFec" },
7147   {   7, "fec" },
7148   { 0, NULL }
7149 };
7150
7151 static const per_choice_t T_mediaType_choice[] = {
7152   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7153   {   1, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7154   {   2, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7155   {   3, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7156   {   4, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7157   {   5, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7158   {   6, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7159   {   7, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7160   { 0, NULL, 0, NULL }
7161 };
7162
7163 static int
7164 dissect_h245_T_mediaType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7165   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7166                                  ett_h245_T_mediaType, T_mediaType_choice,
7167                                  NULL);
7168
7169   return offset;
7170 }
7171
7172
7173 static const per_sequence_t H235Media_sequence[] = {
7174   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
7175   { &hf_h245_mediaType      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaType },
7176   { NULL, 0, 0, NULL }
7177 };
7178
7179 static int
7180 dissect_h245_H235Media(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7181   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7182                                    ett_h245_H235Media, H235Media_sequence);
7183
7184   return offset;
7185 }
7186
7187
7188 static const per_sequence_t MultiplexedStreamParameter_sequence[] = {
7189   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
7190   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7191   { NULL, 0, 0, NULL }
7192 };
7193
7194 static int
7195 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7196   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7197                                    ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
7198
7199   return offset;
7200 }
7201
7202
7203 static const value_string h245_DataType_vals[] = {
7204   {   0, "nonStandard" },
7205   {   1, "nullData" },
7206   {   2, "videoData" },
7207   {   3, "audioData" },
7208   {   4, "data" },
7209   {   5, "encryptionData" },
7210   {   6, "h235Control" },
7211   {   7, "h235Media" },
7212   {   8, "multiplexedStream" },
7213   {   9, "redundancyEncoding" },
7214   {  10, "multiplePayloadStream" },
7215   {  11, "depFec" },
7216   {  12, "fec" },
7217   { 0, NULL }
7218 };
7219
7220 static const per_choice_t DataType_choice[] = {
7221   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7222   {   1, &hf_h245_nullData       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7223   {   2, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7224   {   3, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7225   {   4, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7226   {   5, &hf_h245_encryptionData , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
7227   {   6, &hf_h245_h235Control    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
7228   {   7, &hf_h245_h235Media      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Media },
7229   {   8, &hf_h245_multiplexedStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
7230   {   9, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7231   {  10, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7232   {  11, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7233   {  12, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7234   { 0, NULL, 0, NULL }
7235 };
7236
7237 static int
7238 dissect_h245_DataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7239 #line 1007 "./asn1/h245/h245.cnf"
7240 gint choice_index;
7241
7242   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7243                                  ett_h245_DataType, DataType_choice,
7244                                  &choice_index);
7245
7246
7247 if (upcoming_channel){
7248         if (choice_index==2){
7249                 upcoming_channel->is_video=TRUE;
7250         }else{
7251                 upcoming_channel->is_video=FALSE;
7252         }
7253 }
7254
7255
7256
7257   return offset;
7258 }
7259
7260
7261
7262 static int
7263 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_) {
7264   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7265                                                             0U, 8191U, NULL, FALSE);
7266
7267   return offset;
7268 }
7269
7270
7271 static const per_sequence_t H222LogicalChannelParameters_sequence[] = {
7272   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
7273   { &hf_h245_subChannelID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_8191 },
7274   { &hf_h245_pcr_pid        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_8191 },
7275   { &hf_h245_programDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7276   { &hf_h245_streamDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7277   { NULL, 0, 0, NULL }
7278 };
7279
7280 static int
7281 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7282   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7283                                    ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
7284
7285   return offset;
7286 }
7287
7288
7289
7290 static int
7291 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_) {
7292 #line 294 "./asn1/h245/h245.cnf"
7293   if(h223_lc_params_temp)
7294         h223_lc_params_temp->al_type = al1Framed;
7295
7296   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7297
7298   return offset;
7299 }
7300
7301
7302
7303 static int
7304 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_) {
7305 #line 299 "./asn1/h245/h245.cnf"
7306   if(h223_lc_params_temp)
7307         h223_lc_params_temp->al_type = al1NotFramed;
7308
7309   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7310
7311   return offset;
7312 }
7313
7314
7315
7316 static int
7317 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_) {
7318 #line 304 "./asn1/h245/h245.cnf"
7319   if(h223_lc_params_temp)
7320         h223_lc_params_temp->al_type = al2WithoutSequenceNumbers;
7321
7322   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7323
7324   return offset;
7325 }
7326
7327
7328
7329 static int
7330 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_) {
7331 #line 309 "./asn1/h245/h245.cnf"
7332   if(h223_lc_params_temp)
7333         h223_lc_params_temp->al_type = al2WithSequenceNumbers;
7334
7335   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7336
7337   return offset;
7338 }
7339
7340
7341
7342 static int
7343 dissect_h245_T_controlFieldOctets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7344 #line 323 "./asn1/h245/h245.cnf"
7345   guint32 value;
7346   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7347                                                             0U, 2U, &value, FALSE);
7348
7349   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7350         ((h223_al3_params*)h223_lc_params_temp->al_params)->control_field_octets = value & 3 ;
7351
7352
7353   return offset;
7354 }
7355
7356
7357
7358 static int
7359 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_) {
7360 #line 332 "./asn1/h245/h245.cnf"
7361   guint32 value;
7362   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7363                                                             0U, 16777215U, &value, FALSE);
7364
7365   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7366         ((h223_al3_params*)h223_lc_params_temp->al_params)->send_buffer_size = value & 0xfffff;
7367
7368
7369   return offset;
7370 }
7371
7372
7373 static const per_sequence_t Al3_sequence[] = {
7374   { &hf_h245_controlFieldOctets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_controlFieldOctets },
7375   { &hf_h245_al3_sendBufferSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_al3_sendBufferSize },
7376   { NULL, 0, 0, NULL }
7377 };
7378
7379 static int
7380 dissect_h245_Al3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7381   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7382                                    ett_h245_Al3, Al3_sequence);
7383
7384   return offset;
7385 }
7386
7387
7388
7389 static int
7390 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_) {
7391 #line 314 "./asn1/h245/h245.cnf"
7392  if(h223_lc_params_temp) {
7393         h223_lc_params_temp->al_type = al3;
7394         h223_lc_params_temp->al_params = wmem_new(wmem_file_scope(), h223_al3_params);
7395   }
7396
7397   offset = dissect_h245_Al3(tvb, offset, actx, tree, hf_index);
7398
7399   return offset;
7400 }
7401
7402
7403 static const value_string h245_T_transferMode_vals[] = {
7404   {   0, "framed" },
7405   {   1, "unframed" },
7406   { 0, NULL }
7407 };
7408
7409 static const per_choice_t T_transferMode_choice[] = {
7410   {   0, &hf_h245_framed         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7411   {   1, &hf_h245_unframed       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7412   { 0, NULL, 0, NULL }
7413 };
7414
7415 static int
7416 dissect_h245_T_transferMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7417   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7418                                  ett_h245_T_transferMode, T_transferMode_choice,
7419                                  NULL);
7420
7421   return offset;
7422 }
7423
7424
7425 static const value_string h245_AL1HeaderFEC_vals[] = {
7426   {   0, "sebch16-7" },
7427   {   1, "golay24-12" },
7428   { 0, NULL }
7429 };
7430
7431 static const per_choice_t AL1HeaderFEC_choice[] = {
7432   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7433   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7434   { 0, NULL, 0, NULL }
7435 };
7436
7437 static int
7438 dissect_h245_AL1HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7439   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7440                                  ett_h245_AL1HeaderFEC, AL1HeaderFEC_choice,
7441                                  NULL);
7442
7443   return offset;
7444 }
7445
7446
7447 static const value_string h245_AL1CrcLength_vals[] = {
7448   {   0, "crc4bit" },
7449   {   1, "crc12bit" },
7450   {   2, "crc20bit" },
7451   {   3, "crc28bit" },
7452   {   4, "crc8bit" },
7453   {   5, "crc16bit" },
7454   {   6, "crc32bit" },
7455   {   7, "crcNotUsed" },
7456   { 0, NULL }
7457 };
7458
7459 static const per_choice_t AL1CrcLength_choice[] = {
7460   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7461   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7462   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7463   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7464   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7465   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7466   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7467   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7468   { 0, NULL, 0, NULL }
7469 };
7470
7471 static int
7472 dissect_h245_AL1CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7473   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7474                                  ett_h245_AL1CrcLength, AL1CrcLength_choice,
7475                                  NULL);
7476
7477   return offset;
7478 }
7479
7480
7481
7482 static int
7483 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_) {
7484   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7485                                                             8U, 32U, NULL, FALSE);
7486
7487   return offset;
7488 }
7489
7490
7491
7492 static int
7493 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_) {
7494   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7495                                                             0U, 16U, NULL, FALSE);
7496
7497   return offset;
7498 }
7499
7500
7501 static const value_string h245_T_numberOfRetransmissions_vals[] = {
7502   {   0, "finite" },
7503   {   1, "infinite" },
7504   { 0, NULL }
7505 };
7506
7507 static const per_choice_t T_numberOfRetransmissions_choice[] = {
7508   {   0, &hf_h245_finite         , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_16 },
7509   {   1, &hf_h245_infinite       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7510   { 0, NULL, 0, NULL }
7511 };
7512
7513 static int
7514 dissect_h245_T_numberOfRetransmissions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7515   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7516                                  ett_h245_T_numberOfRetransmissions, T_numberOfRetransmissions_choice,
7517                                  NULL);
7518
7519   return offset;
7520 }
7521
7522
7523 static const per_sequence_t H223AnnexCArqParameters_sequence[] = {
7524   { &hf_h245_numberOfRetransmissions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_numberOfRetransmissions },
7525   { &hf_h245_sendBufferSize , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
7526   { NULL, 0, 0, NULL }
7527 };
7528
7529 static int
7530 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7531   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7532                                    ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
7533
7534   return offset;
7535 }
7536
7537
7538 static const value_string h245_ArqType_vals[] = {
7539   {   0, "noArq" },
7540   {   1, "typeIArq" },
7541   {   2, "typeIIArq" },
7542   { 0, NULL }
7543 };
7544
7545 static const per_choice_t ArqType_choice[] = {
7546   {   0, &hf_h245_noArq          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7547   {   1, &hf_h245_typeIArq       , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7548   {   2, &hf_h245_typeIIArq      , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7549   { 0, NULL, 0, NULL }
7550 };
7551
7552 static int
7553 dissect_h245_ArqType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7554   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7555                                  ett_h245_ArqType, ArqType_choice,
7556                                  NULL);
7557
7558   return offset;
7559 }
7560
7561
7562 static const per_sequence_t H223AL1MParameters_sequence[] = {
7563   { &hf_h245_transferMode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_transferMode },
7564   { &hf_h245_aL1HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1HeaderFEC },
7565   { &hf_h245_crcLength2     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1CrcLength },
7566   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7567   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7568   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7569   { &hf_h245_alsduSplitting , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7570   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7571   { NULL, 0, 0, NULL }
7572 };
7573
7574 static int
7575 dissect_h245_H223AL1MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7576   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7577                                    ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
7578
7579   return offset;
7580 }
7581
7582
7583
7584 static int
7585 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_) {
7586 #line 339 "./asn1/h245/h245.cnf"
7587   if(h223_lc_params_temp)
7588         h223_lc_params_temp->al_type = al1M;
7589
7590   offset = dissect_h245_H223AL1MParameters(tvb, offset, actx, tree, hf_index);
7591
7592   return offset;
7593 }
7594
7595
7596 static const value_string h245_AL2HeaderFEC_vals[] = {
7597   {   0, "sebch16-5" },
7598   {   1, "golay24-12" },
7599   { 0, NULL }
7600 };
7601
7602 static const per_choice_t AL2HeaderFEC_choice[] = {
7603   {   0, &hf_h245_sebch16_5      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7604   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7605   { 0, NULL, 0, NULL }
7606 };
7607
7608 static int
7609 dissect_h245_AL2HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7610   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7611                                  ett_h245_AL2HeaderFEC, AL2HeaderFEC_choice,
7612                                  NULL);
7613
7614   return offset;
7615 }
7616
7617
7618 static const per_sequence_t H223AL2MParameters_sequence[] = {
7619   { &hf_h245_aL2HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL2HeaderFEC },
7620   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7621   { NULL, 0, 0, NULL }
7622 };
7623
7624 static int
7625 dissect_h245_H223AL2MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7626   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7627                                    ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
7628
7629   return offset;
7630 }
7631
7632
7633
7634 static int
7635 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_) {
7636 #line 344 "./asn1/h245/h245.cnf"
7637   if(h223_lc_params_temp)
7638         h223_lc_params_temp->al_type = al2M;
7639
7640   offset = dissect_h245_H223AL2MParameters(tvb, offset, actx, tree, hf_index);
7641
7642   return offset;
7643 }
7644
7645
7646 static const value_string h245_T_headerFormat_vals[] = {
7647   {   0, "sebch16-7" },
7648   {   1, "golay24-12" },
7649   { 0, NULL }
7650 };
7651
7652 static const per_choice_t T_headerFormat_choice[] = {
7653   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7654   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7655   { 0, NULL, 0, NULL }
7656 };
7657
7658 static int
7659 dissect_h245_T_headerFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7660   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7661                                  ett_h245_T_headerFormat, T_headerFormat_choice,
7662                                  NULL);
7663
7664   return offset;
7665 }
7666
7667
7668 static const value_string h245_AL3CrcLength_vals[] = {
7669   {   0, "crc4bit" },
7670   {   1, "crc12bit" },
7671   {   2, "crc20bit" },
7672   {   3, "crc28bit" },
7673   {   4, "crc8bit" },
7674   {   5, "crc16bit" },
7675   {   6, "crc32bit" },
7676   {   7, "crcNotUsed" },
7677   { 0, NULL }
7678 };
7679
7680 static const per_choice_t AL3CrcLength_choice[] = {
7681   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7682   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7683   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7684   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7685   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7686   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7687   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7688   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7689   { 0, NULL, 0, NULL }
7690 };
7691
7692 static int
7693 dissect_h245_AL3CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7694   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7695                                  ett_h245_AL3CrcLength, AL3CrcLength_choice,
7696                                  NULL);
7697
7698   return offset;
7699 }
7700
7701
7702 static const per_sequence_t H223AL3MParameters_sequence[] = {
7703   { &hf_h245_headerFormat   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_headerFormat },
7704   { &hf_h245_crlength2      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL3CrcLength },
7705   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7706   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7707   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7708   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7709   { NULL, 0, 0, NULL }
7710 };
7711
7712 static int
7713 dissect_h245_H223AL3MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7714   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7715                                    ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
7716
7717   return offset;
7718 }
7719
7720
7721
7722 static int
7723 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_) {
7724 #line 349 "./asn1/h245/h245.cnf"
7725   if(h223_lc_params_temp)
7726         h223_lc_params_temp->al_type = al3M;
7727
7728   offset = dissect_h245_H223AL3MParameters(tvb, offset, actx, tree, hf_index);
7729
7730   return offset;
7731 }
7732
7733
7734 static const value_string h245_T_adaptationLayerType_vals[] = {
7735   {   0, "nonStandard" },
7736   {   1, "al1Framed" },
7737   {   2, "al1NotFramed" },
7738   {   3, "al2WithoutSequenceNumbers" },
7739   {   4, "al2WithSequenceNumbers" },
7740   {   5, "al3" },
7741   {   6, "al1M" },
7742   {   7, "al2M" },
7743   {   8, "al3M" },
7744   { 0, NULL }
7745 };
7746
7747 static const per_choice_t T_adaptationLayerType_choice[] = {
7748   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7749   {   1, &hf_h245_h223_al_type_al1Framed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1Framed },
7750   {   2, &hf_h245_h223_al_type_al1NotFramed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1NotFramed },
7751   {   3, &hf_h245_h223_al_type_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers },
7752   {   4, &hf_h245_h223_al_type_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithSequenceNumbers },
7753   {   5, &hf_h245_h223_al_type_al3, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al3 },
7754   {   6, &hf_h245_h223_al_type_al1M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al1M },
7755   {   7, &hf_h245_h223_al_type_al2M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al2M },
7756   {   8, &hf_h245_h223_al_type_al3M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al3M },
7757   { 0, NULL, 0, NULL }
7758 };
7759
7760 static int
7761 dissect_h245_T_adaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7762   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7763                                  ett_h245_T_adaptationLayerType, T_adaptationLayerType_choice,
7764                                  NULL);
7765
7766   return offset;
7767 }
7768
7769
7770
7771 static int
7772 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_) {
7773 #line 356 "./asn1/h245/h245.cnf"
7774   gboolean value;
7775   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &value);
7776
7777   if(h223_lc_params_temp)
7778         h223_lc_params_temp->segmentable = value;
7779
7780
7781   return offset;
7782 }
7783
7784
7785 static const per_sequence_t H223LogicalChannelParameters_sequence[] = {
7786   { &hf_h245_adaptationLayerType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_adaptationLayerType },
7787   { &hf_h245_h223_lc_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223_lc_segmentableFlag },
7788   { NULL, 0, 0, NULL }
7789 };
7790
7791 int
7792 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7793   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7794                                    ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
7795
7796   return offset;
7797 }
7798
7799
7800
7801 static int
7802 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_) {
7803 #line 185 "./asn1/h245/h245.cnf"
7804   h223_fw_lc_params = wmem_new(wmem_file_scope(), h223_lc_params);
7805   h223_fw_lc_params->al_type = al_nonStandard;
7806   h223_fw_lc_params->al_params = NULL;
7807   h223_fw_lc_params->segmentable = 0;
7808   h223_fw_lc_params->subdissector = NULL;
7809   h223_lc_params_temp = h223_fw_lc_params;
7810
7811   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
7812
7813   return offset;
7814 }
7815
7816
7817 static const value_string h245_CRCLength_vals[] = {
7818   {   0, "crc8bit" },
7819   {   1, "crc16bit" },
7820   {   2, "crc32bit" },
7821   { 0, NULL }
7822 };
7823
7824 static const per_choice_t CRCLength_choice[] = {
7825   {   0, &hf_h245_crc8bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7826   {   1, &hf_h245_crc16bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7827   {   2, &hf_h245_crc32bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7828   { 0, NULL, 0, NULL }
7829 };
7830
7831 static int
7832 dissect_h245_CRCLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7833   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7834                                  ett_h245_CRCLength, CRCLength_choice,
7835                                  NULL);
7836
7837   return offset;
7838 }
7839
7840
7841 static const per_sequence_t V76HDLCParameters_sequence[] = {
7842   { &hf_h245_crcLength      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CRCLength },
7843   { &hf_h245_n401           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
7844   { &hf_h245_loopbackTestProcedure, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7845   { NULL, 0, 0, NULL }
7846 };
7847
7848 static int
7849 dissect_h245_V76HDLCParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7850   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7851                                    ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
7852
7853   return offset;
7854 }
7855
7856
7857 static const value_string h245_T_suspendResume_vals[] = {
7858   {   0, "noSuspendResume" },
7859   {   1, "suspendResumewAddress" },
7860   {   2, "suspendResumewoAddress" },
7861   { 0, NULL }
7862 };
7863
7864 static const per_choice_t T_suspendResume_choice[] = {
7865   {   0, &hf_h245_noSuspendResume, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7866   {   1, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7867   {   2, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7868   { 0, NULL, 0, NULL }
7869 };
7870
7871 static int
7872 dissect_h245_T_suspendResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7873   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7874                                  ett_h245_T_suspendResume, T_suspendResume_choice,
7875                                  NULL);
7876
7877   return offset;
7878 }
7879
7880
7881 static const value_string h245_T_recovery_vals[] = {
7882   {   0, "rej" },
7883   {   1, "sREJ" },
7884   {   2, "mSREJ" },
7885   { 0, NULL }
7886 };
7887
7888 static const per_choice_t T_recovery_choice[] = {
7889   {   0, &hf_h245_rej            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7890   {   1, &hf_h245_sREJ           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7891   {   2, &hf_h245_mSREJ          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7892   { 0, NULL, 0, NULL }
7893 };
7894
7895 static int
7896 dissect_h245_T_recovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7897   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7898                                  ett_h245_T_recovery, T_recovery_choice,
7899                                  NULL);
7900
7901   return offset;
7902 }
7903
7904
7905 static const per_sequence_t T_eRM_sequence[] = {
7906   { &hf_h245_windowSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
7907   { &hf_h245_recovery       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_recovery },
7908   { NULL, 0, 0, NULL }
7909 };
7910
7911 static int
7912 dissect_h245_T_eRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7913   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7914                                    ett_h245_T_eRM, T_eRM_sequence);
7915
7916   return offset;
7917 }
7918
7919
7920 static const value_string h245_V76LCP_mode_vals[] = {
7921   {   0, "eRM" },
7922   {   1, "uNERM" },
7923   { 0, NULL }
7924 };
7925
7926 static const per_choice_t V76LCP_mode_choice[] = {
7927   {   0, &hf_h245_eRM            , ASN1_EXTENSION_ROOT    , dissect_h245_T_eRM },
7928   {   1, &hf_h245_uNERM          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7929   { 0, NULL, 0, NULL }
7930 };
7931
7932 static int
7933 dissect_h245_V76LCP_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7934   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7935                                  ett_h245_V76LCP_mode, V76LCP_mode_choice,
7936                                  NULL);
7937
7938   return offset;
7939 }
7940
7941
7942 static const per_sequence_t V75Parameters_sequence[] = {
7943   { &hf_h245_audioHeaderPresent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7944   { NULL, 0, 0, NULL }
7945 };
7946
7947 static int
7948 dissect_h245_V75Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7949   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7950                                    ett_h245_V75Parameters, V75Parameters_sequence);
7951
7952   return offset;
7953 }
7954
7955
7956 static const per_sequence_t V76LogicalChannelParameters_sequence[] = {
7957   { &hf_h245_hdlcParameters , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76HDLCParameters },
7958   { &hf_h245_suspendResume  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_suspendResume },
7959   { &hf_h245_uIH            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7960   { &hf_h245_v76_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76LCP_mode },
7961   { &hf_h245_v75Parameters  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Parameters },
7962   { NULL, 0, 0, NULL }
7963 };
7964
7965 static int
7966 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7967   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7968                                    ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
7969
7970   return offset;
7971 }
7972
7973
7974
7975 static int
7976 dissect_h245_Ipv4_network(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7977 #line 845 "./asn1/h245/h245.cnf"
7978   tvbuff_t *value_tvb;
7979
7980   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7981                                        4, 4, FALSE, &value_tvb);
7982
7983
7984   if (upcoming_channel && upcoming_channel->upcoming_addr) {
7985     tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 4);
7986     set_address(&upcoming_channel->upcoming_addr->addr, AT_IPv4, 4, upcoming_channel->upcoming_addr->addr_buf);
7987   }
7988
7989
7990   return offset;
7991 }
7992
7993
7994
7995 static int
7996 dissect_h245_TsapIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7997 #line 856 "./asn1/h245/h245.cnf"
7998   guint32 tsapIdentifier;
7999
8000   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8001                                                             0U, 65535U, &tsapIdentifier, FALSE);
8002
8003
8004   if (upcoming_channel && upcoming_channel->upcoming_addr) {
8005     upcoming_channel->upcoming_addr->port = tsapIdentifier;
8006   }
8007
8008
8009   return offset;
8010 }
8011
8012
8013 static const per_sequence_t T_iPAddress_sequence[] = {
8014   { &hf_h245_ip4_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ipv4_network },
8015   { &hf_h245_tsapIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TsapIdentifier },
8016   { NULL, 0, 0, NULL }
8017 };
8018
8019 static int
8020 dissect_h245_T_iPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8021   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8022                                    ett_h245_T_iPAddress, T_iPAddress_sequence);
8023
8024   return offset;
8025 }
8026
8027
8028
8029 static int
8030 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_) {
8031   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8032                                        6, 6, FALSE, NULL);
8033
8034   return offset;
8035 }
8036
8037
8038
8039 static int
8040 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_) {
8041   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8042                                        4, 4, FALSE, NULL);
8043
8044   return offset;
8045 }
8046
8047
8048
8049 static int
8050 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_) {
8051   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8052                                        2, 2, FALSE, NULL);
8053
8054   return offset;
8055 }
8056
8057
8058 static const per_sequence_t T_iPXAddress_sequence[] = {
8059   { &hf_h245_node           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_6 },
8060   { &hf_h245_netnum         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8061   { &hf_h245_ipx_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_2 },
8062   { NULL, 0, 0, NULL }
8063 };
8064
8065 static int
8066 dissect_h245_T_iPXAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8067   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8068                                    ett_h245_T_iPXAddress, T_iPXAddress_sequence);
8069
8070   return offset;
8071 }
8072
8073
8074
8075 static int
8076 dissect_h245_T_ip6_network(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8077 #line 866 "./asn1/h245/h245.cnf"
8078   tvbuff_t *value_tvb;
8079
8080   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8081                                        16, 16, FALSE, &value_tvb);
8082
8083
8084   if (upcoming_channel && upcoming_channel->upcoming_addr) {
8085     tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 16);
8086     set_address(&upcoming_channel->upcoming_addr->addr, AT_IPv6, 16, upcoming_channel->upcoming_addr->addr_buf);
8087   }
8088
8089
8090   return offset;
8091 }
8092
8093
8094
8095 static int
8096 dissect_h245_T_ipv6_tsapIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8097 #line 877 "./asn1/h245/h245.cnf"
8098   guint32 tsapIdentifier;
8099
8100   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8101                                                             0U, 65535U, &tsapIdentifier, FALSE);
8102
8103
8104   if (upcoming_channel && upcoming_channel->upcoming_addr) {
8105     upcoming_channel->upcoming_addr->port = tsapIdentifier;
8106   }
8107
8108
8109   return offset;
8110 }
8111
8112
8113 static const per_sequence_t T_iP6Address_sequence[] = {
8114   { &hf_h245_ip6_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_ip6_network },
8115   { &hf_h245_ipv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_ipv6_tsapIdentifier },
8116   { NULL, 0, 0, NULL }
8117 };
8118
8119 static int
8120 dissect_h245_T_iP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8121   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8122                                    ett_h245_T_iP6Address, T_iP6Address_sequence);
8123
8124   return offset;
8125 }
8126
8127
8128 static const value_string h245_T_routing_vals[] = {
8129   {   0, "strict" },
8130   {   1, "loose" },
8131   { 0, NULL }
8132 };
8133
8134 static const per_choice_t T_routing_choice[] = {
8135   {   0, &hf_h245_strict         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8136   {   1, &hf_h245_loose          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8137   { 0, NULL, 0, NULL }
8138 };
8139
8140 static int
8141 dissect_h245_T_routing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8142   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8143                                  ett_h245_T_routing, T_routing_choice,
8144                                  NULL);
8145
8146   return offset;
8147 }
8148
8149
8150 static const per_sequence_t T_route_sequence_of[1] = {
8151   { &hf_h245_route_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8152 };
8153
8154 static int
8155 dissect_h245_T_route(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8156   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
8157                                       ett_h245_T_route, T_route_sequence_of);
8158
8159   return offset;
8160 }
8161
8162
8163 static const per_sequence_t T_iPSourceRouteAddress_sequence[] = {
8164   { &hf_h245_routing        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_routing },
8165   { &hf_h245_network        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8166   { &hf_h245_iPSrcRoute_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8167   { &hf_h245_route          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_route },
8168   { NULL, 0, 0, NULL }
8169 };
8170
8171 static int
8172 dissect_h245_T_iPSourceRouteAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8173   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8174                                    ett_h245_T_iPSourceRouteAddress, T_iPSourceRouteAddress_sequence);
8175
8176   return offset;
8177 }
8178
8179
8180 const value_string h245_UnicastAddress_vals[] = {
8181   {   0, "iPAddress" },
8182   {   1, "iPXAddress" },
8183   {   2, "iP6Address" },
8184   {   3, "netBios" },
8185   {   4, "iPSourceRouteAddress" },
8186   {   5, "nsap" },
8187   {   6, "nonStandardAddress" },
8188   { 0, NULL }
8189 };
8190
8191 static const per_choice_t UnicastAddress_choice[] = {
8192   {   0, &hf_h245_iPAddress      , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPAddress },
8193   {   1, &hf_h245_iPXAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPXAddress },
8194   {   2, &hf_h245_iP6Address     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iP6Address },
8195   {   3, &hf_h245_netBios        , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
8196   {   4, &hf_h245_iPSourceRouteAddress, ASN1_EXTENSION_ROOT    , dissect_h245_T_iPSourceRouteAddress },
8197   {   5, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8198   {   6, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8199   { 0, NULL, 0, NULL }
8200 };
8201
8202 int
8203 dissect_h245_UnicastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8204   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8205                                  ett_h245_UnicastAddress, UnicastAddress_choice,
8206                                  NULL);
8207
8208   return offset;
8209 }
8210
8211
8212 static const per_sequence_t MIPAddress_sequence[] = {
8213   { &hf_h245_mip4_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8214   { &hf_h245_multicast_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8215   { NULL, 0, 0, NULL }
8216 };
8217
8218 static int
8219 dissect_h245_MIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8220   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8221                                    ett_h245_MIPAddress, MIPAddress_sequence);
8222
8223   return offset;
8224 }
8225
8226
8227 static const per_sequence_t MIP6Address_sequence[] = {
8228   { &hf_h245_mip6_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8229   { &hf_h245_multicast_IPv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8230   { NULL, 0, 0, NULL }
8231 };
8232
8233 static int
8234 dissect_h245_MIP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8235   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8236                                    ett_h245_MIP6Address, MIP6Address_sequence);
8237
8238   return offset;
8239 }
8240
8241
8242 const value_string h245_MulticastAddress_vals[] = {
8243   {   0, "iPAddress" },
8244   {   1, "iP6Address" },
8245   {   2, "nsap" },
8246   {   3, "nonStandardAddress" },
8247   { 0, NULL }
8248 };
8249
8250 static const per_choice_t MulticastAddress_choice[] = {
8251   {   0, &hf_h245_mIPAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_MIPAddress },
8252   {   1, &hf_h245_mIP6Address    , ASN1_EXTENSION_ROOT    , dissect_h245_MIP6Address },
8253   {   2, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8254   {   3, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8255   { 0, NULL, 0, NULL }
8256 };
8257
8258 int
8259 dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8260   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8261                                  ett_h245_MulticastAddress, MulticastAddress_choice,
8262                                  NULL);
8263
8264   return offset;
8265 }
8266
8267
8268 const value_string h245_TransportAddress_vals[] = {
8269   {   0, "unicastAddress" },
8270   {   1, "multicastAddress" },
8271   { 0, NULL }
8272 };
8273
8274 static const per_choice_t TransportAddress_choice[] = {
8275   {   0, &hf_h245_unicastAddress , ASN1_EXTENSION_ROOT    , dissect_h245_UnicastAddress },
8276   {   1, &hf_h245_multicastAddress, ASN1_EXTENSION_ROOT    , dissect_h245_MulticastAddress },
8277   { 0, NULL, 0, NULL }
8278 };
8279
8280 int
8281 dissect_h245_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8282   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8283                                  ett_h245_TransportAddress, TransportAddress_choice,
8284                                  NULL);
8285
8286   return offset;
8287 }
8288
8289
8290
8291 static int
8292 dissect_h245_T_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8293 #line 896 "./asn1/h245/h245.cnf"
8294   if (upcoming_channel)
8295     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
8296
8297   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8298
8299 #line 900 "./asn1/h245/h245.cnf"
8300   if (upcoming_channel)
8301     upcoming_channel->upcoming_addr = NULL;
8302
8303   return offset;
8304 }
8305
8306
8307
8308 static int
8309 dissect_h245_T_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8310 #line 914 "./asn1/h245/h245.cnf"
8311   if (upcoming_channel)
8312     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
8313
8314   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8315
8316 #line 918 "./asn1/h245/h245.cnf"
8317   if (upcoming_channel)
8318     upcoming_channel->upcoming_addr = NULL;
8319
8320   return offset;
8321 }
8322
8323
8324
8325 static int
8326 dissect_h245_McuNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8327   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8328                                                             0U, 192U, NULL, FALSE);
8329
8330   return offset;
8331 }
8332
8333
8334
8335 static int
8336 dissect_h245_TerminalNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8337   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8338                                                             0U, 192U, NULL, FALSE);
8339
8340   return offset;
8341 }
8342
8343
8344 static const per_sequence_t TerminalLabel_sequence[] = {
8345   { &hf_h245_mcuNumber      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
8346   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
8347   { NULL, 0, 0, NULL }
8348 };
8349
8350 static int
8351 dissect_h245_TerminalLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8352   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8353                                    ett_h245_TerminalLabel, TerminalLabel_sequence);
8354
8355   return offset;
8356 }
8357
8358
8359 static const value_string h245_T_mediaPacketization_vals[] = {
8360   {   0, "h261aVideoPacketization" },
8361   {   1, "rtpPayloadType" },
8362   { 0, NULL }
8363 };
8364
8365 static const per_choice_t T_mediaPacketization_choice[] = {
8366   {   0, &hf_h245_h261aVideoPacketizationFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8367   {   1, &hf_h245_rtpPayloadType , ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPPayloadType },
8368   { 0, NULL, 0, NULL }
8369 };
8370
8371 static int
8372 dissect_h245_T_mediaPacketization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8373   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8374                                  ett_h245_T_mediaPacketization, T_mediaPacketization_choice,
8375                                  NULL);
8376
8377   return offset;
8378 }
8379
8380
8381 static const per_sequence_t H2250LogicalChannelParameters_sequence[] = {
8382   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
8383   { &hf_h245_sessionID_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8384   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
8385   { &hf_h245_mediaChannel   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaChannel },
8386   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8387   { &hf_h245_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaControlChannel },
8388   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8389   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8390   { &hf_h245_destination    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8391   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
8392   { &hf_h245_mediaPacketization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaPacketization },
8393   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
8394   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
8395   { &hf_h245_source         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8396   { NULL, 0, 0, NULL }
8397 };
8398
8399 static int
8400 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8401   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8402                                    ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
8403
8404   return offset;
8405 }
8406
8407
8408 static const value_string h245_OLC_forw_multiplexParameters_vals[] = {
8409   {   0, "h222LogicalChannelParameters" },
8410   {   1, "h223LogicalChannelParameters" },
8411   {   2, "v76LogicalChannelParameters" },
8412   {   3, "h2250LogicalChannelParameters" },
8413   {   4, "none" },
8414   { 0, NULL }
8415 };
8416
8417 static const per_choice_t OLC_forw_multiplexParameters_choice[] = {
8418   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
8419   {   1, &hf_h245_olc_fw_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_fw_h223_params },
8420   {   2, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8421   {   3, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8422   {   4, &hf_h245_none           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
8423   { 0, NULL, 0, NULL }
8424 };
8425
8426 static int
8427 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_) {
8428   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8429                                  ett_h245_OLC_forw_multiplexParameters, OLC_forw_multiplexParameters_choice,
8430                                  NULL);
8431
8432   return offset;
8433 }
8434
8435
8436 static const per_sequence_t T_forwardLogicalChannelParameters_sequence[] = {
8437   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
8438   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8439   { &hf_h245_olc_forw_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_forw_multiplexParameters },
8440   { &hf_h245_forwardLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8441   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8442   { NULL, 0, 0, NULL }
8443 };
8444
8445 static int
8446 dissect_h245_T_forwardLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8447 #line 168 "./asn1/h245/h245.cnf"
8448
8449   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
8450
8451   h245_lc_dissector = NULL;
8452   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8453                                    ett_h245_T_forwardLogicalChannelParameters, T_forwardLogicalChannelParameters_sequence);
8454
8455   if(h223_lc_params_temp && h245_lc_dissector)
8456         h223_lc_params_temp->subdissector = h245_lc_dissector;
8457   else if(h223_lc_params_temp)
8458         h223_lc_params_temp->subdissector = data_handle;
8459
8460   if (upcoming_channel && codec_type) {
8461     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8462   }
8463   upcoming_channel = NULL;
8464
8465
8466   return offset;
8467 }
8468
8469
8470
8471 static int
8472 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_) {
8473 #line 206 "./asn1/h245/h245.cnf"
8474   h223_rev_lc_params = wmem_new(wmem_file_scope(), h223_lc_params);
8475   h223_rev_lc_params->al_type = al_nonStandard;
8476   h223_rev_lc_params->al_params = NULL;
8477   h223_rev_lc_params->segmentable = 0;
8478   h223_rev_lc_params->subdissector = NULL;
8479   h223_lc_params_temp = h223_rev_lc_params;
8480
8481   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
8482
8483   return offset;
8484 }
8485
8486
8487 static const value_string h245_OLC_rev_multiplexParameters_vals[] = {
8488   {   0, "h223LogicalChannelParameters" },
8489   {   1, "v76LogicalChannelParameters" },
8490   {   2, "h2250LogicalChannelParameters" },
8491   { 0, NULL }
8492 };
8493
8494 static const per_choice_t OLC_rev_multiplexParameters_choice[] = {
8495   {   0, &hf_h245_olc_rev_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_rev_h223_params },
8496   {   1, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8497   {   2, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8498   { 0, NULL, 0, NULL }
8499 };
8500
8501 static int
8502 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_) {
8503   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8504                                  ett_h245_OLC_rev_multiplexParameters, OLC_rev_multiplexParameters_choice,
8505                                  NULL);
8506
8507   return offset;
8508 }
8509
8510
8511 static const per_sequence_t OLC_reverseLogicalChannelParameters_sequence[] = {
8512   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8513   { &hf_h245_olc_rev_multiplexParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_rev_multiplexParameters },
8514   { &hf_h245_reverseLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8515   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8516   { NULL, 0, 0, NULL }
8517 };
8518
8519 static int
8520 dissect_h245_OLC_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8521 #line 194 "./asn1/h245/h245.cnf"
8522
8523   upcoming_channel = (upcoming_olc) ? &upcoming_olc->rev_lc : NULL;
8524
8525   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8526                                    ett_h245_OLC_reverseLogicalChannelParameters, OLC_reverseLogicalChannelParameters_sequence);
8527
8528
8529   if (upcoming_channel && codec_type) {
8530     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8531   }
8532   upcoming_channel = NULL;
8533
8534
8535   return offset;
8536 }
8537
8538
8539 static const value_string h245_T_distribution_vals[] = {
8540   {   0, "unicast" },
8541   {   1, "multicast" },
8542   { 0, NULL }
8543 };
8544
8545 static const per_choice_t T_distribution_choice[] = {
8546   {   0, &hf_h245_unicast        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8547   {   1, &hf_h245_multicast      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8548   { 0, NULL, 0, NULL }
8549 };
8550
8551 static int
8552 dissect_h245_T_distribution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8553   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8554                                  ett_h245_T_distribution, T_distribution_choice,
8555                                  NULL);
8556
8557   return offset;
8558 }
8559
8560
8561
8562 static int
8563 dissect_h245_T_e164Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8564   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
8565                                                       1, 128, FALSE, "0123456789#*,", 13,
8566                                                       NULL);
8567
8568   return offset;
8569 }
8570
8571
8572 static const value_string h245_T_networkAddress_vals[] = {
8573   {   0, "q2931Address" },
8574   {   1, "e164Address" },
8575   {   2, "localAreaAddress" },
8576   { 0, NULL }
8577 };
8578
8579 static const per_choice_t T_networkAddress_choice[] = {
8580   {   0, &hf_h245_q2931Address   , ASN1_EXTENSION_ROOT    , dissect_h245_Q2931Address },
8581   {   1, &hf_h245_e164Address    , ASN1_EXTENSION_ROOT    , dissect_h245_T_e164Address },
8582   {   2, &hf_h245_localAreaAddress, ASN1_EXTENSION_ROOT    , dissect_h245_TransportAddress },
8583   { 0, NULL, 0, NULL }
8584 };
8585
8586 static int
8587 dissect_h245_T_networkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8588   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8589                                  ett_h245_T_networkAddress, T_networkAddress_choice,
8590                                  NULL);
8591
8592   return offset;
8593 }
8594
8595
8596
8597 static int
8598 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_) {
8599   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8600                                        1, 255, FALSE, NULL);
8601
8602   return offset;
8603 }
8604
8605
8606 static const value_string h245_T_t120SetupProcedure_vals[] = {
8607   {   0, "originateCall" },
8608   {   1, "waitForCall" },
8609   {   2, "issueQuery" },
8610   { 0, NULL }
8611 };
8612
8613 static const per_choice_t T_t120SetupProcedure_choice[] = {
8614   {   0, &hf_h245_originateCall  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8615   {   1, &hf_h245_waitForCall    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8616   {   2, &hf_h245_issueQuery     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8617   { 0, NULL, 0, NULL }
8618 };
8619
8620 static int
8621 dissect_h245_T_t120SetupProcedure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8622   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8623                                  ett_h245_T_t120SetupProcedure, T_t120SetupProcedure_choice,
8624                                  NULL);
8625
8626   return offset;
8627 }
8628
8629
8630 static const per_sequence_t NetworkAccessParameters_sequence[] = {
8631   { &hf_h245_distribution   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_distribution },
8632   { &hf_h245_networkAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_networkAddress },
8633   { &hf_h245_associateConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
8634   { &hf_h245_externalReference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_255 },
8635   { &hf_h245_t120SetupProcedure, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_t120SetupProcedure },
8636   { NULL, 0, 0, NULL }
8637 };
8638
8639 static int
8640 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8641   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8642                                    ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
8643
8644   return offset;
8645 }
8646
8647
8648
8649 static int
8650 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_) {
8651   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8652                                        1, 65535, FALSE, NULL);
8653
8654   return offset;
8655 }
8656
8657
8658
8659 static int
8660 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_) {
8661   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8662                                      1, 65535, FALSE, NULL, NULL);
8663
8664   return offset;
8665 }
8666
8667
8668 static const per_sequence_t EscrowData_sequence[] = {
8669   { &hf_h245_escrowID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
8670   { &hf_h245_escrowValue    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BIT_STRING_SIZE_1_65535 },
8671   { NULL, 0, 0, NULL }
8672 };
8673
8674 static int
8675 dissect_h245_EscrowData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8676   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8677                                    ett_h245_EscrowData, EscrowData_sequence);
8678
8679   return offset;
8680 }
8681
8682
8683 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of[1] = {
8684   { &hf_h245_escrowentry_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EscrowData },
8685 };
8686
8687 static int
8688 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_) {
8689   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8690                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData, SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of,
8691                                                   1, 256, FALSE);
8692
8693   return offset;
8694 }
8695
8696
8697 static const per_sequence_t EncryptionSync_sequence[] = {
8698   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
8699   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8700   { &hf_h245_h235Key        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
8701   { &hf_h245_escrowentry    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData },
8702   { &hf_h245_genericParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericParameter },
8703   { NULL, 0, 0, NULL }
8704 };
8705
8706 static int
8707 dissect_h245_EncryptionSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8708 #line 670 "./asn1/h245/h245.cnf"
8709   void *priv_data = actx->private_data;
8710   actx->private_data = gef_ctx_alloc(NULL, "EncryptionSync");
8711
8712   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8713                                    ett_h245_EncryptionSync, EncryptionSync_sequence);
8714
8715 #line 673 "./asn1/h245/h245.cnf"
8716   actx->private_data = priv_data;
8717
8718   return offset;
8719 }
8720
8721
8722 static const per_sequence_t OpenLogicalChannel_sequence[] = {
8723   { &hf_h245_olc_fw_lcn     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_fw_lcn },
8724   { &hf_h245_forwardLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_forwardLogicalChannelParameters },
8725   { &hf_h245_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_reverseLogicalChannelParameters },
8726   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
8727   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
8728   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
8729   { NULL, 0, 0, NULL }
8730 };
8731
8732 int
8733 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8734 #line 129 "./asn1/h245/h245.cnf"
8735   gint32 temp;
8736
8737   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? wmem_new0(wmem_file_scope(), olc_info_t) : NULL;
8738
8739   h223_fw_lc_num = 0;
8740   h223_lc_params_temp = NULL;
8741
8742   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8743                                    ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
8744
8745
8746   if(h223_fw_lc_num != 0 && h223_fw_lc_params) {
8747         h223_pending_olc *pending = wmem_new(wmem_file_scope(), h223_pending_olc);
8748         pending->fw_channel_params = h223_fw_lc_params;
8749         pending->rev_channel_params = h223_rev_lc_params;
8750         temp = h223_fw_lc_num;
8751         if (actx->pinfo->p2p_dir > -1)
8752                 wmem_map_insert(h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp), pending);
8753   }
8754
8755   if (upcoming_olc) {
8756     if (fast_start) {
8757       h245_setup_channels(actx->pinfo, &upcoming_olc->rev_lc);
8758     } else {
8759       wmem_map_insert(h245_pending_olc_reqs,
8760         wmem_strdup(wmem_file_scope(), gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->dst, &actx->pinfo->src)),
8761         upcoming_olc);
8762     }
8763   }
8764   upcoming_olc = NULL;
8765
8766   if (h245_pi != NULL)
8767     h245_pi->msg_type = H245_OpenLogChn;
8768
8769
8770   return offset;
8771 }
8772
8773
8774 static const value_string h245_T_cLC_source_vals[] = {
8775   {   0, "user" },
8776   {   1, "lcse" },
8777   { 0, NULL }
8778 };
8779
8780 static const per_choice_t T_cLC_source_choice[] = {
8781   {   0, &hf_h245_user           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8782   {   1, &hf_h245_lcse           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8783   { 0, NULL, 0, NULL }
8784 };
8785
8786 static int
8787 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_) {
8788   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8789                                  ett_h245_T_cLC_source, T_cLC_source_choice,
8790                                  NULL);
8791
8792   return offset;
8793 }
8794
8795
8796 static const value_string h245_Clc_reason_vals[] = {
8797   {   0, "unknown" },
8798   {   1, "reopen" },
8799   {   2, "reservationFailure" },
8800   {   3, "networkErrorCode" },
8801   { 0, NULL }
8802 };
8803
8804 static const per_choice_t Clc_reason_choice[] = {
8805   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8806   {   1, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8807   {   2, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8808   {   3, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8809   { 0, NULL, 0, NULL }
8810 };
8811
8812 static int
8813 dissect_h245_Clc_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8814   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8815                                  ett_h245_Clc_reason, Clc_reason_choice,
8816                                  NULL);
8817
8818   return offset;
8819 }
8820
8821
8822 static const per_sequence_t CloseLogicalChannel_sequence[] = {
8823   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8824   { &hf_h245_cLC_source     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_cLC_source },
8825   { &hf_h245_clc_reason     , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Clc_reason },
8826   { NULL, 0, 0, NULL }
8827 };
8828
8829 static int
8830 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8831   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8832                                    ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
8833
8834 #line 511 "./asn1/h245/h245.cnf"
8835
8836 if (h245_pi != NULL)
8837   h245_pi->msg_type = H245_CloseLogChn;
8838
8839   return offset;
8840 }
8841
8842
8843 static const value_string h245_T_reason_vals[] = {
8844   {   0, "unknown" },
8845   {   1, "normal" },
8846   {   2, "reopen" },
8847   {   3, "reservationFailure" },
8848   {   4, "networkErrorCode" },
8849   { 0, NULL }
8850 };
8851
8852 static const per_choice_t T_reason_choice[] = {
8853   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8854   {   1, &hf_h245_normal         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8855   {   2, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8856   {   3, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8857   {   4, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8858   { 0, NULL, 0, NULL }
8859 };
8860
8861 static int
8862 dissect_h245_T_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8863   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8864                                  ett_h245_T_reason, T_reason_choice,
8865                                  NULL);
8866
8867   return offset;
8868 }
8869
8870
8871 static const per_sequence_t RequestChannelClose_sequence[] = {
8872   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8873   { &hf_h245_qosCapability  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSCapability },
8874   { &hf_h245_reason         , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_reason },
8875   { NULL, 0, 0, NULL }
8876 };
8877
8878 static int
8879 dissect_h245_RequestChannelClose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8880   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8881                                    ett_h245_RequestChannelClose, RequestChannelClose_sequence);
8882
8883   return offset;
8884 }
8885
8886
8887
8888 static int
8889 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8890 #line 65 "./asn1/h245/h245.cnf"
8891   guint32 value;
8892   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8893                                                             1U, 15U, &value, FALSE);
8894
8895   h223_mc = value & 0xf;
8896
8897
8898   return offset;
8899 }
8900
8901
8902
8903 static int
8904 dissect_h245_T_logicalChannelNum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8905 #line 92 "./asn1/h245/h245.cnf"
8906   /*MultiplexElement/type/logicalChannelNumber*/
8907   guint32 value;
8908   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8909                                                             0U, 65535U, &value, FALSE);
8910
8911   h223_me->sublist = NULL;
8912   h223_me->vc = value & 0xffff;
8913
8914
8915   return offset;
8916 }
8917
8918
8919 static const per_sequence_t T_subElementList_sequence_of[1] = {
8920   { &hf_h245_subElementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8921 };
8922
8923 static int
8924 dissect_h245_T_subElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8925 #line 100 "./asn1/h245/h245.cnf"
8926   h223_mux_element dummy_me, *parent_me = h223_me;
8927   memset (&dummy_me, 0, sizeof (h223_mux_element));
8928   h223_me = &dummy_me;
8929   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8930                                                   ett_h245_T_subElementList, T_subElementList_sequence_of,
8931                                                   2, 255, FALSE);
8932
8933   parent_me->sublist = dummy_me.next;
8934   h223_me = parent_me;
8935   h223_me->vc = 0;
8936
8937
8938   return offset;
8939 }
8940
8941
8942 static const value_string h245_Me_type_vals[] = {
8943   {   0, "logicalChannelNumber" },
8944   {   1, "subElementList" },
8945   { 0, NULL }
8946 };
8947
8948 static const per_choice_t Me_type_choice[] = {
8949   {   0, &hf_h245_logicalChannelNum, ASN1_NO_EXTENSIONS     , dissect_h245_T_logicalChannelNum },
8950   {   1, &hf_h245_subElementList , ASN1_NO_EXTENSIONS     , dissect_h245_T_subElementList },
8951   { 0, NULL, 0, NULL }
8952 };
8953
8954 static int
8955 dissect_h245_Me_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8956   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8957                                  ett_h245_Me_type, Me_type_choice,
8958                                  NULL);
8959
8960   return offset;
8961 }
8962
8963
8964
8965 static int
8966 dissect_h245_ME_finiteRepeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8967 #line 116 "./asn1/h245/h245.cnf"
8968   guint32 value;
8969   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8970                                                             1U, 65535U, &value, FALSE);
8971
8972   h223_me->repeat_count = value & 0xffff;
8973
8974
8975   return offset;
8976 }
8977
8978
8979
8980 static int
8981 dissect_h245_T_untilClosingFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8982   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
8983
8984 #line 110 "./asn1/h245/h245.cnf"
8985   h223_me->repeat_count = 0;
8986
8987   return offset;
8988 }
8989
8990
8991 static const value_string h245_ME_repeatCount_vals[] = {
8992   {   0, "finite" },
8993   {   1, "untilClosingFlag" },
8994   { 0, NULL }
8995 };
8996
8997 static const per_choice_t ME_repeatCount_choice[] = {
8998   {   0, &hf_h245_me_repeatCount_finite, ASN1_NO_EXTENSIONS     , dissect_h245_ME_finiteRepeatCount },
8999   {   1, &hf_h245_untilClosingFlag, ASN1_NO_EXTENSIONS     , dissect_h245_T_untilClosingFlag },
9000   { 0, NULL, 0, NULL }
9001 };
9002
9003 static int
9004 dissect_h245_ME_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9005   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9006                                  ett_h245_ME_repeatCount, ME_repeatCount_choice,
9007                                  NULL);
9008
9009   return offset;
9010 }
9011
9012
9013 static const per_sequence_t MultiplexElement_sequence[] = {
9014   { &hf_h245_me_type        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Me_type },
9015   { &hf_h245_me_repeatCount , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ME_repeatCount },
9016   { NULL, 0, 0, NULL }
9017 };
9018
9019 static int
9020 dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9021 #line 82 "./asn1/h245/h245.cnf"
9022   /*MultiplexElement*/
9023   h223_mux_element* me = wmem_new(wmem_file_scope(), h223_mux_element);
9024   h223_me->next = me;
9025   h223_me = me;
9026   h223_me->next = NULL;
9027
9028   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9029                                    ett_h245_MultiplexElement, MultiplexElement_sequence);
9030
9031   return offset;
9032 }
9033
9034
9035 static const per_sequence_t T_elementList_sequence_of[1] = {
9036   { &hf_h245_elementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
9037 };
9038
9039 static int
9040 dissect_h245_T_elementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9041 #line 71 "./asn1/h245/h245.cnf"
9042   /* create a h223_mux_element to hold onto the head of the list, since
9043    * h223_me will track the tail */
9044   h223_mux_element dummy_me;
9045   memset (&dummy_me, 0, sizeof (h223_mux_element));
9046   h223_me = &dummy_me;
9047   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9048                                                   ett_h245_T_elementList, T_elementList_sequence_of,
9049                                                   1, 256, FALSE);
9050
9051   /* set h223_me to the head of the list for MEDescriptor to pick up */
9052   h223_me = dummy_me.next;
9053
9054
9055   return offset;
9056 }
9057
9058
9059 static const per_sequence_t MultiplexEntryDescriptor_sequence[] = {
9060   { &hf_h245_multiplexTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
9061   { &hf_h245_elementList    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_T_elementList },
9062   { NULL, 0, 0, NULL }
9063 };
9064
9065 static int
9066 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9067 #line 53 "./asn1/h245/h245.cnf"
9068   /*MultiplexEntryDescriptor*/
9069   h223_me = NULL;
9070   h223_mc = 0;
9071   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9072                                    ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
9073
9074   if(h223_set_mc_handle)
9075     (*h223_set_mc_handle)(actx->pinfo, h223_mc, h223_me);
9076  /* stuff */
9077
9078
9079   return offset;
9080 }
9081
9082
9083 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of[1] = {
9084   { &hf_h245_multiplexEntryDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryDescriptor },
9085 };
9086
9087 static int
9088 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_) {
9089   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
9090                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor, SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of,
9091                                              1, 15, FALSE);
9092
9093   return offset;
9094 }
9095
9096
9097 static const per_sequence_t MultiplexEntrySend_sequence[] = {
9098   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
9099   { &hf_h245_multiplexEntryDescriptors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor },
9100   { NULL, 0, 0, NULL }
9101 };
9102
9103 static int
9104 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9105   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9106                                    ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
9107
9108   return offset;
9109 }
9110
9111
9112 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of[1] = {
9113   { &hf_h245_multiplexTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
9114 };
9115
9116 static int
9117 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_) {
9118   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
9119                                              ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber, SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of,
9120                                              1, 15, FALSE);
9121
9122   return offset;
9123 }
9124
9125
9126 static const per_sequence_t RequestMultiplexEntry_sequence[] = {
9127   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
9128   { NULL, 0, 0, NULL }
9129 };
9130
9131 static int
9132 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9133   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9134                                    ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
9135
9136   return offset;
9137 }
9138
9139
9140 static const value_string h245_H261Resolution_vals[] = {
9141   {   0, "qcif" },
9142   {   1, "cif" },
9143   { 0, NULL }
9144 };
9145
9146 static const per_choice_t H261Resolution_choice[] = {
9147   {   0, &hf_h245_qcif           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9148   {   1, &hf_h245_cif            , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9149   { 0, NULL, 0, NULL }
9150 };
9151
9152 static int
9153 dissect_h245_H261Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9154   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9155                                  ett_h245_H261Resolution, H261Resolution_choice,
9156                                  NULL);
9157
9158   return offset;
9159 }
9160
9161
9162 static const per_sequence_t H261VideoMode_sequence[] = {
9163   { &hf_h245_h261_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H261Resolution },
9164   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9165   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9166   { NULL, 0, 0, NULL }
9167 };
9168
9169 static int
9170 dissect_h245_H261VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9171   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9172                                    ett_h245_H261VideoMode, H261VideoMode_sequence);
9173
9174   return offset;
9175 }
9176
9177
9178 static const value_string h245_T_profileAndLevel_vals[] = {
9179   {   0, "profileAndLevel-SPatML" },
9180   {   1, "profileAndLevel-MPatLL" },
9181   {   2, "profileAndLevel-MPatML" },
9182   {   3, "profileAndLevel-MPatH-14" },
9183   {   4, "profileAndLevel-MPatHL" },
9184   {   5, "profileAndLevel-SNRatLL" },
9185   {   6, "profileAndLevel-SNRatML" },
9186   {   7, "profileAndLevel-SpatialatH-14" },
9187   {   8, "profileAndLevel-HPatML" },
9188   {   9, "profileAndLevel-HPatH-14" },
9189   {  10, "profileAndLevel-HPatHL" },
9190   { 0, NULL }
9191 };
9192
9193 static const per_choice_t T_profileAndLevel_choice[] = {
9194   {   0, &hf_h245_profileAndLevel_SPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9195   {   1, &hf_h245_profileAndLevel_MPatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9196   {   2, &hf_h245_profileAndLevel_MPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9197   {   3, &hf_h245_profileAndLevel_MPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9198   {   4, &hf_h245_profileAndLevel_MPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9199   {   5, &hf_h245_profileAndLevel_SNRatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9200   {   6, &hf_h245_profileAndLevel_SNRatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9201   {   7, &hf_h245_profileAndLevel_SpatialatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9202   {   8, &hf_h245_profileAndLevel_HPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9203   {   9, &hf_h245_profileAndLevel_HPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9204   {  10, &hf_h245_profileAndLevel_HPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9205   { 0, NULL, 0, NULL }
9206 };
9207
9208 static int
9209 dissect_h245_T_profileAndLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9210   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9211                                  ett_h245_T_profileAndLevel, T_profileAndLevel_choice,
9212                                  NULL);
9213
9214   return offset;
9215 }
9216
9217
9218 static const per_sequence_t H262VideoMode_sequence[] = {
9219   { &hf_h245_profileAndLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_profileAndLevel },
9220   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9221   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9222   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9223   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9224   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9225   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9226   { NULL, 0, 0, NULL }
9227 };
9228
9229 static int
9230 dissect_h245_H262VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9231   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9232                                    ett_h245_H262VideoMode, H262VideoMode_sequence);
9233
9234   return offset;
9235 }
9236
9237
9238 static const value_string h245_H263Resolution_vals[] = {
9239   {   0, "sqcif" },
9240   {   1, "qcif" },
9241   {   2, "cif" },
9242   {   3, "cif4" },
9243   {   4, "cif16" },
9244   {   5, "custom" },
9245   { 0, NULL }
9246 };
9247
9248 static const per_choice_t H263Resolution_choice[] = {
9249   {   0, &hf_h245_sqcif          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9250   {   1, &hf_h245_qcif           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9251   {   2, &hf_h245_cif            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9252   {   3, &hf_h245_cif4           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9253   {   4, &hf_h245_cif16          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9254   {   5, &hf_h245_custom_res     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
9255   { 0, NULL, 0, NULL }
9256 };
9257
9258 static int
9259 dissect_h245_H263Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9260   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9261                                  ett_h245_H263Resolution, H263Resolution_choice,
9262                                  NULL);
9263
9264   return offset;
9265 }
9266
9267
9268 static const per_sequence_t H263VideoMode_sequence[] = {
9269   { &hf_h245_h263_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263Resolution },
9270   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9271   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9272   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9273   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9274   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9275   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9276   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
9277   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
9278   { NULL, 0, 0, NULL }
9279 };
9280
9281 static int
9282 dissect_h245_H263VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9283   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9284                                    ett_h245_H263VideoMode, H263VideoMode_sequence);
9285
9286   return offset;
9287 }
9288
9289
9290 static const per_sequence_t IS11172VideoMode_sequence[] = {
9291   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9292   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9293   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9294   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9295   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9296   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9297   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9298   { NULL, 0, 0, NULL }
9299 };
9300
9301 static int
9302 dissect_h245_IS11172VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9303   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9304                                    ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9305
9306   return offset;
9307 }
9308
9309
9310 static const value_string h245_VideoMode_vals[] = {
9311   {   0, "nonStandard" },
9312   {   1, "h261VideoMode" },
9313   {   2, "h262VideoMode" },
9314   {   3, "h263VideoMode" },
9315   {   4, "is11172VideoMode" },
9316   {   5, "genericVideoMode" },
9317   { 0, NULL }
9318 };
9319
9320 static const per_choice_t VideoMode_choice[] = {
9321   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9322   {   1, &hf_h245_h261VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoMode },
9323   {   2, &hf_h245_h262VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoMode },
9324   {   3, &hf_h245_h263VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoMode },
9325   {   4, &hf_h245_is11172VideoMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoMode },
9326   {   5, &hf_h245_genericVideoMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9327   { 0, NULL, 0, NULL }
9328 };
9329
9330 static int
9331 dissect_h245_VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9332 #line 479 "./asn1/h245/h245.cnf"
9333   gint32 value;
9334
9335   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9336                                  ett_h245_VideoMode, VideoMode_choice,
9337                                  &value);
9338
9339   codec_type = val_to_str(value, h245_VideoMode_vals, "<unknown>");
9340
9341
9342   return offset;
9343 }
9344
9345
9346 static const value_string h245_Mode_g7231_vals[] = {
9347   {   0, "noSilenceSuppressionLowRate" },
9348   {   1, "noSilenceSuppressionHighRate" },
9349   {   2, "silenceSuppressionLowRate" },
9350   {   3, "silenceSuppressionHighRate" },
9351   { 0, NULL }
9352 };
9353
9354 static const per_choice_t Mode_g7231_choice[] = {
9355   {   0, &hf_h245_noSilenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9356   {   1, &hf_h245_noSilenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9357   {   2, &hf_h245_silenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9358   {   3, &hf_h245_silenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9359   { 0, NULL, 0, NULL }
9360 };
9361
9362 static int
9363 dissect_h245_Mode_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9364   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9365                                  ett_h245_Mode_g7231, Mode_g7231_choice,
9366                                  NULL);
9367
9368   return offset;
9369 }
9370
9371
9372 static const value_string h245_T_audioLayer_vals[] = {
9373   {   0, "audioLayer1" },
9374   {   1, "audioLayer2" },
9375   {   2, "audioLayer3" },
9376   { 0, NULL }
9377 };
9378
9379 static const per_choice_t T_audioLayer_choice[] = {
9380   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9381   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9382   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9383   { 0, NULL, 0, NULL }
9384 };
9385
9386 static int
9387 dissect_h245_T_audioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9388   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9389                                  ett_h245_T_audioLayer, T_audioLayer_choice,
9390                                  NULL);
9391
9392   return offset;
9393 }
9394
9395
9396 static const value_string h245_T_audioSampling_vals[] = {
9397   {   0, "audioSampling32k" },
9398   {   1, "audioSampling44k1" },
9399   {   2, "audioSampling48k" },
9400   { 0, NULL }
9401 };
9402
9403 static const per_choice_t T_audioSampling_choice[] = {
9404   {   0, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9405   {   1, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9406   {   2, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9407   { 0, NULL, 0, NULL }
9408 };
9409
9410 static int
9411 dissect_h245_T_audioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9412   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9413                                  ett_h245_T_audioSampling, T_audioSampling_choice,
9414                                  NULL);
9415
9416   return offset;
9417 }
9418
9419
9420 static const value_string h245_IS11172_multichannelType_vals[] = {
9421   {   0, "singleChannel" },
9422   {   1, "twoChannelStereo" },
9423   {   2, "twoChannelDual" },
9424   { 0, NULL }
9425 };
9426
9427 static const per_choice_t IS11172_multichannelType_choice[] = {
9428   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9429   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9430   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9431   { 0, NULL, 0, NULL }
9432 };
9433
9434 static int
9435 dissect_h245_IS11172_multichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9436   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9437                                  ett_h245_IS11172_multichannelType, IS11172_multichannelType_choice,
9438                                  NULL);
9439
9440   return offset;
9441 }
9442
9443
9444 static const per_sequence_t IS11172AudioMode_sequence[] = {
9445   { &hf_h245_audioLayer     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioLayer },
9446   { &hf_h245_audioSampling  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioSampling },
9447   { &hf_h245_is11172multichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS11172_multichannelType },
9448   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
9449   { NULL, 0, 0, NULL }
9450 };
9451
9452 static int
9453 dissect_h245_IS11172AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9454   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9455                                    ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
9456
9457   return offset;
9458 }
9459
9460
9461 static const value_string h245_IS13818AudioLayer_vals[] = {
9462   {   0, "audioLayer1" },
9463   {   1, "audioLayer2" },
9464   {   2, "audioLayer3" },
9465   { 0, NULL }
9466 };
9467
9468 static const per_choice_t IS13818AudioLayer_choice[] = {
9469   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9470   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9471   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9472   { 0, NULL, 0, NULL }
9473 };
9474
9475 static int
9476 dissect_h245_IS13818AudioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9477   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9478                                  ett_h245_IS13818AudioLayer, IS13818AudioLayer_choice,
9479                                  NULL);
9480
9481   return offset;
9482 }
9483
9484
9485 static const value_string h245_IS13818AudioSampling_vals[] = {
9486   {   0, "audioSampling16k" },
9487   {   1, "audioSampling22k05" },
9488   {   2, "audioSampling24k" },
9489   {   3, "audioSampling32k" },
9490   {   4, "audioSampling44k1" },
9491   {   5, "audioSampling48k" },
9492   { 0, NULL }
9493 };
9494
9495 static const per_choice_t IS13818AudioSampling_choice[] = {
9496   {   0, &hf_h245_audioSampling16kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9497   {   1, &hf_h245_audioSampling22k05Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9498   {   2, &hf_h245_audioSampling24kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9499   {   3, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9500   {   4, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9501   {   5, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9502   { 0, NULL, 0, NULL }
9503 };
9504
9505 static int
9506 dissect_h245_IS13818AudioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9507   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9508                                  ett_h245_IS13818AudioSampling, IS13818AudioSampling_choice,
9509                                  NULL);
9510
9511   return offset;
9512 }
9513
9514
9515 static const value_string h245_IS13818MultichannelType_vals[] = {
9516   {   0, "singleChannel" },
9517   {   1, "twoChannelStereo" },
9518   {   2, "twoChannelDual" },
9519   {   3, "threeChannels2-1" },
9520   {   4, "threeChannels3-0" },
9521   {   5, "fourChannels2-0-2-0" },
9522   {   6, "fourChannels2-2" },
9523   {   7, "fourChannels3-1" },
9524   {   8, "fiveChannels3-0-2-0" },
9525   {   9, "fiveChannels3-2" },
9526   { 0, NULL }
9527 };
9528
9529 static const per_choice_t IS13818MultichannelType_choice[] = {
9530   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9531   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9532   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9533   {   3, &hf_h245_threeChannels2_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9534   {   4, &hf_h245_threeChannels3_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9535   {   5, &hf_h245_fourChannels2_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9536   {   6, &hf_h245_fourChannels2_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9537   {   7, &hf_h245_fourChannels3_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9538   {   8, &hf_h245_fiveChannels3_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9539   {   9, &hf_h245_fiveChannels3_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9540   { 0, NULL, 0, NULL }
9541 };
9542
9543 static int
9544 dissect_h245_IS13818MultichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9545   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9546                                  ett_h245_IS13818MultichannelType, IS13818MultichannelType_choice,
9547                                  NULL);
9548
9549   return offset;
9550 }
9551
9552
9553 static const per_sequence_t IS13818AudioMode_sequence[] = {
9554   { &hf_h245_audioLayerMode , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioLayer },
9555   { &hf_h245_audioSamplingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioSampling },
9556   { &hf_h245_is13818MultichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818MultichannelType },
9557   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9558   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9559   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
9560   { NULL, 0, 0, NULL }
9561 };
9562
9563 static int
9564 dissect_h245_IS13818AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9565   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9566                                    ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
9567
9568   return offset;
9569 }
9570
9571
9572 static const per_sequence_t G7231AnnexCMode_sequence[] = {
9573   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
9574   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9575   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_G723AnnexCAudioMode },
9576   { NULL, 0, 0, NULL }
9577 };
9578
9579 static int
9580 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9581   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9582                                    ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9583
9584   return offset;
9585 }
9586
9587
9588 static const per_sequence_t VBDMode_sequence[] = {
9589   { &hf_h245_vbd_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioMode },
9590   { NULL, 0, 0, NULL }
9591 };
9592
9593 static int
9594 dissect_h245_VBDMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9595   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9596                                    ett_h245_VBDMode, VBDMode_sequence);
9597
9598   return offset;
9599 }
9600
9601
9602 static const value_string h245_AudioMode_vals[] = {
9603   {   0, "nonStandard" },
9604   {   1, "g711Alaw64k" },
9605   {   2, "g711Alaw56k" },
9606   {   3, "g711Ulaw64k" },
9607   {   4, "g711Ulaw56k" },
9608   {   5, "g722-64k" },
9609   {   6, "g722-56k" },
9610   {   7, "g722-48k" },
9611   {   8, "g728" },
9612   {   9, "g729" },
9613   {  10, "g729AnnexA" },
9614   {  11, "g7231" },
9615   {  12, "is11172AudioMode" },
9616   {  13, "is13818AudioMode" },
9617   {  14, "g729wAnnexB" },
9618   {  15, "g729AnnexAwAnnexB" },
9619   {  16, "g7231AnnexCMode" },
9620   {  17, "gsmFullRate" },
9621   {  18, "gsmHalfRate" },
9622   {  19, "gsmEnhancedFullRate" },
9623   {  20, "genericAudioMode" },
9624   {  21, "g729Extensions" },
9625   {  22, "vbd" },
9626   { 0, NULL }
9627 };
9628
9629 static const per_choice_t AudioMode_choice[] = {
9630   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9631   {   1, &hf_h245_g711Alaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9632   {   2, &hf_h245_g711Alaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9633   {   3, &hf_h245_g711Ulaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9634   {   4, &hf_h245_g711Ulaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9635   {   5, &hf_h245_g722_64k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9636   {   6, &hf_h245_g722_56k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9637   {   7, &hf_h245_g722_48k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9638   {   8, &hf_h245_g728_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9639   {   9, &hf_h245_g729_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9640   {  10, &hf_h245_g729AnnexA_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9641   {  11, &hf_h245_g7231_mode     , ASN1_EXTENSION_ROOT    , dissect_h245_Mode_g7231 },
9642   {  12, &hf_h245_is11172AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioMode },
9643   {  13, &hf_h245_is13818AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioMode },
9644   {  14, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9645   {  15, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9646   {  16, &hf_h245_g7231AnnexCMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCMode },
9647   {  17, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9648   {  18, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9649   {  19, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9650   {  20, &hf_h245_genericAudioMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9651   {  21, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
9652   {  22, &hf_h245_vbd_mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDMode },
9653   { 0, NULL, 0, NULL }
9654 };
9655
9656 static int
9657 dissect_h245_AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9658 #line 472 "./asn1/h245/h245.cnf"
9659   gint32 value;
9660
9661   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9662                                  ett_h245_AudioMode, AudioMode_choice,
9663                                  &value);
9664
9665   codec_type = val_to_str(value, h245_AudioMode_vals, "<unknown>");
9666
9667
9668   return offset;
9669 }
9670
9671
9672 static const per_sequence_t T38faxApp_sequence[] = {
9673   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
9674   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
9675   { NULL, 0, 0, NULL }
9676 };
9677
9678 static int
9679 dissect_h245_T38faxApp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9680   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9681                                    ett_h245_T38faxApp, T38faxApp_sequence);
9682
9683   return offset;
9684 }
9685
9686
9687 static const value_string h245_DataModeApplication_vals[] = {
9688   {   0, "nonStandard" },
9689   {   1, "t120" },
9690   {   2, "dsm-cc" },
9691   {   3, "userData" },
9692   {   4, "t84" },
9693   {   5, "t434" },
9694   {   6, "h224" },
9695   {   7, "nlpid" },
9696   {   8, "dsvdControl" },
9697   {   9, "h222DataPartitioning" },
9698   {  10, "t30fax" },
9699   {  11, "t140" },
9700   {  12, "t38fax" },
9701   {  13, "genericDataMode" },
9702   { 0, NULL }
9703 };
9704
9705 static const per_choice_t DataModeApplication_choice[] = {
9706   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9707   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9708   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9709   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9710   {   4, &hf_h245_t84DataProtocolCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9711   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9712   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9713   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
9714   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9715   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9716   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9717   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9718   {  12, &hf_h245_t38faxDataProtocolCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T38faxApp },
9719   {  13, &hf_h245_genericDataMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9720   { 0, NULL, 0, NULL }
9721 };
9722
9723 static int
9724 dissect_h245_DataModeApplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9725 #line 486 "./asn1/h245/h245.cnf"
9726   gint32 value;
9727
9728   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9729                                  ett_h245_DataModeApplication, DataModeApplication_choice,
9730                                  &value);
9731
9732   codec_type = val_to_str(value, h245_DataModeApplication_vals, "<unknown>");
9733
9734
9735   return offset;
9736 }
9737
9738
9739 static const per_sequence_t DataMode_sequence[] = {
9740   { &hf_h245_datamodeapplication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataModeApplication },
9741   { &hf_h245_bitRate_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
9742   { NULL, 0, 0, NULL }
9743 };
9744
9745 static int
9746 dissect_h245_DataMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9747   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9748                                    ett_h245_DataMode, DataMode_sequence);
9749
9750   return offset;
9751 }
9752
9753
9754 static const value_string h245_T_mediaMode_vals[] = {
9755   {   0, "nonStandard" },
9756   {   1, "videoMode" },
9757   {   2, "audioMode" },
9758   {   3, "dataMode" },
9759   { 0, NULL }
9760 };
9761
9762 static const per_choice_t T_mediaMode_choice[] = {
9763   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9764   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9765   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9766   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9767   { 0, NULL, 0, NULL }
9768 };
9769
9770 static int
9771 dissect_h245_T_mediaMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9772   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9773                                  ett_h245_T_mediaMode, T_mediaMode_choice,
9774                                  NULL);
9775
9776   return offset;
9777 }
9778
9779
9780 static const per_sequence_t H235Mode_sequence[] = {
9781   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
9782   { &hf_h245_mediaMode      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaMode },
9783   { NULL, 0, 0, NULL }
9784 };
9785
9786 static int
9787 dissect_h245_H235Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9788   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9789                                    ett_h245_H235Mode, H235Mode_sequence);
9790
9791   return offset;
9792 }
9793
9794
9795 static const per_sequence_t FECMode_sequence[] = {
9796   { &hf_h245_protectedElement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9797   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
9798   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
9799   { NULL, 0, 0, NULL }
9800 };
9801
9802 static int
9803 dissect_h245_FECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9804   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9805                                    ett_h245_FECMode, FECMode_sequence);
9806
9807   return offset;
9808 }
9809
9810
9811 static const value_string h245_Re_type_vals[] = {
9812   {   0, "nonStandard" },
9813   {   1, "videoMode" },
9814   {   2, "audioMode" },
9815   {   3, "dataMode" },
9816   {   4, "encryptionMode" },
9817   {   5, "h235Mode" },
9818   {   6, "fecMode" },
9819   { 0, NULL }
9820 };
9821
9822 static const per_choice_t Re_type_choice[] = {
9823   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9824   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9825   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9826   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9827   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9828   {   5, &hf_h245_h235Mode       , ASN1_EXTENSION_ROOT    , dissect_h245_H235Mode },
9829   {   6, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9830   { 0, NULL, 0, NULL }
9831 };
9832
9833 static int
9834 dissect_h245_Re_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9835   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9836                                  ett_h245_Re_type, Re_type_choice,
9837                                  NULL);
9838
9839   return offset;
9840 }
9841
9842
9843 static const per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
9844   { &hf_h245_re_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Re_type },
9845   { NULL, 0, 0, NULL }
9846 };
9847
9848 static int
9849 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9850   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9851                                    ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
9852
9853   return offset;
9854 }
9855
9856
9857 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of[1] = {
9858   { &hf_h245_secondaryDTM_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9859 };
9860
9861 static int
9862 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_) {
9863   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9864                                       ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement, SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of);
9865
9866   return offset;
9867 }
9868
9869
9870 static const per_sequence_t RedundancyEncodingDTMode_sequence[] = {
9871   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
9872   { &hf_h245_prmary_dtmode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9873   { &hf_h245_secondaryDTM   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement },
9874   { NULL, 0, 0, NULL }
9875 };
9876
9877 static int
9878 dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9879   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9880                                    ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
9881
9882   return offset;
9883 }
9884
9885
9886 static const per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
9887   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9888   { NULL, 0, 0, NULL }
9889 };
9890
9891 static int
9892 dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9893   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9894                                    ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
9895
9896   return offset;
9897 }
9898
9899
9900 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of[1] = {
9901   { &hf_h245_mpsmElements_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElementMode },
9902 };
9903
9904 static int
9905 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_) {
9906   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9907                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode, SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of);
9908
9909   return offset;
9910 }
9911
9912
9913 static const per_sequence_t MultiplePayloadStreamMode_sequence[] = {
9914   { &hf_h245_mpsmElements   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode },
9915   { NULL, 0, 0, NULL }
9916 };
9917
9918 static int
9919 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9920   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9921                                    ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
9922
9923   return offset;
9924 }
9925
9926
9927 static const value_string h245_FEC_mode_vals[] = {
9928   {   0, "redundancyEncoding" },
9929   {   1, "separateStream" },
9930   { 0, NULL }
9931 };
9932
9933 static const per_choice_t FEC_mode_choice[] = {
9934   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9935   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
9936   { 0, NULL, 0, NULL }
9937 };
9938
9939 static int
9940 dissect_h245_FEC_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9941   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9942                                  ett_h245_FEC_mode, FEC_mode_choice,
9943                                  NULL);
9944
9945   return offset;
9946 }
9947
9948
9949 static const per_sequence_t T_rfc2733Mode_sequence[] = {
9950   { &hf_h245_fec_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FEC_mode },
9951   { NULL, 0, 0, NULL }
9952 };
9953
9954 static int
9955 dissect_h245_T_rfc2733Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9956   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9957                                    ett_h245_T_rfc2733Mode, T_rfc2733Mode_sequence);
9958
9959   return offset;
9960 }
9961
9962
9963 static const value_string h245_DepFECMode_vals[] = {
9964   {   0, "rfc2733Mode" },
9965   { 0, NULL }
9966 };
9967
9968 static const per_choice_t DepFECMode_choice[] = {
9969   {   0, &hf_h245_rfc2733Mode    , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733Mode },
9970   { 0, NULL, 0, NULL }
9971 };
9972
9973 static int
9974 dissect_h245_DepFECMode(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_DepFECMode, DepFECMode_choice,
9977                                  NULL);
9978
9979   return offset;
9980 }
9981
9982
9983 static const value_string h245_ModeElementType_vals[] = {
9984   {   0, "nonStandard" },
9985   {   1, "videoMode" },
9986   {   2, "audioMode" },
9987   {   3, "dataMode" },
9988   {   4, "encryptionMode" },
9989   {   5, "h235Mode" },
9990   {   6, "multiplexedStreamMode" },
9991   {   7, "redundancyEncodingDTMode" },
9992   {   8, "multiplePayloadStreamMode" },
9993   {   9, "depFecMode" },
9994   {  10, "fecMode" },
9995   { 0, NULL }
9996 };
9997
9998 static const per_choice_t ModeElementType_choice[] = {
9999   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
10000   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
10001   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
10002   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
10003   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
10004   {   5, &hf_h245_h235Mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Mode },
10005   {   6, &hf_h245_multiplexedStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
10006   {   7, &hf_h245_redundancyEncodingDTMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingDTMode },
10007   {   8, &hf_h245_multiplePayloadStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamMode },
10008   {   9, &hf_h245_depFecMode     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECMode },
10009   {  10, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
10010   { 0, NULL, 0, NULL }
10011 };
10012
10013 static int
10014 dissect_h245_ModeElementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10015   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10016                                  ett_h245_ModeElementType, ModeElementType_choice,
10017                                  NULL);
10018
10019   return offset;
10020 }
10021
10022
10023 static const value_string h245_AdaptationLayerType_vals[] = {
10024   {   0, "nonStandard" },
10025   {   1, "al1Framed" },
10026   {   2, "al1NotFramed" },
10027   {   3, "al2WithoutSequenceNumbers" },
10028   {   4, "al2WithSequenceNumbers" },
10029   {   5, "al3" },
10030   {   6, "al1M" },
10031   {   7, "al2M" },
10032   {   8, "al3M" },
10033   { 0, NULL }
10034 };
10035
10036 static const per_choice_t AdaptationLayerType_choice[] = {
10037   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
10038   {   1, &hf_h245_al1Framed      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10039   {   2, &hf_h245_al1NotFramed   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10040   {   3, &hf_h245_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10041   {   4, &hf_h245_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10042   {   5, &hf_h245_al3            , ASN1_EXTENSION_ROOT    , dissect_h245_Al3 },
10043   {   6, &hf_h245_al1M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL1MParameters },
10044   {   7, &hf_h245_al2M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL2MParameters },
10045   {   8, &hf_h245_al3M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL3MParameters },
10046   { 0, NULL, 0, NULL }
10047 };
10048
10049 static int
10050 dissect_h245_AdaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10051   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10052                                  ett_h245_AdaptationLayerType, AdaptationLayerType_choice,
10053                                  NULL);
10054
10055   return offset;
10056 }
10057
10058
10059 static const per_sequence_t H223ModeParameters_sequence[] = {
10060   { &hf_h245_adaptationLayer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AdaptationLayerType },
10061   { &hf_h245_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
10062   { NULL, 0, 0, NULL }
10063 };
10064
10065 static int
10066 dissect_h245_H223ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10067   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10068                                    ett_h245_H223ModeParameters, H223ModeParameters_sequence);
10069
10070   return offset;
10071 }
10072
10073
10074 static const value_string h245_V76ModeParameters_vals[] = {
10075   {   0, "suspendResumewAddress" },
10076   {   1, "suspendResumewoAddress" },
10077   { 0, NULL }
10078 };
10079
10080 static const per_choice_t V76ModeParameters_choice[] = {
10081   {   0, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10082   {   1, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10083   { 0, NULL, 0, NULL }
10084 };
10085
10086 static int
10087 dissect_h245_V76ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10088   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10089                                  ett_h245_V76ModeParameters, V76ModeParameters_choice,
10090                                  NULL);
10091
10092   return offset;
10093 }
10094
10095
10096 static const value_string h245_T_secondaryEncodingMode_vals[] = {
10097   {   0, "nonStandard" },
10098   {   1, "audioData" },
10099   { 0, NULL }
10100 };
10101
10102 static const per_choice_t T_secondaryEncodingMode_choice[] = {
10103   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
10104   {   1, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
10105   { 0, NULL, 0, NULL }
10106 };
10107
10108 static int
10109 dissect_h245_T_secondaryEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10110   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10111                                  ett_h245_T_secondaryEncodingMode, T_secondaryEncodingMode_choice,
10112                                  NULL);
10113
10114   return offset;
10115 }
10116
10117
10118 static const per_sequence_t RedundancyEncodingMode_sequence[] = {
10119   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
10120   { &hf_h245_secondaryEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_secondaryEncodingMode },
10121   { NULL, 0, 0, NULL }
10122 };
10123
10124 static int
10125 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10126   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10127                                    ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
10128
10129   return offset;
10130 }
10131
10132
10133 static const per_sequence_t H2250ModeParameters_sequence[] = {
10134   { &hf_h245_redundancyEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingMode },
10135   { NULL, 0, 0, NULL }
10136 };
10137
10138 static int
10139 dissect_h245_H2250ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10140   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10141                                    ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
10142
10143   return offset;
10144 }
10145
10146
10147 static const per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
10148   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10149   { NULL, 0, 0, NULL }
10150 };
10151
10152 static int
10153 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10154   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10155                                    ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
10156
10157   return offset;
10158 }
10159
10160
10161 static const per_sequence_t ModeElement_sequence[] = {
10162   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
10163   { &hf_h245_h223ModeParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H223ModeParameters },
10164   { &hf_h245_v76ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_V76ModeParameters },
10165   { &hf_h245_h2250ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H2250ModeParameters },
10166   { &hf_h245_genericModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
10167   { &hf_h245_multiplexedStreamModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_MultiplexedStreamModeParameters },
10168   { &hf_h245_logicalChannelNumber, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10169   { NULL, 0, 0, NULL }
10170 };
10171
10172 static int
10173 dissect_h245_ModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10174   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10175                                    ett_h245_ModeElement, ModeElement_sequence);
10176
10177   return offset;
10178 }
10179
10180
10181 static const per_sequence_t ModeDescription_set_of[1] = {
10182   { &hf_h245_ModeDescription_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeElement },
10183 };
10184
10185 static int
10186 dissect_h245_ModeDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10187   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10188                                              ett_h245_ModeDescription, ModeDescription_set_of,
10189                                              1, 256, FALSE);
10190
10191   return offset;
10192 }
10193
10194
10195 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of[1] = {
10196   { &hf_h245_requestedModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeDescription },
10197 };
10198
10199 static int
10200 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_) {
10201   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10202                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription, SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of,
10203                                                   1, 256, FALSE);
10204
10205   return offset;
10206 }
10207
10208
10209 static const per_sequence_t RequestMode_sequence[] = {
10210   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10211   { &hf_h245_requestedModes , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription },
10212   { NULL, 0, 0, NULL }
10213 };
10214
10215 static int
10216 dissect_h245_RequestMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10217   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10218                                    ett_h245_RequestMode, RequestMode_sequence);
10219
10220   return offset;
10221 }
10222
10223
10224 static const per_sequence_t RoundTripDelayRequest_sequence[] = {
10225   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10226   { NULL, 0, 0, NULL }
10227 };
10228
10229 static int
10230 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10231   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10232                                    ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
10233
10234   return offset;
10235 }
10236
10237
10238 static const value_string h245_Mlr_type_vals[] = {
10239   {   0, "systemLoop" },
10240   {   1, "mediaLoop" },
10241   {   2, "logicalChannelLoop" },
10242   { 0, NULL }
10243 };
10244
10245 static const per_choice_t Mlr_type_choice[] = {
10246   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10247   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10248   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10249   { 0, NULL, 0, NULL }
10250 };
10251
10252 static int
10253 dissect_h245_Mlr_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10254   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10255                                  ett_h245_Mlr_type, Mlr_type_choice,
10256                                  NULL);
10257
10258   return offset;
10259 }
10260
10261
10262 static const per_sequence_t MaintenanceLoopRequest_sequence[] = {
10263   { &hf_h245_mlr_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlr_type },
10264   { NULL, 0, 0, NULL }
10265 };
10266
10267 static int
10268 dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10269   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10270                                    ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
10271
10272   return offset;
10273 }
10274
10275
10276 static const per_sequence_t CommunicationModeRequest_sequence[] = {
10277   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
10278 };
10279
10280 static int
10281 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10282   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10283                                    ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
10284
10285   return offset;
10286 }
10287
10288
10289 static const per_sequence_t Criteria_sequence[] = {
10290   { &hf_h245_field          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
10291   { &hf_h245_criteriaValue  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
10292   { NULL, 0, 0, NULL }
10293 };
10294
10295 static int
10296 dissect_h245_Criteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10297   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10298                                    ett_h245_Criteria, Criteria_sequence);
10299
10300   return offset;
10301 }
10302
10303
10304 static const per_sequence_t CertSelectionCriteria_sequence_of[1] = {
10305   { &hf_h245_CertSelectionCriteria_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Criteria },
10306 };
10307
10308 static int
10309 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10310   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10311                                                   ett_h245_CertSelectionCriteria, CertSelectionCriteria_sequence_of,
10312                                                   1, 16, FALSE);
10313
10314   return offset;
10315 }
10316
10317
10318 static const per_sequence_t T_requestTerminalCertificate_sequence[] = {
10319   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
10320   { &hf_h245_certSelectionCriteria, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_CertSelectionCriteria },
10321   { &hf_h245_sRandom        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
10322   { NULL, 0, 0, NULL }
10323 };
10324
10325 static int
10326 dissect_h245_T_requestTerminalCertificate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10327   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10328                                    ett_h245_T_requestTerminalCertificate, T_requestTerminalCertificate_sequence);
10329
10330   return offset;
10331 }
10332
10333
10334 static const value_string h245_RemoteMCRequest_vals[] = {
10335   {   0, "masterActivate" },
10336   {   1, "slaveActivate" },
10337   {   2, "deActivate" },
10338   { 0, NULL }
10339 };
10340
10341 static const per_choice_t RemoteMCRequest_choice[] = {
10342   {   0, &hf_h245_masterActivate , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10343   {   1, &hf_h245_slaveActivate  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10344   {   2, &hf_h245_deActivate     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10345   { 0, NULL, 0, NULL }
10346 };
10347
10348 static int
10349 dissect_h245_RemoteMCRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10350   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10351                                  ett_h245_RemoteMCRequest, RemoteMCRequest_choice,
10352                                  NULL);
10353
10354   return offset;
10355 }
10356
10357
10358 static const value_string h245_ConferenceRequest_vals[] = {
10359   {   0, "terminalListRequest" },
10360   {   1, "makeMeChair" },
10361   {   2, "cancelMakeMeChair" },
10362   {   3, "dropTerminal" },
10363   {   4, "requestTerminalID" },
10364   {   5, "enterH243Password" },
10365   {   6, "enterH243TerminalID" },
10366   {   7, "enterH243ConferenceID" },
10367   {   8, "enterExtensionAddress" },
10368   {   9, "requestChairTokenOwner" },
10369   {  10, "requestTerminalCertificate" },
10370   {  11, "broadcastMyLogicalChannel" },
10371   {  12, "makeTerminalBroadcaster" },
10372   {  13, "sendThisSource" },
10373   {  14, "requestAllTerminalIDs" },
10374   {  15, "remoteMCRequest" },
10375   { 0, NULL }
10376 };
10377
10378 static const per_choice_t ConferenceRequest_choice[] = {
10379   {   0, &hf_h245_terminalListRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10380   {   1, &hf_h245_makeMeChair    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10381   {   2, &hf_h245_cancelMakeMeChair, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10382   {   3, &hf_h245_dropTerminal   , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10383   {   4, &hf_h245_requestTerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10384   {   5, &hf_h245_enterH243Password, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10385   {   6, &hf_h245_enterH243TerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10386   {   7, &hf_h245_enterH243ConferenceID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10387   {   8, &hf_h245_enterExtensionAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10388   {   9, &hf_h245_requestChairTokenOwner, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10389   {  10, &hf_h245_requestTerminalCertificate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_requestTerminalCertificate },
10390   {  11, &hf_h245_broadcastMyLogicalChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelNumber },
10391   {  12, &hf_h245_makeTerminalBroadcaster, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10392   {  13, &hf_h245_sendThisSource , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10393   {  14, &hf_h245_requestAllTerminalIDs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10394   {  15, &hf_h245_remoteMCRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCRequest },
10395   { 0, NULL, 0, NULL }
10396 };
10397
10398 static int
10399 dissect_h245_ConferenceRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10400   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10401                                  ett_h245_ConferenceRequest, ConferenceRequest_choice,
10402                                  NULL);
10403
10404   return offset;
10405 }
10406
10407
10408 static const per_sequence_t CallInformationReq_sequence[] = {
10409   { &hf_h245_maxNumberOfAdditionalConnections, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
10410   { NULL, 0, 0, NULL }
10411 };
10412
10413 static int
10414 dissect_h245_CallInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10415   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10416                                    ett_h245_CallInformationReq, CallInformationReq_sequence);
10417
10418   return offset;
10419 }
10420
10421
10422
10423 static int
10424 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_) {
10425   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
10426                                           0, 40, FALSE);
10427
10428   return offset;
10429 }
10430
10431
10432
10433 static int
10434 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_) {
10435   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
10436                                           1, 40, FALSE);
10437
10438   return offset;
10439 }
10440
10441
10442 static const value_string h245_DialingInformationNetworkType_vals[] = {
10443   {   0, "nonStandard" },
10444   {   1, "n-isdn" },
10445   {   2, "gstn" },
10446   {   3, "mobile" },
10447   { 0, NULL }
10448 };
10449
10450 static const per_choice_t DialingInformationNetworkType_choice[] = {
10451   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10452   {   1, &hf_h245_n_isdn         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10453   {   2, &hf_h245_gstn           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10454   {   3, &hf_h245_mobile         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10455   { 0, NULL, 0, NULL }
10456 };
10457
10458 static int
10459 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10460   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10461                                  ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice,
10462                                  NULL);
10463
10464   return offset;
10465 }
10466
10467
10468 static const per_sequence_t SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of[1] = {
10469   { &hf_h245_networkType_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNetworkType },
10470 };
10471
10472 static int
10473 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_) {
10474   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10475                                              ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType, SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of,
10476                                              1, 255, FALSE);
10477
10478   return offset;
10479 }
10480
10481
10482 static const per_sequence_t DialingInformationNumber_sequence[] = {
10483   { &hf_h245_networkAddressNum, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NumericString_SIZE_0_40 },
10484   { &hf_h245_subAddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IA5String_SIZE_1_40 },
10485   { &hf_h245_networkType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType },
10486   { NULL, 0, 0, NULL }
10487 };
10488
10489 static int
10490 dissect_h245_DialingInformationNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10491   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10492                                    ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
10493
10494   return offset;
10495 }
10496
10497
10498 static const per_sequence_t SET_SIZE_1_65535_OF_DialingInformationNumber_set_of[1] = {
10499   { &hf_h245_differential_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNumber },
10500 };
10501
10502 static int
10503 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_) {
10504   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10505                                              ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber, SET_SIZE_1_65535_OF_DialingInformationNumber_set_of,
10506                                              1, 65535, FALSE);
10507
10508   return offset;
10509 }
10510
10511
10512 static const value_string h245_DialingInformation_vals[] = {
10513   {   0, "nonStandard" },
10514   {   1, "differential" },
10515   {   2, "infoNotAvailable" },
10516   { 0, NULL }
10517 };
10518
10519 static const per_choice_t DialingInformation_choice[] = {
10520   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10521   {   1, &hf_h245_differential   , ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber },
10522   {   2, &hf_h245_infoNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_65535 },
10523   { 0, NULL, 0, NULL }
10524 };
10525
10526 static int
10527 dissect_h245_DialingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10528   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10529                                  ett_h245_DialingInformation, DialingInformation_choice,
10530                                  NULL);
10531
10532   return offset;
10533 }
10534
10535
10536 static const per_sequence_t AddConnectionReq_sequence[] = {
10537   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10538   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
10539   { NULL, 0, 0, NULL }
10540 };
10541
10542 static int
10543 dissect_h245_AddConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10544   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10545                                    ett_h245_AddConnectionReq, AddConnectionReq_sequence);
10546
10547   return offset;
10548 }
10549
10550
10551 static const per_sequence_t ConnectionIdentifier_sequence[] = {
10552   { &hf_h245_channelTag     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10553   { &hf_h245_sequenceNum    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10554   { NULL, 0, 0, NULL }
10555 };
10556
10557 static int
10558 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10559   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10560                                    ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
10561
10562   return offset;
10563 }
10564
10565
10566 static const per_sequence_t RemoveConnectionReq_sequence[] = {
10567   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
10568   { NULL, 0, 0, NULL }
10569 };
10570
10571 static int
10572 dissect_h245_RemoveConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10573   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10574                                    ett_h245_RemoveConnectionReq, RemoveConnectionReq_sequence);
10575
10576   return offset;
10577 }
10578
10579
10580 static const value_string h245_T_requestType_vals[] = {
10581   {   0, "currentIntervalInformation" },
10582   {   1, "requestedInterval" },
10583   { 0, NULL }
10584 };
10585
10586 static const per_choice_t T_requestType_choice[] = {
10587   {   0, &hf_h245_currentIntervalInformation, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10588   {   1, &hf_h245_requestedInterval, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_65535 },
10589   { 0, NULL, 0, NULL }
10590 };
10591
10592 static int
10593 dissect_h245_T_requestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10594   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10595                                  ett_h245_T_requestType, T_requestType_choice,
10596                                  NULL);
10597
10598   return offset;
10599 }
10600
10601
10602 static const per_sequence_t MaximumHeaderIntervalReq_sequence[] = {
10603   { &hf_h245_requestType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_requestType },
10604   { NULL, 0, 0, NULL }
10605 };
10606
10607 static int
10608 dissect_h245_MaximumHeaderIntervalReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10609   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10610                                    ett_h245_MaximumHeaderIntervalReq, MaximumHeaderIntervalReq_sequence);
10611
10612   return offset;
10613 }
10614
10615
10616 static const value_string h245_MultilinkRequest_vals[] = {
10617   {   0, "nonStandard" },
10618   {   1, "callInformation" },
10619   {   2, "addConnection" },
10620   {   3, "removeConnection" },
10621   {   4, "maximumHeaderInterval" },
10622   { 0, NULL }
10623 };
10624
10625 static const per_choice_t MultilinkRequest_choice[] = {
10626   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10627   {   1, &hf_h245_callInformationReq, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationReq },
10628   {   2, &hf_h245_addConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionReq },
10629   {   3, &hf_h245_removeConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionReq },
10630   {   4, &hf_h245_maximumHeaderIntervalReq, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalReq },
10631   { 0, NULL, 0, NULL }
10632 };
10633
10634 static int
10635 dissect_h245_MultilinkRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10636   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10637                                  ett_h245_MultilinkRequest, MultilinkRequest_choice,
10638                                  NULL);
10639
10640   return offset;
10641 }
10642
10643
10644
10645 static int
10646 dissect_h245_MaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10647   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10648                                                             0U, 4294967295U, NULL, FALSE);
10649
10650   return offset;
10651 }
10652
10653
10654 static const per_sequence_t LogicalChannelRateRequest_sequence[] = {
10655   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10656   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10657   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
10658   { NULL, 0, 0, NULL }
10659 };
10660
10661 static int
10662 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10663   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10664                                    ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
10665
10666   return offset;
10667 }
10668
10669
10670 static const value_string h245_RequestMessage_vals[] = {
10671   { RequestMessage_nonStandard, "nonStandard" },
10672   { RequestMessage_masterSlaveDetermination, "masterSlaveDetermination" },
10673   { RequestMessage_terminalCapabilitySet, "terminalCapabilitySet" },
10674   { RequestMessage_openLogicalChannel, "openLogicalChannel" },
10675   { RequestMessage_closeLogicalChannel, "closeLogicalChannel" },
10676   { RequestMessage_requestChannelClose, "requestChannelClose" },
10677   { RequestMessage_multiplexEntrySend, "multiplexEntrySend" },
10678   { RequestMessage_requestMultiplexEntry, "requestMultiplexEntry" },
10679   { RequestMessage_requestMode, "requestMode" },
10680   { RequestMessage_roundTripDelayRequest, "roundTripDelayRequest" },
10681   { RequestMessage_maintenanceLoopRequest, "maintenanceLoopRequest" },
10682   { RequestMessage_communicationModeRequest, "communicationModeRequest" },
10683   { RequestMessage_conferenceRequest, "conferenceRequest" },
10684   { RequestMessage_multilinkRequest, "multilinkRequest" },
10685   { RequestMessage_logicalChannelRateRequest, "logicalChannelRateRequest" },
10686   { RequestMessage_genericRequest, "genericRequest" },
10687   { 0, NULL }
10688 };
10689
10690 static const per_choice_t RequestMessage_choice[] = {
10691   { RequestMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10692   { RequestMessage_masterSlaveDetermination, &hf_h245_masterSlaveDetermination, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDetermination },
10693   { RequestMessage_terminalCapabilitySet, &hf_h245_terminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySet },
10694   { RequestMessage_openLogicalChannel, &hf_h245_openLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannel },
10695   { RequestMessage_closeLogicalChannel, &hf_h245_closeLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannel },
10696   { RequestMessage_requestChannelClose, &hf_h245_requestChannelClose, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelClose },
10697   { RequestMessage_multiplexEntrySend, &hf_h245_multiplexEntrySend, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySend },
10698   { RequestMessage_requestMultiplexEntry, &hf_h245_requestMultiplexEntry, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntry },
10699   { RequestMessage_requestMode, &hf_h245_requestMode    , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMode },
10700   { RequestMessage_roundTripDelayRequest, &hf_h245_roundTripDelayRequest, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayRequest },
10701   { RequestMessage_maintenanceLoopRequest, &hf_h245_maintenanceLoopRequest, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopRequest },
10702   { RequestMessage_communicationModeRequest, &hf_h245_communicationModeRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeRequest },
10703   { RequestMessage_conferenceRequest, &hf_h245_conferenceRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceRequest },
10704   { RequestMessage_multilinkRequest, &hf_h245_multilinkRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkRequest },
10705   { RequestMessage_logicalChannelRateRequest, &hf_h245_logicalChannelRateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRequest },
10706   { RequestMessage_genericRequest, &hf_h245_genericRequest , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
10707   { 0, NULL, 0, NULL }
10708 };
10709
10710 static int
10711 dissect_h245_RequestMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10712 #line 367 "./asn1/h245/h245.cnf"
10713   gint32 value;
10714
10715   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10716                                  ett_h245_RequestMessage, RequestMessage_choice,
10717                                  &value);
10718
10719   print_info_column(actx->pinfo->cinfo, &value, h245_RequestMessage_vals, h245_RequestMessage_short_vals);
10720
10721         if (( codec_type != NULL ) && ( value == RequestMessage_openLogicalChannel) ){
10722                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%s) ", codec_type );
10723         }
10724
10725         col_set_fence(actx->pinfo->cinfo,COL_INFO);
10726
10727     /* Add to packet info */
10728         if (h245_pi == NULL)
10729                 return offset;
10730
10731     if (strlen(h245_pi->frame_label) == 0)
10732     {
10733       g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_RequestMessage_short_vals, "UKN"));
10734
10735       /* if it is OLC or RM*/
10736       if ((codec_type != NULL) && (( value == RequestMessage_openLogicalChannel) || ( value == RequestMessage_requestMode)))
10737       {
10738         g_strlcat(h245_pi->frame_label, " (", 50);
10739         g_strlcat(h245_pi->frame_label, codec_type, 50);
10740         g_strlcat(h245_pi->frame_label, ")", 50);
10741       }
10742     }
10743     g_strlcat(h245_pi->comment, val_to_str(value, h245_RequestMessage_vals, "<unknown>"), 50);
10744
10745
10746   return offset;
10747 }
10748
10749
10750 static const value_string h245_T_decision_vals[] = {
10751   {   0, "master" },
10752   {   1, "slave" },
10753   { 0, NULL }
10754 };
10755
10756 static const per_choice_t T_decision_choice[] = {
10757   {   0, &hf_h245_master         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10758   {   1, &hf_h245_slave          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10759   { 0, NULL, 0, NULL }
10760 };
10761
10762 static int
10763 dissect_h245_T_decision(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10764   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10765                                  ett_h245_T_decision, T_decision_choice,
10766                                  NULL);
10767
10768   return offset;
10769 }
10770
10771
10772 static const per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
10773   { &hf_h245_decision       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_decision },
10774   { NULL, 0, 0, NULL }
10775 };
10776
10777 static int
10778 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10779   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10780                                    ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
10781
10782 #line 493 "./asn1/h245/h245.cnf"
10783
10784 if (h245_pi != NULL)
10785   h245_pi->msg_type = H245_MastSlvDetAck;
10786
10787   return offset;
10788 }
10789
10790
10791 static const value_string h245_MasterSlaveDeterminationRejectCause_vals[] = {
10792   {   0, "identicalNumbers" },
10793   { 0, NULL }
10794 };
10795
10796 static const per_choice_t MasterSlaveDeterminationRejectCause_choice[] = {
10797   {   0, &hf_h245_identicalNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10798   { 0, NULL, 0, NULL }
10799 };
10800
10801 static int
10802 dissect_h245_MasterSlaveDeterminationRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10803   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10804                                  ett_h245_MasterSlaveDeterminationRejectCause, MasterSlaveDeterminationRejectCause_choice,
10805                                  NULL);
10806
10807   return offset;
10808 }
10809
10810
10811 static const per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
10812   { &hf_h245_msd_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MasterSlaveDeterminationRejectCause },
10813   { NULL, 0, 0, NULL }
10814 };
10815
10816 static int
10817 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10818   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10819                                    ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
10820
10821 #line 499 "./asn1/h245/h245.cnf"
10822
10823 if (h245_pi != NULL)
10824   h245_pi->msg_type = H245_MastSlvDetRjc;
10825
10826   return offset;
10827 }
10828
10829
10830 static const per_sequence_t TerminalCapabilitySetAck_sequence[] = {
10831   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10832   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10833   { NULL, 0, 0, NULL }
10834 };
10835
10836 static int
10837 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10838   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10839                                    ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
10840
10841 #line 529 "./asn1/h245/h245.cnf"
10842
10843 if (h245_pi != NULL)
10844   h245_pi->msg_type = H245_TermCapSetAck;
10845
10846   return offset;
10847 }
10848
10849
10850 static const value_string h245_T_tableEntryCapacityExceeded_vals[] = {
10851   {   0, "highestEntryNumberProcessed" },
10852   {   1, "noneProcessed" },
10853   { 0, NULL }
10854 };
10855
10856 static const per_choice_t T_tableEntryCapacityExceeded_choice[] = {
10857   {   0, &hf_h245_highestEntryNumberProcessed, ASN1_NO_EXTENSIONS     , dissect_h245_CapabilityTableEntryNumber },
10858   {   1, &hf_h245_noneProcessed  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10859   { 0, NULL, 0, NULL }
10860 };
10861
10862 static int
10863 dissect_h245_T_tableEntryCapacityExceeded(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10864   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10865                                  ett_h245_T_tableEntryCapacityExceeded, T_tableEntryCapacityExceeded_choice,
10866                                  NULL);
10867
10868   return offset;
10869 }
10870
10871
10872 static const value_string h245_TerminalCapabilitySetRejectCause_vals[] = {
10873   {   0, "unspecified" },
10874   {   1, "undefinedTableEntryUsed" },
10875   {   2, "descriptorCapacityExceeded" },
10876   {   3, "tableEntryCapacityExceeded" },
10877   { 0, NULL }
10878 };
10879
10880 static const per_choice_t TerminalCapabilitySetRejectCause_choice[] = {
10881   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10882   {   1, &hf_h245_undefinedTableEntryUsed, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10883   {   2, &hf_h245_descriptorCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10884   {   3, &hf_h245_tableEntryCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_T_tableEntryCapacityExceeded },
10885   { 0, NULL, 0, NULL }
10886 };
10887
10888 static int
10889 dissect_h245_TerminalCapabilitySetRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10890   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10891                                  ett_h245_TerminalCapabilitySetRejectCause, TerminalCapabilitySetRejectCause_choice,
10892                                  NULL);
10893
10894   return offset;
10895 }
10896
10897
10898 static const per_sequence_t TerminalCapabilitySetReject_sequence[] = {
10899   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10900   { &hf_h245_tcs_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalCapabilitySetRejectCause },
10901   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10902   { NULL, 0, 0, NULL }
10903 };
10904
10905 static int
10906 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10907   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10908                                    ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
10909
10910 #line 541 "./asn1/h245/h245.cnf"
10911
10912 if (h245_pi != NULL)
10913   h245_pi->msg_type = H245_TermCapSetRjc;
10914
10915   return offset;
10916 }
10917
10918
10919
10920 static int
10921 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_) {
10922   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10923
10924 #line 274 "./asn1/h245/h245.cnf"
10925   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
10926   h223_fw_lc_num = h245_lc_temp;
10927
10928   return offset;
10929 }
10930
10931
10932
10933 static int
10934 dissect_h245_T_reverseLogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10935   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10936
10937 #line 288 "./asn1/h245/h245.cnf"
10938   h223_rev_lc_num = h245_lc_temp;
10939
10940   return offset;
10941 }
10942
10943
10944 static const value_string h245_T_olc_ack_multiplexParameters_vals[] = {
10945   {   0, "h222LogicalChannelParameters" },
10946   {   1, "h2250LogicalChannelParameters" },
10947   { 0, NULL }
10948 };
10949
10950 static const per_choice_t T_olc_ack_multiplexParameters_choice[] = {
10951   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
10952   {   1, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
10953   { 0, NULL, 0, NULL }
10954 };
10955
10956 static int
10957 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_) {
10958   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10959                                  ett_h245_T_olc_ack_multiplexParameters, T_olc_ack_multiplexParameters_choice,
10960                                  NULL);
10961
10962   return offset;
10963 }
10964
10965
10966 static const per_sequence_t OLC_ack_reverseLogicalChannelParameters_sequence[] = {
10967   { &hf_h245_reverseLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_reverseLogicalChannelNumber },
10968   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10969   { &hf_h245_olc_ack_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_olc_ack_multiplexParameters },
10970   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10971   { NULL, 0, 0, NULL }
10972 };
10973
10974 static int
10975 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_) {
10976   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10977                                    ett_h245_OLC_ack_reverseLogicalChannelParameters, OLC_ack_reverseLogicalChannelParameters_sequence);
10978
10979   return offset;
10980 }
10981
10982
10983
10984 static int
10985 dissect_h245_Ack_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10986 #line 887 "./asn1/h245/h245.cnf"
10987   if (upcoming_channel)
10988     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
10989
10990   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10991
10992 #line 891 "./asn1/h245/h245.cnf"
10993   if (upcoming_channel)
10994     upcoming_channel->upcoming_addr = NULL;
10995
10996   return offset;
10997 }
10998
10999
11000
11001 static int
11002 dissect_h245_Ack_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11003 #line 905 "./asn1/h245/h245.cnf"
11004   if (upcoming_channel)
11005     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
11006
11007   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
11008
11009 #line 909 "./asn1/h245/h245.cnf"
11010   if (upcoming_channel)
11011     upcoming_channel->upcoming_addr = NULL;
11012
11013   return offset;
11014 }
11015
11016
11017 static const per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
11018   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
11019   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11020   { &hf_h245_ack_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaChannel },
11021   { &hf_h245_ack_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaControlChannel },
11022   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
11023   { &hf_h245_flowControlToZero, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
11024   { &hf_h245_portNumber     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
11025   { NULL, 0, 0, NULL }
11026 };
11027
11028 static int
11029 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11030   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11031                                    ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
11032
11033   return offset;
11034 }
11035
11036
11037 static const value_string h245_T_forwardMultiplexAckParameters_vals[] = {
11038   {   0, "h2250LogicalChannelAckParameters" },
11039   { 0, NULL }
11040 };
11041
11042 static const per_choice_t T_forwardMultiplexAckParameters_choice[] = {
11043   {   0, &hf_h245_h2250LogicalChannelAckParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H2250LogicalChannelAckParameters },
11044   { 0, NULL, 0, NULL }
11045 };
11046
11047 static int
11048 dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11049 #line 279 "./asn1/h245/h245.cnf"
11050
11051   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
11052
11053   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11054                                  ett_h245_T_forwardMultiplexAckParameters, T_forwardMultiplexAckParameters_choice,
11055                                  NULL);
11056
11057
11058   upcoming_channel = NULL;
11059
11060
11061   return offset;
11062 }
11063
11064
11065 static const per_sequence_t OpenLogicalChannelAck_sequence[] = {
11066   { &hf_h245_olc_ack_fw_lcn , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_ack_fw_lcn },
11067   { &hf_h245_olc_ack_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_ack_reverseLogicalChannelParameters },
11068   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
11069   { &hf_h245_forwardMultiplexAckParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_forwardMultiplexAckParameters },
11070   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
11071   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11072   { NULL, 0, 0, NULL }
11073 };
11074
11075 static int
11076 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11077 #line 218 "./asn1/h245/h245.cnf"
11078   guint32 temp;
11079   int p2p_dir;
11080   h223_pending_olc *pend;
11081   const gchar *olc_key;
11082   olc_info_t *olc_req;
11083
11084   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? wmem_new0(wmem_packet_scope(), olc_info_t) : NULL;
11085
11086   h223_fw_lc_num = 0;
11087   h223_rev_lc_num = 0;
11088
11089   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11090                                    ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
11091
11092
11093   temp = h223_fw_lc_num;
11094   p2p_dir = actx->pinfo->p2p_dir;
11095
11096   if(actx->pinfo->p2p_dir == P2P_DIR_SENT)
11097         actx->pinfo->p2p_dir = P2P_DIR_RECV;
11098   else
11099         actx->pinfo->p2p_dir = P2P_DIR_SENT;
11100   pend = (h223_pending_olc *)wmem_map_lookup( h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp) );
11101   if (pend) {
11102         DISSECTOR_ASSERT( ( h223_rev_lc_num &&  pend->rev_channel_params)
11103                                    || (!h223_rev_lc_num && !pend->rev_channel_params) );
11104         if(h223_add_lc_handle) {
11105           (*h223_add_lc_handle)( actx->pinfo, h223_fw_lc_num, pend->fw_channel_params);
11106           if(h223_rev_lc_num)
11107                 (*h223_add_lc_handle)( actx->pinfo, h223_rev_lc_num, pend->rev_channel_params);
11108         }
11109   } else {
11110         /* we missed the OpenLogicalChannel packet */
11111   }
11112   actx->pinfo->p2p_dir = p2p_dir;
11113
11114   if (upcoming_olc) {
11115     olc_key = gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->src, &actx->pinfo->dst);
11116     olc_req = (olc_info_t *)wmem_map_lookup(h245_pending_olc_reqs, olc_key);
11117     if (olc_req) {
11118       update_unicast_addr(&olc_req->fwd_lc.media_addr, &upcoming_olc->fwd_lc.media_addr);
11119       update_unicast_addr(&olc_req->fwd_lc.media_control_addr, &upcoming_olc->fwd_lc.media_control_addr);
11120       update_unicast_addr(&olc_req->rev_lc.media_addr, &upcoming_olc->rev_lc.media_addr);
11121       update_unicast_addr(&olc_req->rev_lc.media_control_addr, &upcoming_olc->rev_lc.media_control_addr);
11122       h245_setup_channels(actx->pinfo, &olc_req->fwd_lc);
11123       h245_setup_channels(actx->pinfo, &olc_req->rev_lc);
11124       wmem_map_remove(h245_pending_olc_reqs, olc_key);
11125     } else {
11126       h245_setup_channels(actx->pinfo, &upcoming_olc->fwd_lc);
11127     }
11128   }
11129   upcoming_olc = NULL;
11130
11131   if (h245_pi != NULL)
11132         h245_pi->msg_type = H245_OpenLogChnAck;
11133
11134
11135   return offset;
11136 }
11137
11138
11139 static const value_string h245_OpenLogicalChannelRejectCause_vals[] = {
11140   {   0, "unspecified" },
11141   {   1, "unsuitableReverseParameters" },
11142   {   2, "dataTypeNotSupported" },
11143   {   3, "dataTypeNotAvailable" },
11144   {   4, "unknownDataType" },
11145   {   5, "dataTypeALCombinationNotSupported" },
11146   {   6, "multicastChannelNotAllowed" },
11147   {   7, "insufficientBandwidth" },
11148   {   8, "separateStackEstablishmentFailed" },
11149   {   9, "invalidSessionID" },
11150   {  10, "masterSlaveConflict" },
11151   {  11, "waitForCommunicationMode" },
11152   {  12, "invalidDependentChannel" },
11153   {  13, "replacementForRejected" },
11154   {  14, "securityDenied" },
11155   {  15, "qoSControlNotSupported" },
11156   { 0, NULL }
11157 };
11158
11159 static const per_choice_t OpenLogicalChannelRejectCause_choice[] = {
11160   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11161   {   1, &hf_h245_unsuitableReverseParameters, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11162   {   2, &hf_h245_dataTypeNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11163   {   3, &hf_h245_dataTypeNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11164   {   4, &hf_h245_unknownDataType, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11165   {   5, &hf_h245_dataTypeALCombinationNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11166   {   6, &hf_h245_multicastChannelNotAllowed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11167   {   7, &hf_h245_insufficientBandwidth, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11168   {   8, &hf_h245_separateStackEstablishmentFailed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11169   {   9, &hf_h245_invalidSessionID, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11170   {  10, &hf_h245_masterSlaveConflict, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11171   {  11, &hf_h245_waitForCommunicationMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11172   {  12, &hf_h245_invalidDependentChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11173   {  13, &hf_h245_replacementForRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11174   {  14, &hf_h245_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11175   {  15, &hf_h245_qoSControlNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11176   { 0, NULL, 0, NULL }
11177 };
11178
11179 static int
11180 dissect_h245_OpenLogicalChannelRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11181   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11182                                  ett_h245_OpenLogicalChannelRejectCause, OpenLogicalChannelRejectCause_choice,
11183                                  NULL);
11184
11185   return offset;
11186 }
11187
11188
11189 static const per_sequence_t OpenLogicalChannelReject_sequence[] = {
11190   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11191   { &hf_h245_olc_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OpenLogicalChannelRejectCause },
11192   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11193   { NULL, 0, 0, NULL }
11194 };
11195
11196 static int
11197 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11198   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11199                                    ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
11200
11201 #line 505 "./asn1/h245/h245.cnf"
11202
11203 if (h245_pi != NULL)
11204   h245_pi->msg_type = H245_OpenLogChnRjc;
11205
11206   return offset;
11207 }
11208
11209
11210 static const per_sequence_t CloseLogicalChannelAck_sequence[] = {
11211   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11212   { NULL, 0, 0, NULL }
11213 };
11214
11215 static int
11216 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11217   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11218                                    ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
11219
11220 #line 517 "./asn1/h245/h245.cnf"
11221
11222 if (h245_pi != NULL)
11223   h245_pi->msg_type = H245_CloseLogChnAck;
11224
11225   return offset;
11226 }
11227
11228
11229 static const per_sequence_t RequestChannelCloseAck_sequence[] = {
11230   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11231   { NULL, 0, 0, NULL }
11232 };
11233
11234 static int
11235 dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11236   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11237                                    ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
11238
11239   return offset;
11240 }
11241
11242
11243 static const value_string h245_RequestChannelCloseRejectCause_vals[] = {
11244   {   0, "unspecified" },
11245   { 0, NULL }
11246 };
11247
11248 static const per_choice_t RequestChannelCloseRejectCause_choice[] = {
11249   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11250   { 0, NULL, 0, NULL }
11251 };
11252
11253 static int
11254 dissect_h245_RequestChannelCloseRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11255   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11256                                  ett_h245_RequestChannelCloseRejectCause, RequestChannelCloseRejectCause_choice,
11257                                  NULL);
11258
11259   return offset;
11260 }
11261
11262
11263 static const per_sequence_t RequestChannelCloseReject_sequence[] = {
11264   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11265   { &hf_h245_req_chan_clos_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestChannelCloseRejectCause },
11266   { NULL, 0, 0, NULL }
11267 };
11268
11269 static int
11270 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11271   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11272                                    ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
11273
11274   return offset;
11275 }
11276
11277
11278 static const per_sequence_t MultiplexEntrySendAck_sequence[] = {
11279   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11280   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11281   { NULL, 0, 0, NULL }
11282 };
11283
11284 static int
11285 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11286   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11287                                    ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
11288
11289   return offset;
11290 }
11291
11292
11293 static const value_string h245_MultiplexEntryRejectionDescriptionsCause_vals[] = {
11294   {   0, "unspecifiedCause" },
11295   {   1, "descriptorTooComplex" },
11296   { 0, NULL }
11297 };
11298
11299 static const per_choice_t MultiplexEntryRejectionDescriptionsCause_choice[] = {
11300   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11301   {   1, &hf_h245_descriptorTooComplex, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11302   { 0, NULL, 0, NULL }
11303 };
11304
11305 static int
11306 dissect_h245_MultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11307   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11308                                  ett_h245_MultiplexEntryRejectionDescriptionsCause, MultiplexEntryRejectionDescriptionsCause_choice,
11309                                  NULL);
11310
11311   return offset;
11312 }
11313
11314
11315 static const per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11316   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11317   { &hf_h245_mux_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptionsCause },
11318   { NULL, 0, 0, NULL }
11319 };
11320
11321 static int
11322 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11323   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11324                                    ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11325
11326   return offset;
11327 }
11328
11329
11330 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of[1] = {
11331   { &hf_h245_sendRejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptions },
11332 };
11333
11334 static int
11335 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_) {
11336   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11337                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of,
11338                                              1, 15, FALSE);
11339
11340   return offset;
11341 }
11342
11343
11344 static const per_sequence_t MultiplexEntrySendReject_sequence[] = {
11345   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11346   { &hf_h245_sendRejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions },
11347   { NULL, 0, 0, NULL }
11348 };
11349
11350 static int
11351 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11352   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11353                                    ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
11354
11355   return offset;
11356 }
11357
11358
11359 static const per_sequence_t RequestMultiplexEntryAck_sequence[] = {
11360   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11361   { NULL, 0, 0, NULL }
11362 };
11363
11364 static int
11365 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11366   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11367                                    ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
11368
11369   return offset;
11370 }
11371
11372
11373 static const value_string h245_RequestMultiplexEntryRejectionDescriptionsCause_vals[] = {
11374   {   0, "unspecifiedCause" },
11375   { 0, NULL }
11376 };
11377
11378 static const per_choice_t RequestMultiplexEntryRejectionDescriptionsCause_choice[] = {
11379   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11380   { 0, NULL, 0, NULL }
11381 };
11382
11383 static int
11384 dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11385   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11386                                  ett_h245_RequestMultiplexEntryRejectionDescriptionsCause, RequestMultiplexEntryRejectionDescriptionsCause_choice,
11387                                  NULL);
11388
11389   return offset;
11390 }
11391
11392
11393 static const per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11394   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11395   { &hf_h245_req_mux_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause },
11396   { NULL, 0, 0, NULL }
11397 };
11398
11399 static int
11400 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11401   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11402                                    ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11403
11404   return offset;
11405 }
11406
11407
11408 static const per_sequence_t SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of[1] = {
11409   { &hf_h245_rejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptions },
11410 };
11411
11412 static int
11413 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_) {
11414   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11415                                              ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of,
11416                                              1, 15, FALSE);
11417
11418   return offset;
11419 }
11420
11421
11422 static const per_sequence_t RequestMultiplexEntryReject_sequence[] = {
11423   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11424   { &hf_h245_rejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions },
11425   { NULL, 0, 0, NULL }
11426 };
11427
11428 static int
11429 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11430   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11431                                    ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
11432
11433   return offset;
11434 }
11435
11436
11437 static const value_string h245_Req_mode_ack_response_vals[] = {
11438   {   0, "willTransmitMostPreferredMode" },
11439   {   1, "willTransmitLessPreferredMode" },
11440   { 0, NULL }
11441 };
11442
11443 static const per_choice_t Req_mode_ack_response_choice[] = {
11444   {   0, &hf_h245_willTransmitMostPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11445   {   1, &hf_h245_willTransmitLessPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11446   { 0, NULL, 0, NULL }
11447 };
11448
11449 static int
11450 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_) {
11451   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11452                                  ett_h245_Req_mode_ack_response, Req_mode_ack_response_choice,
11453                                  NULL);
11454
11455   return offset;
11456 }
11457
11458
11459 static const per_sequence_t RequestModeAck_sequence[] = {
11460   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11461   { &hf_h245_req_mode_ack_response, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Req_mode_ack_response },
11462   { NULL, 0, 0, NULL }
11463 };
11464
11465 static int
11466 dissect_h245_RequestModeAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11467   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11468                                    ett_h245_RequestModeAck, RequestModeAck_sequence);
11469
11470   return offset;
11471 }
11472
11473
11474 static const value_string h245_RequestModeRejectCause_vals[] = {
11475   {   0, "modeUnavailable" },
11476   {   1, "multipointConstraint" },
11477   {   2, "requestDenied" },
11478   { 0, NULL }
11479 };
11480
11481 static const per_choice_t RequestModeRejectCause_choice[] = {
11482   {   0, &hf_h245_modeUnavailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11483   {   1, &hf_h245_multipointConstraint, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11484   {   2, &hf_h245_requestDenied  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11485   { 0, NULL, 0, NULL }
11486 };
11487
11488 static int
11489 dissect_h245_RequestModeRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11490   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11491                                  ett_h245_RequestModeRejectCause, RequestModeRejectCause_choice,
11492                                  NULL);
11493
11494   return offset;
11495 }
11496
11497
11498 static const per_sequence_t RequestModeReject_sequence[] = {
11499   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11500   { &hf_h245_req_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestModeRejectCause },
11501   { NULL, 0, 0, NULL }
11502 };
11503
11504 static int
11505 dissect_h245_RequestModeReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11506   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11507                                    ett_h245_RequestModeReject, RequestModeReject_sequence);
11508
11509   return offset;
11510 }
11511
11512
11513 static const per_sequence_t RoundTripDelayResponse_sequence[] = {
11514   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11515   { NULL, 0, 0, NULL }
11516 };
11517
11518 static int
11519 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11520   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11521                                    ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
11522
11523   return offset;
11524 }
11525
11526
11527 static const value_string h245_Mla_type_vals[] = {
11528   {   0, "systemLoop" },
11529   {   1, "mediaLoop" },
11530   {   2, "logicalChannelLoop" },
11531   { 0, NULL }
11532 };
11533
11534 static const per_choice_t Mla_type_choice[] = {
11535   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11536   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11537   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11538   { 0, NULL, 0, NULL }
11539 };
11540
11541 static int
11542 dissect_h245_Mla_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11543   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11544                                  ett_h245_Mla_type, Mla_type_choice,
11545                                  NULL);
11546
11547   return offset;
11548 }
11549
11550
11551 static const per_sequence_t MaintenanceLoopAck_sequence[] = {
11552   { &hf_h245_mla_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mla_type },
11553   { NULL, 0, 0, NULL }
11554 };
11555
11556 static int
11557 dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11558   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11559                                    ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
11560
11561   return offset;
11562 }
11563
11564
11565 static const value_string h245_Mlrej_type_vals[] = {
11566   {   0, "systemLoop" },
11567   {   1, "mediaLoop" },
11568   {   2, "logicalChannelLoop" },
11569   { 0, NULL }
11570 };
11571
11572 static const per_choice_t Mlrej_type_choice[] = {
11573   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11574   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11575   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11576   { 0, NULL, 0, NULL }
11577 };
11578
11579 static int
11580 dissect_h245_Mlrej_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11581   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11582                                  ett_h245_Mlrej_type, Mlrej_type_choice,
11583                                  NULL);
11584
11585   return offset;
11586 }
11587
11588
11589 static const value_string h245_MaintenanceLoopRejectCause_vals[] = {
11590   {   0, "canNotPerformLoop" },
11591   { 0, NULL }
11592 };
11593
11594 static const per_choice_t MaintenanceLoopRejectCause_choice[] = {
11595   {   0, &hf_h245_canNotPerformLoop, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11596   { 0, NULL, 0, NULL }
11597 };
11598
11599 static int
11600 dissect_h245_MaintenanceLoopRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11601   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11602                                  ett_h245_MaintenanceLoopRejectCause, MaintenanceLoopRejectCause_choice,
11603                                  NULL);
11604
11605   return offset;
11606 }
11607
11608
11609 static const per_sequence_t MaintenanceLoopReject_sequence[] = {
11610   { &hf_h245_mlrej_type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlrej_type },
11611   { &hf_h245_maintloop_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaintenanceLoopRejectCause },
11612   { NULL, 0, 0, NULL }
11613 };
11614
11615 static int
11616 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11617   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11618                                    ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
11619
11620   return offset;
11621 }
11622
11623
11624
11625 static int
11626 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_) {
11627   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
11628                                           1, 128, FALSE);
11629
11630   return offset;
11631 }
11632
11633
11634 static const value_string h245_T_entryDataType_vals[] = {
11635   {   0, "videoData" },
11636   {   1, "audioData" },
11637   {   2, "data" },
11638   { 0, NULL }
11639 };
11640
11641 static const per_choice_t T_entryDataType_choice[] = {
11642   {   0, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
11643   {   1, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
11644   {   2, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
11645   { 0, NULL, 0, NULL }
11646 };
11647
11648 static int
11649 dissect_h245_T_entryDataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11650   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11651                                  ett_h245_T_entryDataType, T_entryDataType_choice,
11652                                  NULL);
11653
11654   return offset;
11655 }
11656
11657
11658
11659 static int
11660 dissect_h245_Cm_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11661   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
11662
11663   return offset;
11664 }
11665
11666
11667 static const per_sequence_t CommunicationModeTableEntry_sequence[] = {
11668   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
11669   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
11670   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11671   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11672   { &hf_h245_sessionDescription, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BMPString_SIZE_1_128 },
11673   { &hf_h245_entryDataType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_entryDataType },
11674   { &hf_h245_cm_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Cm_mediaChannel },
11675   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11676   { &hf_h245_cm_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransportAddress },
11677   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11678   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
11679   { &hf_h245_sessionDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11680   { &hf_h245_destination    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11681   { NULL, 0, 0, NULL }
11682 };
11683
11684 static int
11685 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11686   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11687                                    ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
11688
11689   return offset;
11690 }
11691
11692
11693 static const per_sequence_t SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of[1] = {
11694   { &hf_h245_communicationModeTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CommunicationModeTableEntry },
11695 };
11696
11697 static int
11698 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_) {
11699   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11700                                              ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry, SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of,
11701                                              1, 256, FALSE);
11702
11703   return offset;
11704 }
11705
11706
11707 static const value_string h245_CommunicationModeResponse_vals[] = {
11708   {   0, "communicationModeTable" },
11709   { 0, NULL }
11710 };
11711
11712 static const per_choice_t CommunicationModeResponse_choice[] = {
11713   {   0, &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
11714   { 0, NULL, 0, NULL }
11715 };
11716
11717 static int
11718 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11719   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11720                                  ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice,
11721                                  NULL);
11722
11723   return offset;
11724 }
11725
11726
11727
11728 static int
11729 dissect_h245_TerminalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11730   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11731                                        1, 128, FALSE, NULL);
11732
11733   return offset;
11734 }
11735
11736
11737 static const per_sequence_t T_mCTerminalIDResponse_sequence[] = {
11738   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11739   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11740   { NULL, 0, 0, NULL }
11741 };
11742
11743 static int
11744 dissect_h245_T_mCTerminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11745   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11746                                    ett_h245_T_mCTerminalIDResponse, T_mCTerminalIDResponse_sequence);
11747
11748   return offset;
11749 }
11750
11751
11752 static const per_sequence_t T_terminalIDResponse_sequence[] = {
11753   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11754   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11755   { NULL, 0, 0, NULL }
11756 };
11757
11758 static int
11759 dissect_h245_T_terminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11760   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11761                                    ett_h245_T_terminalIDResponse, T_terminalIDResponse_sequence);
11762
11763   return offset;
11764 }
11765
11766
11767
11768 static int
11769 dissect_h245_ConferenceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11770   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11771                                        1, 32, FALSE, NULL);
11772
11773   return offset;
11774 }
11775
11776
11777 static const per_sequence_t T_conferenceIDResponse_sequence[] = {
11778   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11779   { &hf_h245_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConferenceID },
11780   { NULL, 0, 0, NULL }
11781 };
11782
11783 static int
11784 dissect_h245_T_conferenceIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11785   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11786                                    ett_h245_T_conferenceIDResponse, T_conferenceIDResponse_sequence);
11787
11788   return offset;
11789 }
11790
11791
11792
11793 static int
11794 dissect_h245_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11795   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11796                                        1, 32, FALSE, NULL);
11797
11798   return offset;
11799 }
11800
11801
11802 static const per_sequence_t T_passwordResponse_sequence[] = {
11803   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11804   { &hf_h245_password       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Password },
11805   { NULL, 0, 0, NULL }
11806 };
11807
11808 static int
11809 dissect_h245_T_passwordResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11810   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11811                                    ett_h245_T_passwordResponse, T_passwordResponse_sequence);
11812
11813   return offset;
11814 }
11815
11816
11817 static const per_sequence_t SET_SIZE_1_256_OF_TerminalLabel_set_of[1] = {
11818   { &hf_h245_terminalListResponse_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11819 };
11820
11821 static int
11822 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_) {
11823   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11824                                              ett_h245_SET_SIZE_1_256_OF_TerminalLabel, SET_SIZE_1_256_OF_TerminalLabel_set_of,
11825                                              1, 256, FALSE);
11826
11827   return offset;
11828 }
11829
11830
11831 static const value_string h245_T_makeMeChairResponse_vals[] = {
11832   {   0, "grantedChairToken" },
11833   {   1, "deniedChairToken" },
11834   { 0, NULL }
11835 };
11836
11837 static const per_choice_t T_makeMeChairResponse_choice[] = {
11838   {   0, &hf_h245_grantedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11839   {   1, &hf_h245_deniedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11840   { 0, NULL, 0, NULL }
11841 };
11842
11843 static int
11844 dissect_h245_T_makeMeChairResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11845   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11846                                  ett_h245_T_makeMeChairResponse, T_makeMeChairResponse_choice,
11847                                  NULL);
11848
11849   return offset;
11850 }
11851
11852
11853 static const per_sequence_t T_extensionAddressResponse_sequence[] = {
11854   { &hf_h245_extensionAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11855   { NULL, 0, 0, NULL }
11856 };
11857
11858 static int
11859 dissect_h245_T_extensionAddressResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11860   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11861                                    ett_h245_T_extensionAddressResponse, T_extensionAddressResponse_sequence);
11862
11863   return offset;
11864 }
11865
11866
11867 static const per_sequence_t T_chairTokenOwnerResponse_sequence[] = {
11868   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11869   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11870   { NULL, 0, 0, NULL }
11871 };
11872
11873 static int
11874 dissect_h245_T_chairTokenOwnerResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11875   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11876                                    ett_h245_T_chairTokenOwnerResponse, T_chairTokenOwnerResponse_sequence);
11877
11878   return offset;
11879 }
11880
11881
11882 static const per_sequence_t T_terminalCertificateResponse_sequence[] = {
11883   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11884   { &hf_h245_certificateResponse, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_65535 },
11885   { NULL, 0, 0, NULL }
11886 };
11887
11888 static int
11889 dissect_h245_T_terminalCertificateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11890   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11891                                    ett_h245_T_terminalCertificateResponse, T_terminalCertificateResponse_sequence);
11892
11893   return offset;
11894 }
11895
11896
11897 static const value_string h245_T_broadcastMyLogicalChannelResponse_vals[] = {
11898   {   0, "grantedBroadcastMyLogicalChannel" },
11899   {   1, "deniedBroadcastMyLogicalChannel" },
11900   { 0, NULL }
11901 };
11902
11903 static const per_choice_t T_broadcastMyLogicalChannelResponse_choice[] = {
11904   {   0, &hf_h245_grantedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11905   {   1, &hf_h245_deniedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11906   { 0, NULL, 0, NULL }
11907 };
11908
11909 static int
11910 dissect_h245_T_broadcastMyLogicalChannelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11911   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11912                                  ett_h245_T_broadcastMyLogicalChannelResponse, T_broadcastMyLogicalChannelResponse_choice,
11913                                  NULL);
11914
11915   return offset;
11916 }
11917
11918
11919 static const value_string h245_T_makeTerminalBroadcasterResponse_vals[] = {
11920   {   0, "grantedMakeTerminalBroadcaster" },
11921   {   1, "deniedMakeTerminalBroadcaster" },
11922   { 0, NULL }
11923 };
11924
11925 static const per_choice_t T_makeTerminalBroadcasterResponse_choice[] = {
11926   {   0, &hf_h245_grantedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11927   {   1, &hf_h245_deniedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11928   { 0, NULL, 0, NULL }
11929 };
11930
11931 static int
11932 dissect_h245_T_makeTerminalBroadcasterResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11933   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11934                                  ett_h245_T_makeTerminalBroadcasterResponse, T_makeTerminalBroadcasterResponse_choice,
11935                                  NULL);
11936
11937   return offset;
11938 }
11939
11940
11941 static const value_string h245_T_sendThisSourceResponse_vals[] = {
11942   {   0, "grantedSendThisSource" },
11943   {   1, "deniedSendThisSource" },
11944   { 0, NULL }
11945 };
11946
11947 static const per_choice_t T_sendThisSourceResponse_choice[] = {
11948   {   0, &hf_h245_grantedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11949   {   1, &hf_h245_deniedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11950   { 0, NULL, 0, NULL }
11951 };
11952
11953 static int
11954 dissect_h245_T_sendThisSourceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11955   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11956                                  ett_h245_T_sendThisSourceResponse, T_sendThisSourceResponse_choice,
11957                                  NULL);
11958
11959   return offset;
11960 }
11961
11962
11963 static const per_sequence_t TerminalInformation_sequence[] = {
11964   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11965   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11966   { NULL, 0, 0, NULL }
11967 };
11968
11969 static int
11970 dissect_h245_TerminalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11971   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11972                                    ett_h245_TerminalInformation, TerminalInformation_sequence);
11973
11974   return offset;
11975 }
11976
11977
11978 static const per_sequence_t SEQUENCE_OF_TerminalInformation_sequence_of[1] = {
11979   { &hf_h245_terminalInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalInformation },
11980 };
11981
11982 static int
11983 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_) {
11984   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
11985                                       ett_h245_SEQUENCE_OF_TerminalInformation, SEQUENCE_OF_TerminalInformation_sequence_of);
11986
11987   return offset;
11988 }
11989
11990
11991 static const per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
11992   { &hf_h245_terminalInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_TerminalInformation },
11993   { NULL, 0, 0, NULL }
11994 };
11995
11996 static int
11997 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11998   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11999                                    ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
12000
12001   return offset;
12002 }
12003
12004
12005 static const value_string h245_T_reject_vals[] = {
12006   {   0, "unspecified" },
12007   {   1, "functionNotSupported" },
12008   { 0, NULL }
12009 };
12010
12011 static const per_choice_t T_reject_choice[] = {
12012   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12013   {   1, &hf_h245_functionNotSupportedFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12014   { 0, NULL, 0, NULL }
12015 };
12016
12017 static int
12018 dissect_h245_T_reject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12019   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12020                                  ett_h245_T_reject, T_reject_choice,
12021                                  NULL);
12022
12023   return offset;
12024 }
12025
12026
12027 static const value_string h245_RemoteMCResponse_vals[] = {
12028   {   0, "accept" },
12029   {   1, "reject" },
12030   { 0, NULL }
12031 };
12032
12033 static const per_choice_t RemoteMCResponse_choice[] = {
12034   {   0, &hf_h245_accept         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12035   {   1, &hf_h245_reject         , ASN1_EXTENSION_ROOT    , dissect_h245_T_reject },
12036   { 0, NULL, 0, NULL }
12037 };
12038
12039 static int
12040 dissect_h245_RemoteMCResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12041   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12042                                  ett_h245_RemoteMCResponse, RemoteMCResponse_choice,
12043                                  NULL);
12044
12045   return offset;
12046 }
12047
12048
12049 static const value_string h245_ConferenceResponse_vals[] = {
12050   {   0, "mCTerminalIDResponse" },
12051   {   1, "terminalIDResponse" },
12052   {   2, "conferenceIDResponse" },
12053   {   3, "passwordResponse" },
12054   {   4, "terminalListResponse" },
12055   {   5, "videoCommandReject" },
12056   {   6, "terminalDropReject" },
12057   {   7, "makeMeChairResponse" },
12058   {   8, "extensionAddressResponse" },
12059   {   9, "chairTokenOwnerResponse" },
12060   {  10, "terminalCertificateResponse" },
12061   {  11, "broadcastMyLogicalChannelResponse" },
12062   {  12, "makeTerminalBroadcasterResponse" },
12063   {  13, "sendThisSourceResponse" },
12064   {  14, "requestAllTerminalIDsResponse" },
12065   {  15, "remoteMCResponse" },
12066   { 0, NULL }
12067 };
12068
12069 static const per_choice_t ConferenceResponse_choice[] = {
12070   {   0, &hf_h245_mCTerminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_mCTerminalIDResponse },
12071   {   1, &hf_h245_terminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_terminalIDResponse },
12072   {   2, &hf_h245_conferenceIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_conferenceIDResponse },
12073   {   3, &hf_h245_passwordResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_passwordResponse },
12074   {   4, &hf_h245_terminalListResponse, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_TerminalLabel },
12075   {   5, &hf_h245_videoCommandReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12076   {   6, &hf_h245_terminalDropReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12077   {   7, &hf_h245_makeMeChairResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_makeMeChairResponse },
12078   {   8, &hf_h245_extensionAddressResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extensionAddressResponse },
12079   {   9, &hf_h245_chairTokenOwnerResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_chairTokenOwnerResponse },
12080   {  10, &hf_h245_terminalCertificateResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_terminalCertificateResponse },
12081   {  11, &hf_h245_broadcastMyLogicalChannelResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_broadcastMyLogicalChannelResponse },
12082   {  12, &hf_h245_makeTerminalBroadcasterResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_makeTerminalBroadcasterResponse },
12083   {  13, &hf_h245_sendThisSourceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_sendThisSourceResponse },
12084   {  14, &hf_h245_requestAllTerminalIDsResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RequestAllTerminalIDsResponse },
12085   {  15, &hf_h245_remoteMCResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCResponse },
12086   { 0, NULL, 0, NULL }
12087 };
12088
12089 static int
12090 dissect_h245_ConferenceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12091   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12092                                  ett_h245_ConferenceResponse, ConferenceResponse_choice,
12093                                  NULL);
12094
12095   return offset;
12096 }
12097
12098
12099 static const per_sequence_t CallInformationResp_sequence[] = {
12100   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
12101   { &hf_h245_callAssociationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
12102   { NULL, 0, 0, NULL }
12103 };
12104
12105 static int
12106 dissect_h245_CallInformationResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12107   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12108                                    ett_h245_CallInformationResp, CallInformationResp_sequence);
12109
12110   return offset;
12111 }
12112
12113
12114 static const value_string h245_T_rejected_vals[] = {
12115   {   0, "connectionsNotAvailable" },
12116   {   1, "userRejected" },
12117   { 0, NULL }
12118 };
12119
12120 static const per_choice_t T_rejected_choice[] = {
12121   {   0, &hf_h245_connectionsNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12122   {   1, &hf_h245_userRejected   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12123   { 0, NULL, 0, NULL }
12124 };
12125
12126 static int
12127 dissect_h245_T_rejected(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12128   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12129                                  ett_h245_T_rejected, T_rejected_choice,
12130                                  NULL);
12131
12132   return offset;
12133 }
12134
12135
12136 static const value_string h245_T_responseCode_vals[] = {
12137   {   0, "accepted" },
12138   {   1, "rejected" },
12139   { 0, NULL }
12140 };
12141
12142 static const per_choice_t T_responseCode_choice[] = {
12143   {   0, &hf_h245_accepted       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12144   {   1, &hf_h245_rejected       , ASN1_EXTENSION_ROOT    , dissect_h245_T_rejected },
12145   { 0, NULL, 0, NULL }
12146 };
12147
12148 static int
12149 dissect_h245_T_responseCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12150   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12151                                  ett_h245_T_responseCode, T_responseCode_choice,
12152                                  NULL);
12153
12154   return offset;
12155 }
12156
12157
12158 static const per_sequence_t AddConnectionResp_sequence[] = {
12159   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12160   { &hf_h245_responseCode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_responseCode },
12161   { NULL, 0, 0, NULL }
12162 };
12163
12164 static int
12165 dissect_h245_AddConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12166   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12167                                    ett_h245_AddConnectionResp, AddConnectionResp_sequence);
12168
12169   return offset;
12170 }
12171
12172
12173 static const per_sequence_t RemoveConnectionResp_sequence[] = {
12174   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
12175   { NULL, 0, 0, NULL }
12176 };
12177
12178 static int
12179 dissect_h245_RemoveConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12180   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12181                                    ett_h245_RemoveConnectionResp, RemoveConnectionResp_sequence);
12182
12183   return offset;
12184 }
12185
12186
12187 static const per_sequence_t MaximumHeaderIntervalResp_sequence[] = {
12188   { &hf_h245_currentInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
12189   { NULL, 0, 0, NULL }
12190 };
12191
12192 static int
12193 dissect_h245_MaximumHeaderIntervalResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12194   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12195                                    ett_h245_MaximumHeaderIntervalResp, MaximumHeaderIntervalResp_sequence);
12196
12197   return offset;
12198 }
12199
12200
12201 static const value_string h245_MultilinkResponse_vals[] = {
12202   {   0, "nonStandard" },
12203   {   1, "callInformation" },
12204   {   2, "addConnection" },
12205   {   3, "removeConnection" },
12206   {   4, "maximumHeaderInterval" },
12207   { 0, NULL }
12208 };
12209
12210 static const per_choice_t MultilinkResponse_choice[] = {
12211   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12212   {   1, &hf_h245_callInformationResp, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationResp },
12213   {   2, &hf_h245_addConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionResp },
12214   {   3, &hf_h245_removeConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionResp },
12215   {   4, &hf_h245_maximumHeaderIntervalResp, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalResp },
12216   { 0, NULL, 0, NULL }
12217 };
12218
12219 static int
12220 dissect_h245_MultilinkResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12221   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12222                                  ett_h245_MultilinkResponse, MultilinkResponse_choice,
12223                                  NULL);
12224
12225   return offset;
12226 }
12227
12228
12229 static const per_sequence_t LogicalChannelRateAcknowledge_sequence[] = {
12230   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12231   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12232   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
12233   { NULL, 0, 0, NULL }
12234 };
12235
12236 static int
12237 dissect_h245_LogicalChannelRateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12238   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12239                                    ett_h245_LogicalChannelRateAcknowledge, LogicalChannelRateAcknowledge_sequence);
12240
12241   return offset;
12242 }
12243
12244
12245 static const value_string h245_LogicalChannelRateRejectReason_vals[] = {
12246   {   0, "undefinedReason" },
12247   {   1, "insufficientResources" },
12248   { 0, NULL }
12249 };
12250
12251 static const per_choice_t LogicalChannelRateRejectReason_choice[] = {
12252   {   0, &hf_h245_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12253   {   1, &hf_h245_insufficientResources, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12254   { 0, NULL, 0, NULL }
12255 };
12256
12257 static int
12258 dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12259   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12260                                  ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice,
12261                                  NULL);
12262
12263   return offset;
12264 }
12265
12266
12267 static const per_sequence_t LogicalChannelRateReject_sequence[] = {
12268   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12269   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12270   { &hf_h245_rejectReason   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelRateRejectReason },
12271   { &hf_h245_currentMaximumBitRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MaximumBitRate },
12272   { NULL, 0, 0, NULL }
12273 };
12274
12275 static int
12276 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12277   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12278                                    ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
12279
12280   return offset;
12281 }
12282
12283
12284 static const value_string h245_ResponseMessage_vals[] = {
12285   { ResponseMessage_nonStandard, "nonStandard" },
12286   { ResponseMessage_masterSlaveDeterminationAck, "masterSlaveDeterminationAck" },
12287   { ResponseMessage_masterSlaveDeterminationReject, "masterSlaveDeterminationReject" },
12288   { ResponseMessage_terminalCapabilitySetAck, "terminalCapabilitySetAck" },
12289   { ResponseMessage_terminalCapabilitySetReject, "terminalCapabilitySetReject" },
12290   { ResponseMessage_openLogicalChannelAck, "openLogicalChannelAck" },
12291   { ResponseMessage_openLogicalChannelReject, "openLogicalChannelReject" },
12292   { ResponseMessage_closeLogicalChannelAck, "closeLogicalChannelAck" },
12293   { ResponseMessage_requestChannelCloseAck, "requestChannelCloseAck" },
12294   { ResponseMessage_requestChannelCloseReject, "requestChannelCloseReject" },
12295   { ResponseMessage_multiplexEntrySendAck, "multiplexEntrySendAck" },
12296   { ResponseMessage_multiplexEntrySendReject, "multiplexEntrySendReject" },
12297   { ResponseMessage_requestMultiplexEntryAck, "requestMultiplexEntryAck" },
12298   { ResponseMessage_requestMultiplexEntryReject, "requestMultiplexEntryReject" },
12299   { ResponseMessage_requestModeAck, "requestModeAck" },
12300   { ResponseMessage_requestModeReject, "requestModeReject" },
12301   { ResponseMessage_roundTripDelayResponse, "roundTripDelayResponse" },
12302   { ResponseMessage_maintenanceLoopAck, "maintenanceLoopAck" },
12303   { ResponseMessage_maintenanceLoopReject, "maintenanceLoopReject" },
12304   { ResponseMessage_communicationModeResponse, "communicationModeResponse" },
12305   { ResponseMessage_conferenceResponse, "conferenceResponse" },
12306   { ResponseMessage_multilinkResponse, "multilinkResponse" },
12307   { ResponseMessage_logicalChannelRateAcknowledge, "logicalChannelRateAcknowledge" },
12308   { ResponseMessage_logicalChannelRateReject, "logicalChannelRateReject" },
12309   { ResponseMessage_genericResponse, "genericResponse" },
12310   { 0, NULL }
12311 };
12312
12313 static const per_choice_t ResponseMessage_choice[] = {
12314   { ResponseMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12315   { ResponseMessage_masterSlaveDeterminationAck, &hf_h245_masterSlaveDeterminationAck, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationAck },
12316   { ResponseMessage_masterSlaveDeterminationReject, &hf_h245_masterSlaveDeterminationReject, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationReject },
12317   { ResponseMessage_terminalCapabilitySetAck, &hf_h245_terminalCapabilitySetAck, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetAck },
12318   { ResponseMessage_terminalCapabilitySetReject, &hf_h245_terminalCapabilitySetReject, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetReject },
12319   { ResponseMessage_openLogicalChannelAck, &hf_h245_openLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelAck },
12320   { ResponseMessage_openLogicalChannelReject, &hf_h245_openLogicalChannelReject, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelReject },
12321   { ResponseMessage_closeLogicalChannelAck, &hf_h245_closeLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannelAck },
12322   { ResponseMessage_requestChannelCloseAck, &hf_h245_requestChannelCloseAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseAck },
12323   { ResponseMessage_requestChannelCloseReject, &hf_h245_requestChannelCloseReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseReject },
12324   { ResponseMessage_multiplexEntrySendAck, &hf_h245_multiplexEntrySendAck, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendAck },
12325   { ResponseMessage_multiplexEntrySendReject, &hf_h245_multiplexEntrySendReject, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendReject },
12326   { ResponseMessage_requestMultiplexEntryAck, &hf_h245_requestMultiplexEntryAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryAck },
12327   { ResponseMessage_requestMultiplexEntryReject, &hf_h245_requestMultiplexEntryReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryReject },
12328   { ResponseMessage_requestModeAck, &hf_h245_requestModeAck , ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeAck },
12329   { ResponseMessage_requestModeReject, &hf_h245_requestModeReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeReject },
12330   { ResponseMessage_roundTripDelayResponse, &hf_h245_roundTripDelayResponse, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayResponse },
12331   { ResponseMessage_maintenanceLoopAck, &hf_h245_maintenanceLoopAck, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopAck },
12332   { ResponseMessage_maintenanceLoopReject, &hf_h245_maintenanceLoopReject, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopReject },
12333   { ResponseMessage_communicationModeResponse, &hf_h245_communicationModeResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeResponse },
12334   { ResponseMessage_conferenceResponse, &hf_h245_conferenceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceResponse },
12335   { ResponseMessage_multilinkResponse, &hf_h245_multilinkResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkResponse },
12336   { ResponseMessage_logicalChannelRateAcknowledge, &hf_h245_logicalChannelRateAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateAcknowledge },
12337   { ResponseMessage_logicalChannelRateReject, &hf_h245_logicalChannelRateReject, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateReject },
12338   { ResponseMessage_genericResponse, &hf_h245_genericResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
12339   { 0, NULL, 0, NULL }
12340 };
12341
12342 static int
12343 dissect_h245_ResponseMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12344 #line 398 "./asn1/h245/h245.cnf"
12345   gint32 value;
12346
12347   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12348                                  ett_h245_ResponseMessage, ResponseMessage_choice,
12349                                  &value);
12350
12351   print_info_column(actx->pinfo->cinfo, &value, h245_ResponseMessage_vals, h245_ResponseMessage_short_vals);
12352         col_set_fence(actx->pinfo->cinfo,COL_INFO);
12353
12354         if (h245_pi != NULL){
12355                 /* Add to packet info */
12356                 if ( strlen(h245_pi->frame_label) == 0 ){
12357                    g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_ResponseMessage_short_vals, "UKN"));
12358                 }
12359                 g_strlcat(h245_pi->comment, val_to_str(value, h245_ResponseMessage_vals, "<unknown>"), 50);
12360         }
12361
12362
12363
12364   return offset;
12365 }
12366
12367
12368 static const per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
12369   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
12370 };
12371
12372 static int
12373 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12374   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12375                                    ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
12376
12377   return offset;
12378 }
12379
12380
12381 static const per_sequence_t SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of[1] = {
12382   { &hf_h245_capabilityTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
12383 };
12384
12385 static int
12386 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_) {
12387   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12388                                              ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber, SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of,
12389                                              1, 65535, FALSE);
12390
12391   return offset;
12392 }
12393
12394
12395 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of[1] = {
12396   { &hf_h245_capabilityDescriptorNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
12397 };
12398
12399 static int
12400 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_) {
12401   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12402                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber, SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of,
12403                                              1, 256, FALSE);
12404
12405   return offset;
12406 }
12407
12408
12409 static const per_sequence_t T_specificRequest_sequence[] = {
12410   { &hf_h245_multiplexCapabilityBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12411   { &hf_h245_capabilityTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber },
12412   { &hf_h245_capabilityDescriptorNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber },
12413   { NULL, 0, 0, NULL }
12414 };
12415
12416 static int
12417 dissect_h245_T_specificRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12418   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12419                                    ett_h245_T_specificRequest, T_specificRequest_sequence);
12420
12421   return offset;
12422 }
12423
12424
12425 static const value_string h245_SendTerminalCapabilitySet_vals[] = {
12426   {   0, "specificRequest" },
12427   {   1, "genericRequest" },
12428   { 0, NULL }
12429 };
12430
12431 static const per_choice_t SendTerminalCapabilitySet_choice[] = {
12432   {   0, &hf_h245_specificRequest, ASN1_EXTENSION_ROOT    , dissect_h245_T_specificRequest },
12433   {   1, &hf_h245_genericRequestFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12434   { 0, NULL, 0, NULL }
12435 };
12436
12437 static int
12438 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12439   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12440                                  ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice,
12441                                  NULL);
12442
12443   return offset;
12444 }
12445
12446
12447 static const per_sequence_t T_encryptionAlgorithmID_sequence[] = {
12448   { &hf_h245_h233AlgorithmIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12449   { &hf_h245_associatedAlgorithm, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
12450   { NULL, 0, 0, NULL }
12451 };
12452
12453 static int
12454 dissect_h245_T_encryptionAlgorithmID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12455   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12456                                    ett_h245_T_encryptionAlgorithmID, T_encryptionAlgorithmID_sequence);
12457
12458   return offset;
12459 }
12460
12461
12462 static const value_string h245_EncryptionCommand_vals[] = {
12463   {   0, "encryptionSE" },
12464   {   1, "encryptionIVRequest" },
12465   {   2, "encryptionAlgorithmID" },
12466   { 0, NULL }
12467 };
12468
12469 static const per_choice_t EncryptionCommand_choice[] = {
12470   {   0, &hf_h245_encryptionSE   , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING },
12471   {   1, &hf_h245_encryptionIVRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12472   {   2, &hf_h245_encryptionAlgorithmID, ASN1_EXTENSION_ROOT    , dissect_h245_T_encryptionAlgorithmID },
12473   { 0, NULL, 0, NULL }
12474 };
12475
12476 static int
12477 dissect_h245_EncryptionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12478   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12479                                  ett_h245_EncryptionCommand, EncryptionCommand_choice,
12480                                  NULL);
12481
12482   return offset;
12483 }
12484
12485
12486 static const value_string h245_Scope_vals[] = {
12487   {   0, "logicalChannelNumber" },
12488   {   1, "resourceID" },
12489   {   2, "wholeMultiplex" },
12490   { 0, NULL }
12491 };
12492
12493 static const per_choice_t Scope_choice[] = {
12494   {   0, &hf_h245_logicalChannelNumber, ASN1_NO_EXTENSIONS     , dissect_h245_LogicalChannelNumber },
12495   {   1, &hf_h245_resourceID     , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_65535 },
12496   {   2, &hf_h245_wholeMultiplex , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12497   { 0, NULL, 0, NULL }
12498 };
12499
12500 static int
12501 dissect_h245_Scope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12502   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12503                                  ett_h245_Scope, Scope_choice,
12504                                  NULL);
12505
12506   return offset;
12507 }
12508
12509
12510 static const value_string h245_Restriction_vals[] = {
12511   {   0, "maximumBitRate" },
12512   {   1, "noRestriction" },
12513   { 0, NULL }
12514 };
12515
12516 static const per_choice_t Restriction_choice[] = {
12517   {   0, &hf_h245_res_maximumBitRate, ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_16777215 },
12518   {   1, &hf_h245_noRestriction  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12519   { 0, NULL, 0, NULL }
12520 };
12521
12522 static int
12523 dissect_h245_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12524   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12525                                  ett_h245_Restriction, Restriction_choice,
12526                                  NULL);
12527
12528   return offset;
12529 }
12530
12531
12532 static const per_sequence_t FlowControlCommand_sequence[] = {
12533   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
12534   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
12535   { NULL, 0, 0, NULL }
12536 };
12537
12538 static int
12539 dissect_h245_FlowControlCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12540   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12541                                    ett_h245_FlowControlCommand, FlowControlCommand_sequence);
12542
12543   return offset;
12544 }
12545
12546
12547 static const value_string h245_T_gstnOptions_vals[] = {
12548   {   0, "telephonyMode" },
12549   {   1, "v8bis" },
12550   {   2, "v34DSVD" },
12551   {   3, "v34DuplexFAX" },
12552   {   4, "v34H324" },
12553   { 0, NULL }
12554 };
12555
12556 static const per_choice_t T_gstnOptions_choice[] = {
12557   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12558   {   1, &hf_h245_v8bis          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12559   {   2, &hf_h245_v34DSVD        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12560   {   3, &hf_h245_v34DuplexFAX   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12561   {   4, &hf_h245_v34H324        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12562   { 0, NULL, 0, NULL }
12563 };
12564
12565 static int
12566 dissect_h245_T_gstnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12567   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12568                                  ett_h245_T_gstnOptions, T_gstnOptions_choice,
12569                                  NULL);
12570
12571   return offset;
12572 }
12573
12574
12575 static const value_string h245_T_isdnOptions_vals[] = {
12576   {   0, "telephonyMode" },
12577   {   1, "v140" },
12578   {   2, "terminalOnHold" },
12579   { 0, NULL }
12580 };
12581
12582 static const per_choice_t T_isdnOptions_choice[] = {
12583   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12584   {   1, &hf_h245_v140           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12585   {   2, &hf_h245_terminalOnHold , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12586   { 0, NULL, 0, NULL }
12587 };
12588
12589 static int
12590 dissect_h245_T_isdnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12591   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12592                                  ett_h245_T_isdnOptions, T_isdnOptions_choice,
12593                                  NULL);
12594
12595   return offset;
12596 }
12597
12598
12599 static const value_string h245_EndSessionCommand_vals[] = {
12600   {   0, "nonStandard" },
12601   {   1, "disconnect" },
12602   {   2, "gstnOptions" },
12603   {   3, "isdnOptions" },
12604   {   4, "genericInformation" },
12605   { 0, NULL }
12606 };
12607
12608 static const per_choice_t EndSessionCommand_choice[] = {
12609   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
12610   {   1, &hf_h245_disconnect     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12611   {   2, &hf_h245_gstnOptions    , ASN1_EXTENSION_ROOT    , dissect_h245_T_gstnOptions },
12612   {   3, &hf_h245_isdnOptions    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_isdnOptions },
12613   {   4, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
12614   { 0, NULL, 0, NULL }
12615 };
12616
12617 static int
12618 dissect_h245_EndSessionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12619   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12620                                  ett_h245_EndSessionCommand, EndSessionCommand_choice,
12621                                  NULL);
12622
12623   return offset;
12624 }
12625
12626
12627
12628 static int
12629 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_) {
12630   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12631                                                             0U, 17U, NULL, FALSE);
12632
12633   return offset;
12634 }
12635
12636
12637
12638 static int
12639 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_) {
12640   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12641                                                             1U, 18U, NULL, FALSE);
12642
12643   return offset;
12644 }
12645
12646
12647 static const per_sequence_t T_videoFastUpdateGOB_sequence[] = {
12648   { &hf_h245_firstGOB       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_17 },
12649   { &hf_h245_numberOfGOBs   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_18 },
12650   { NULL, 0, 0, NULL }
12651 };
12652
12653 static int
12654 dissect_h245_T_videoFastUpdateGOB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12655   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12656                                    ett_h245_T_videoFastUpdateGOB, T_videoFastUpdateGOB_sequence);
12657
12658   return offset;
12659 }
12660
12661
12662
12663 static int
12664 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_) {
12665   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12666                                                             0U, 31U, NULL, FALSE);
12667
12668   return offset;
12669 }
12670
12671
12672
12673 static int
12674 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_) {
12675   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12676                                                             1U, 8192U, NULL, FALSE);
12677
12678   return offset;
12679 }
12680
12681
12682 static const per_sequence_t T_videoFastUpdateMB_sequence[] = {
12683   { &hf_h245_firstGOB_0_255 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12684   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_8192 },
12685   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
12686   { NULL, 0, 0, NULL }
12687 };
12688
12689 static int
12690 dissect_h245_T_videoFastUpdateMB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12691   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12692                                    ett_h245_T_videoFastUpdateMB, T_videoFastUpdateMB_sequence);
12693
12694   return offset;
12695 }
12696
12697
12698 static const per_sequence_t KeyProtectionMethod_sequence[] = {
12699   { &hf_h245_secureChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12700   { &hf_h245_sharedSecret   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12701   { &hf_h245_certProtectedKey, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12702   { NULL, 0, 0, NULL }
12703 };
12704
12705 static int
12706 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12707   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12708                                    ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
12709
12710   return offset;
12711 }
12712
12713
12714 static const per_sequence_t EncryptionUpdateRequest_sequence[] = {
12715   { &hf_h245_keyProtectionMethod, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_KeyProtectionMethod },
12716   { &hf_h245_synchFlag      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12717   { NULL, 0, 0, NULL }
12718 };
12719
12720 static int
12721 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12722   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12723                                    ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
12724
12725   return offset;
12726 }
12727
12728
12729 static const value_string h245_T_repeatCount_vals[] = {
12730   {   0, "doOneProgression" },
12731   {   1, "doContinuousProgressions" },
12732   {   2, "doOneIndependentProgression" },
12733   {   3, "doContinuousIndependentProgressions" },
12734   { 0, NULL }
12735 };
12736
12737 static const per_choice_t T_repeatCount_choice[] = {
12738   {   0, &hf_h245_doOneProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12739   {   1, &hf_h245_doContinuousProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12740   {   2, &hf_h245_doOneIndependentProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12741   {   3, &hf_h245_doContinuousIndependentProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12742   { 0, NULL, 0, NULL }
12743 };
12744
12745 static int
12746 dissect_h245_T_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12747   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12748                                  ett_h245_T_repeatCount, T_repeatCount_choice,
12749                                  NULL);
12750
12751   return offset;
12752 }
12753
12754
12755 static const per_sequence_t T_progressiveRefinementStart_sequence[] = {
12756   { &hf_h245_repeatCount    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_repeatCount },
12757   { NULL, 0, 0, NULL }
12758 };
12759
12760 static int
12761 dissect_h245_T_progressiveRefinementStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12762   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12763                                    ett_h245_T_progressiveRefinementStart, T_progressiveRefinementStart_sequence);
12764
12765   return offset;
12766 }
12767
12768
12769
12770 static int
12771 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_) {
12772   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12773                                                             1U, 9216U, NULL, FALSE);
12774
12775   return offset;
12776 }
12777
12778
12779 static const per_sequence_t T_videoBadMBs_sequence[] = {
12780   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12781   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12782   { &hf_h245_temporalReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
12783   { NULL, 0, 0, NULL }
12784 };
12785
12786 static int
12787 dissect_h245_T_videoBadMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12788   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12789                                    ett_h245_T_videoBadMBs, T_videoBadMBs_sequence);
12790
12791   return offset;
12792 }
12793
12794
12795 static const value_string h245_PictureReference_vals[] = {
12796   {   0, "pictureNumber" },
12797   {   1, "longTermPictureIndex" },
12798   { 0, NULL }
12799 };
12800
12801 static const per_choice_t PictureReference_choice[] = {
12802   {   0, &hf_h245_pictureNumber  , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_1023 },
12803   {   1, &hf_h245_longTermPictureIndex, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_255 },
12804   { 0, NULL, 0, NULL }
12805 };
12806
12807 static int
12808 dissect_h245_PictureReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12809   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12810                                  ett_h245_PictureReference, PictureReference_choice,
12811                                  NULL);
12812
12813   return offset;
12814 }
12815
12816
12817 static const per_sequence_t SEQUENCE_OF_PictureReference_sequence_of[1] = {
12818   { &hf_h245_lostPicture_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12819 };
12820
12821 static int
12822 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_) {
12823   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
12824                                       ett_h245_SEQUENCE_OF_PictureReference, SEQUENCE_OF_PictureReference_sequence_of);
12825
12826   return offset;
12827 }
12828
12829
12830 static const per_sequence_t T_lostPartialPicture_sequence[] = {
12831   { &hf_h245_pictureReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12832   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12833   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12834   { NULL, 0, 0, NULL }
12835 };
12836
12837 static int
12838 dissect_h245_T_lostPartialPicture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12839   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12840                                    ett_h245_T_lostPartialPicture, T_lostPartialPicture_sequence);
12841
12842   return offset;
12843 }
12844
12845
12846 static const per_sequence_t T_encryptionUpdateCommand_sequence[] = {
12847   { &hf_h245_encryptionSync , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionSync },
12848   { &hf_h245_multiplePayloadStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplePayloadStream },
12849   { NULL, 0, 0, NULL }
12850 };
12851
12852 static int
12853 dissect_h245_T_encryptionUpdateCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12854   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12855                                    ett_h245_T_encryptionUpdateCommand, T_encryptionUpdateCommand_sequence);
12856
12857   return offset;
12858 }
12859
12860
12861 static const per_sequence_t T_encryptionUpdateAck_sequence[] = {
12862   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
12863   { NULL, 0, 0, NULL }
12864 };
12865
12866 static int
12867 dissect_h245_T_encryptionUpdateAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12868   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12869                                    ett_h245_T_encryptionUpdateAck, T_encryptionUpdateAck_sequence);
12870
12871   return offset;
12872 }
12873
12874
12875 static const value_string h245_Mc_type_vals[] = {
12876   {   0, "equaliseDelay" },
12877   {   1, "zeroDelay" },
12878   {   2, "multipointModeCommand" },
12879   {   3, "cancelMultipointModeCommand" },
12880   {   4, "videoFreezePicture" },
12881   {   5, "videoFastUpdatePicture" },
12882   {   6, "videoFastUpdateGOB" },
12883   {   7, "videoTemporalSpatialTradeOff" },
12884   {   8, "videoSendSyncEveryGOB" },
12885   {   9, "videoSendSyncEveryGOBCancel" },
12886   {  10, "videoFastUpdateMB" },
12887   {  11, "maxH223MUXPDUsize" },
12888   {  12, "encryptionUpdate" },
12889   {  13, "encryptionUpdateRequest" },
12890   {  14, "switchReceiveMediaOff" },
12891   {  15, "switchReceiveMediaOn" },
12892   {  16, "progressiveRefinementStart" },
12893   {  17, "progressiveRefinementAbortOne" },
12894   {  18, "progressiveRefinementAbortContinuous" },
12895   {  19, "videoBadMBs" },
12896   {  20, "lostPicture" },
12897   {  21, "lostPartialPicture" },
12898   {  22, "recoveryReferencePicture" },
12899   {  23, "encryptionUpdateCommand" },
12900   {  24, "encryptionUpdateAck" },
12901   { 0, NULL }
12902 };
12903
12904 static const per_choice_t Mc_type_choice[] = {
12905   {   0, &hf_h245_equaliseDelay  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12906   {   1, &hf_h245_zeroDelay      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12907   {   2, &hf_h245_multipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12908   {   3, &hf_h245_cancelMultipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12909   {   4, &hf_h245_videoFreezePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12910   {   5, &hf_h245_videoFastUpdatePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12911   {   6, &hf_h245_videoFastUpdateGOB, ASN1_EXTENSION_ROOT    , dissect_h245_T_videoFastUpdateGOB },
12912   {   7, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
12913   {   8, &hf_h245_videoSendSyncEveryGOB, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12914   {   9, &hf_h245_videoSendSyncEveryGOBCancel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12915   {  10, &hf_h245_videoFastUpdateMB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoFastUpdateMB },
12916   {  11, &hf_h245_maxH223MUXPDUsize, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_65535 },
12917   {  12, &hf_h245_encryptionUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionSync },
12918   {  13, &hf_h245_encryptionUpdateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionUpdateRequest },
12919   {  14, &hf_h245_switchReceiveMediaOff, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12920   {  15, &hf_h245_switchReceiveMediaOn, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12921   {  16, &hf_h245_progressiveRefinementStart, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_progressiveRefinementStart },
12922   {  17, &hf_h245_progressiveRefinementAbortOne, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12923   {  18, &hf_h245_progressiveRefinementAbortContinuous, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12924   {  19, &hf_h245_videoBadMBs    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoBadMBs },
12925   {  20, &hf_h245_lostPicture    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12926   {  21, &hf_h245_lostPartialPicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_lostPartialPicture },
12927   {  22, &hf_h245_recoveryReferencePicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12928   {  23, &hf_h245_encryptionUpdateCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateCommand },
12929   {  24, &hf_h245_encryptionUpdateAck, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateAck },
12930   { 0, NULL, 0, NULL }
12931 };
12932
12933 static int
12934 dissect_h245_Mc_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12935   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12936                                  ett_h245_Mc_type, Mc_type_choice,
12937                                  NULL);
12938
12939   return offset;
12940 }
12941
12942
12943 static const value_string h245_EncryptionUpdateDirection_vals[] = {
12944   {   0, "masterToSlave" },
12945   {   1, "slaveToMaster" },
12946   { 0, NULL }
12947 };
12948
12949 static const per_choice_t EncryptionUpdateDirection_choice[] = {
12950   {   0, &hf_h245_masterToSlave  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12951   {   1, &hf_h245_slaveToMaster  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12952   { 0, NULL, 0, NULL }
12953 };
12954
12955 static int
12956 dissect_h245_EncryptionUpdateDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12957   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12958                                  ett_h245_EncryptionUpdateDirection, EncryptionUpdateDirection_choice,
12959                                  NULL);
12960
12961   return offset;
12962 }
12963
12964
12965 static const per_sequence_t MiscellaneousCommand_sequence[] = {
12966   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12967   { &hf_h245_mc_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mc_type },
12968   { &hf_h245_direction      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionUpdateDirection },
12969   { NULL, 0, 0, NULL }
12970 };
12971
12972 static int
12973 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12974   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12975                                    ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
12976
12977   return offset;
12978 }
12979
12980
12981 static const per_sequence_t CommunicationModeCommand_sequence[] = {
12982   { &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
12983   { NULL, 0, 0, NULL }
12984 };
12985
12986 static int
12987 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12988   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12989                                    ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
12990
12991   return offset;
12992 }
12993
12994
12995 static const per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
12996   { &hf_h245_conferenceIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
12997   { NULL, 0, 0, NULL }
12998 };
12999
13000 static int
13001 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13002   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13003                                    ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
13004
13005   return offset;
13006 }
13007
13008
13009 static const value_string h245_ConferenceCommand_vals[] = {
13010   {   0, "broadcastMyLogicalChannel" },
13011   {   1, "cancelBroadcastMyLogicalChannel" },
13012   {   2, "makeTerminalBroadcaster" },
13013   {   3, "cancelMakeTerminalBroadcaster" },
13014   {   4, "sendThisSource" },
13015   {   5, "cancelSendThisSource" },
13016   {   6, "dropConference" },
13017   {   7, "substituteConferenceIDCommand" },
13018   { 0, NULL }
13019 };
13020
13021 static const per_choice_t ConferenceCommand_choice[] = {
13022   {   0, &hf_h245_broadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
13023   {   1, &hf_h245_cancelBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
13024   {   2, &hf_h245_makeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13025   {   3, &hf_h245_cancelMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13026   {   4, &hf_h245_sendThisSource , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13027   {   5, &hf_h245_cancelSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13028   {   6, &hf_h245_dropConference , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13029   {   7, &hf_h245_substituteConferenceIDCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SubstituteConferenceIDCommand },
13030   { 0, NULL, 0, NULL }
13031 };
13032
13033 static int
13034 dissect_h245_ConferenceCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13035   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13036                                  ett_h245_ConferenceCommand, ConferenceCommand_choice,
13037                                  NULL);
13038
13039   return offset;
13040 }
13041
13042
13043 static const value_string h245_T_h223ModeChange_vals[] = {
13044   {   0, "toLevel0" },
13045   {   1, "toLevel1" },
13046   {   2, "toLevel2" },
13047   {   3, "toLevel2withOptionalHeader" },
13048   { 0, NULL }
13049 };
13050
13051 static const per_choice_t T_h223ModeChange_choice[] = {
13052   {   0, &hf_h245_toLevel0       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13053   {   1, &hf_h245_toLevel1       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13054   {   2, &hf_h245_toLevel2       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13055   {   3, &hf_h245_toLevel2withOptionalHeader, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13056   { 0, NULL, 0, NULL }
13057 };
13058
13059 static int
13060 dissect_h245_T_h223ModeChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13061   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13062                                  ett_h245_T_h223ModeChange, T_h223ModeChange_choice,
13063                                  NULL);
13064
13065   return offset;
13066 }
13067
13068
13069 static const value_string h245_T_h223AnnexADoubleFlag_vals[] = {
13070   {   0, "start" },
13071   {   1, "stop" },
13072   { 0, NULL }
13073 };
13074
13075 static const per_choice_t T_h223AnnexADoubleFlag_choice[] = {
13076   {   0, &hf_h245_start          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13077   {   1, &hf_h245_stop           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13078   { 0, NULL, 0, NULL }
13079 };
13080
13081 static int
13082 dissect_h245_T_h223AnnexADoubleFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13083   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13084                                  ett_h245_T_h223AnnexADoubleFlag, T_h223AnnexADoubleFlag_choice,
13085                                  NULL);
13086
13087   return offset;
13088 }
13089
13090
13091 static const value_string h245_H223MultiplexReconfiguration_vals[] = {
13092   {   0, "h223ModeChange" },
13093   {   1, "h223AnnexADoubleFlag" },
13094   { 0, NULL }
13095 };
13096
13097 static const per_choice_t H223MultiplexReconfiguration_choice[] = {
13098   {   0, &hf_h245_h223ModeChange , ASN1_EXTENSION_ROOT    , dissect_h245_T_h223ModeChange },
13099   {   1, &hf_h245_h223AnnexADoubleFlag, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223AnnexADoubleFlag },
13100   { 0, NULL, 0, NULL }
13101 };
13102
13103 static int
13104 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13105   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13106                                  ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice,
13107                                  NULL);
13108
13109   return offset;
13110 }
13111
13112
13113 static const value_string h245_Cmd_clockRecovery_vals[] = {
13114   {   0, "nullClockRecovery" },
13115   {   1, "srtsClockRecovery" },
13116   {   2, "adaptiveClockRecovery" },
13117   { 0, NULL }
13118 };
13119
13120 static const per_choice_t Cmd_clockRecovery_choice[] = {
13121   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13122   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13123   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13124   { 0, NULL, 0, NULL }
13125 };
13126
13127 static int
13128 dissect_h245_Cmd_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13129   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13130                                  ett_h245_Cmd_clockRecovery, Cmd_clockRecovery_choice,
13131                                  NULL);
13132
13133   return offset;
13134 }
13135
13136
13137 static const value_string h245_Cmd_errorCorrection_vals[] = {
13138   {   0, "nullErrorCorrection" },
13139   {   1, "longInterleaver" },
13140   {   2, "shortInterleaver" },
13141   {   3, "errorCorrectionOnly" },
13142   { 0, NULL }
13143 };
13144
13145 static const per_choice_t Cmd_errorCorrection_choice[] = {
13146   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13147   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13148   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13149   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13150   { 0, NULL, 0, NULL }
13151 };
13152
13153 static int
13154 dissect_h245_Cmd_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13155   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13156                                  ett_h245_Cmd_errorCorrection, Cmd_errorCorrection_choice,
13157                                  NULL);
13158
13159   return offset;
13160 }
13161
13162
13163 static const per_sequence_t Cmd_aal1_sequence[] = {
13164   { &hf_h245_cmd_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_clockRecovery },
13165   { &hf_h245_cmd_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_errorCorrection },
13166   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13167   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13168   { NULL, 0, 0, NULL }
13169 };
13170
13171 static int
13172 dissect_h245_Cmd_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13173   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13174                                    ett_h245_Cmd_aal1, Cmd_aal1_sequence);
13175
13176   return offset;
13177 }
13178
13179
13180 static const per_sequence_t Cmd_aal5_sequence[] = {
13181   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13182   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13183   { NULL, 0, 0, NULL }
13184 };
13185
13186 static int
13187 dissect_h245_Cmd_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13188   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13189                                    ett_h245_Cmd_aal5, Cmd_aal5_sequence);
13190
13191   return offset;
13192 }
13193
13194
13195 static const value_string h245_Cmd_aal_vals[] = {
13196   {   0, "aal1" },
13197   {   1, "aal5" },
13198   { 0, NULL }
13199 };
13200
13201 static const per_choice_t Cmd_aal_choice[] = {
13202   {   0, &hf_h245_cmd_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal1 },
13203   {   1, &hf_h245_cmd_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal5 },
13204   { 0, NULL, 0, NULL }
13205 };
13206
13207 static int
13208 dissect_h245_Cmd_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13209   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13210                                  ett_h245_Cmd_aal, Cmd_aal_choice,
13211                                  NULL);
13212
13213   return offset;
13214 }
13215
13216
13217 static const value_string h245_Cmd_multiplex_vals[] = {
13218   {   0, "noMultiplex" },
13219   {   1, "transportStream" },
13220   {   2, "programStream" },
13221   { 0, NULL }
13222 };
13223
13224 static const per_choice_t Cmd_multiplex_choice[] = {
13225   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13226   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13227   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13228   { 0, NULL, 0, NULL }
13229 };
13230
13231 static int
13232 dissect_h245_Cmd_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13233   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13234                                  ett_h245_Cmd_multiplex, Cmd_multiplex_choice,
13235                                  NULL);
13236
13237   return offset;
13238 }
13239
13240
13241 static const value_string h245_CmdR_multiplex_vals[] = {
13242   {   0, "noMultiplex" },
13243   {   1, "transportStream" },
13244   {   2, "programStream" },
13245   { 0, NULL }
13246 };
13247
13248 static const per_choice_t CmdR_multiplex_choice[] = {
13249   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13250   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13251   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13252   { 0, NULL, 0, NULL }
13253 };
13254
13255 static int
13256 dissect_h245_CmdR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13257   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13258                                  ett_h245_CmdR_multiplex, CmdR_multiplex_choice,
13259                                  NULL);
13260
13261   return offset;
13262 }
13263
13264
13265 static const per_sequence_t Cmd_reverseParameters_sequence[] = {
13266   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13267   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13268   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13269   { &hf_h245_cmdr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CmdR_multiplex },
13270   { NULL, 0, 0, NULL }
13271 };
13272
13273 static int
13274 dissect_h245_Cmd_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13275   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13276                                    ett_h245_Cmd_reverseParameters, Cmd_reverseParameters_sequence);
13277
13278   return offset;
13279 }
13280
13281
13282 static const per_sequence_t NewATMVCCommand_sequence[] = {
13283   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13284   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13285   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13286   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13287   { &hf_h245_cmd_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_aal },
13288   { &hf_h245_cmd_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_multiplex },
13289   { &hf_h245_cmd_reverseParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_reverseParameters },
13290   { NULL, 0, 0, NULL }
13291 };
13292
13293 static int
13294 dissect_h245_NewATMVCCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13295   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13296                                    ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
13297
13298   return offset;
13299 }
13300
13301
13302 static const value_string h245_T_status_vals[] = {
13303   {   0, "synchronized" },
13304   {   1, "reconfiguration" },
13305   { 0, NULL }
13306 };
13307
13308 static const per_choice_t T_status_choice[] = {
13309   {   0, &hf_h245_synchronized   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13310   {   1, &hf_h245_reconfiguration, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13311   { 0, NULL, 0, NULL }
13312 };
13313
13314 static int
13315 dissect_h245_T_status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13316   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13317                                  ett_h245_T_status, T_status_choice,
13318                                  NULL);
13319
13320   return offset;
13321 }
13322
13323
13324 static const per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
13325   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13326   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13327   { &hf_h245_status         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_status },
13328   { NULL, 0, 0, NULL }
13329 };
13330
13331 static int
13332 dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13333   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13334                                    ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
13335
13336   return offset;
13337 }
13338
13339
13340 static const value_string h245_CommandMessage_vals[] = {
13341   { CommandMessage_nonStandard, "nonStandard" },
13342   { CommandMessage_maintenanceLoopOffCommand, "maintenanceLoopOffCommand" },
13343   { CommandMessage_sendTerminalCapabilitySet, "sendTerminalCapabilitySet" },
13344   { CommandMessage_encryptionCommand, "encryptionCommand" },
13345   { CommandMessage_flowControlCommand, "flowControlCommand" },
13346   { CommandMessage_endSessionCommand, "endSessionCommand" },
13347   { CommandMessage_miscellaneousCommand, "miscellaneousCommand" },
13348   { CommandMessage_communicationModeCommand, "communicationModeCommand" },
13349   { CommandMessage_conferenceCommand, "conferenceCommand" },
13350   { CommandMessage_h223MultiplexReconfiguration, "h223MultiplexReconfiguration" },
13351   { CommandMessage_newATMVCCommand, "newATMVCCommand" },
13352   { CommandMessage_mobileMultilinkReconfigurationCommand, "mobileMultilinkReconfigurationCommand" },
13353   { CommandMessage_genericCommand, "genericCommand" },
13354   { 0, NULL }
13355 };
13356
13357 static const per_choice_t CommandMessage_choice[] = {
13358   { CommandMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
13359   { CommandMessage_maintenanceLoopOffCommand, &hf_h245_maintenanceLoopOffCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopOffCommand },
13360   { CommandMessage_sendTerminalCapabilitySet, &hf_h245_sendTerminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_SendTerminalCapabilitySet },
13361   { CommandMessage_encryptionCommand, &hf_h245_encryptionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionCommand },
13362   { CommandMessage_flowControlCommand, &hf_h245_flowControlCommand, ASN1_EXTENSION_ROOT    , dissect_h245_FlowControlCommand },
13363   { CommandMessage_endSessionCommand, &hf_h245_endSessionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EndSessionCommand },
13364   { CommandMessage_miscellaneousCommand, &hf_h245_miscellaneousCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousCommand },
13365   { CommandMessage_communicationModeCommand, &hf_h245_communicationModeCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeCommand },
13366   { CommandMessage_conferenceCommand, &hf_h245_conferenceCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCommand },
13367   { CommandMessage_h223MultiplexReconfiguration, &hf_h245_h223MultiplexReconfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223MultiplexReconfiguration },
13368   { CommandMessage_newATMVCCommand, &hf_h245_newATMVCCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NewATMVCCommand },
13369   { CommandMessage_mobileMultilinkReconfigurationCommand, &hf_h245_mobileMultilinkReconfigurationCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationCommand },
13370   { CommandMessage_genericCommand, &hf_h245_genericCommand , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
13371   { 0, NULL, 0, NULL }
13372 };
13373
13374 static int
13375 dissect_h245_CommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13376 #line 433 "./asn1/h245/h245.cnf"
13377   gint32 value;
13378
13379   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13380                                  ett_h245_CommandMessage, CommandMessage_choice,
13381                                  &value);
13382
13383   print_info_column(actx->pinfo->cinfo, &value, h245_CommandMessage_vals, h245_CommandMessage_short_vals);
13384         col_set_fence(actx->pinfo->cinfo,COL_INFO);
13385
13386     /* Add to packet info */
13387     if (h245_pi != NULL){
13388       if ( strlen(h245_pi->frame_label) == 0 ){
13389         g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_CommandMessage_short_vals, "UKN"));
13390       }
13391           g_strlcat(h245_pi->comment, val_to_str(value, h245_CommandMessage_vals, "<unknown>"), 50);
13392     }
13393
13394
13395
13396   return offset;
13397 }
13398
13399
13400 static const value_string h245_FunctionNotUnderstood_vals[] = {
13401   {   0, "request" },
13402   {   1, "response" },
13403   {   2, "command" },
13404   { 0, NULL }
13405 };
13406
13407 static const per_choice_t FunctionNotUnderstood_choice[] = {
13408   {   0, &hf_h245_request        , ASN1_NO_EXTENSIONS     , dissect_h245_RequestMessage },
13409   {   1, &hf_h245_response       , ASN1_NO_EXTENSIONS     , dissect_h245_ResponseMessage },
13410   {   2, &hf_h245_command        , ASN1_NO_EXTENSIONS     , dissect_h245_CommandMessage },
13411   { 0, NULL, 0, NULL }
13412 };
13413
13414 static int
13415 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13416   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13417                                  ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice,
13418                                  NULL);
13419
13420   return offset;
13421 }
13422
13423
13424 static const per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
13425   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
13426 };
13427
13428 static int
13429 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13430   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13431                                    ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
13432
13433 #line 547 "./asn1/h245/h245.cnf"
13434
13435 if (h245_pi != NULL)
13436   h245_pi->msg_type = H245_MastSlvDetRls;
13437
13438   return offset;
13439 }
13440
13441
13442 static const per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
13443   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13444   { NULL, 0, 0, NULL }
13445 };
13446
13447 static int
13448 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13449   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13450                                    ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
13451
13452 #line 559 "./asn1/h245/h245.cnf"
13453
13454 if (h245_pi != NULL)
13455   h245_pi->msg_type = H245_TermCapSetRls;
13456
13457   return offset;
13458 }
13459
13460
13461 static const per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
13462   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13463   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13464   { NULL, 0, 0, NULL }
13465 };
13466
13467 static int
13468 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13469   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13470                                    ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
13471
13472 #line 523 "./asn1/h245/h245.cnf"
13473
13474 if (h245_pi != NULL)
13475   h245_pi->msg_type = H245_OpenLogChnCnf;
13476
13477   return offset;
13478 }
13479
13480
13481 static const per_sequence_t RequestChannelCloseRelease_sequence[] = {
13482   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13483   { NULL, 0, 0, NULL }
13484 };
13485
13486 static int
13487 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13488   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13489                                    ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
13490
13491   return offset;
13492 }
13493
13494
13495 static const per_sequence_t MultiplexEntrySendRelease_sequence[] = {
13496   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13497   { NULL, 0, 0, NULL }
13498 };
13499
13500 static int
13501 dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13502   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13503                                    ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
13504
13505   return offset;
13506 }
13507
13508
13509 static const per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
13510   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13511   { NULL, 0, 0, NULL }
13512 };
13513
13514 static int
13515 dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13516   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13517                                    ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
13518
13519   return offset;
13520 }
13521
13522
13523 static const per_sequence_t RequestModeRelease_sequence[] = {
13524   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
13525 };
13526
13527 static int
13528 dissect_h245_RequestModeRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13529   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13530                                    ett_h245_RequestModeRelease, RequestModeRelease_sequence);
13531
13532   return offset;
13533 }
13534
13535
13536 static const per_sequence_t T_videoNotDecodedMBs_sequence[] = {
13537   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13538   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13539   { &hf_h245_temporalReference_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13540   { NULL, 0, 0, NULL }
13541 };
13542
13543 static int
13544 dissect_h245_T_videoNotDecodedMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13545   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13546                                    ett_h245_T_videoNotDecodedMBs, T_videoNotDecodedMBs_sequence);
13547
13548   return offset;
13549 }
13550
13551
13552 static const value_string h245_Mi_type_vals[] = {
13553   {   0, "logicalChannelActive" },
13554   {   1, "logicalChannelInactive" },
13555   {   2, "multipointConference" },
13556   {   3, "cancelMultipointConference" },
13557   {   4, "multipointZeroComm" },
13558   {   5, "cancelMultipointZeroComm" },
13559   {   6, "multipointSecondaryStatus" },
13560   {   7, "cancelMultipointSecondaryStatus" },
13561   {   8, "videoIndicateReadyToActivate" },
13562   {   9, "videoTemporalSpatialTradeOff" },
13563   {  10, "videoNotDecodedMBs" },
13564   {  11, "transportCapability" },
13565   { 0, NULL }
13566 };
13567
13568 static const per_choice_t Mi_type_choice[] = {
13569   {   0, &hf_h245_logicalChannelActive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13570   {   1, &hf_h245_logicalChannelInactive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13571   {   2, &hf_h245_multipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13572   {   3, &hf_h245_cancelMultipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13573   {   4, &hf_h245_multipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13574   {   5, &hf_h245_cancelMultipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13575   {   6, &hf_h245_multipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13576   {   7, &hf_h245_cancelMultipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13577   {   8, &hf_h245_videoIndicateReadyToActivate, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13578   {   9, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
13579   {  10, &hf_h245_videoNotDecodedMBs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoNotDecodedMBs },
13580   {  11, &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TransportCapability },
13581   { 0, NULL, 0, NULL }
13582 };
13583
13584 static int
13585 dissect_h245_Mi_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13586   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13587                                  ett_h245_Mi_type, Mi_type_choice,
13588                                  NULL);
13589
13590   return offset;
13591 }
13592
13593
13594 static const per_sequence_t MiscellaneousIndication_sequence[] = {
13595   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13596   { &hf_h245_mi_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mi_type },
13597   { NULL, 0, 0, NULL }
13598 };
13599
13600 static int
13601 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13602   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13603                                    ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
13604
13605   return offset;
13606 }
13607
13608
13609
13610 static int
13611 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_) {
13612   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13613                                                             0U, 3U, NULL, FALSE);
13614
13615   return offset;
13616 }
13617
13618
13619
13620 static int
13621 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_) {
13622   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13623                                                             0U, 7U, NULL, FALSE);
13624
13625   return offset;
13626 }
13627
13628
13629 static const per_sequence_t JitterIndication_sequence[] = {
13630   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
13631   { &hf_h245_estimatedReceivedJitterMantissa, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_3 },
13632   { &hf_h245_estimatedReceivedJitterExponent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_7 },
13633   { &hf_h245_skippedFrameCount, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
13634   { &hf_h245_additionalDecoderBuffer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
13635   { NULL, 0, 0, NULL }
13636 };
13637
13638 static int
13639 dissect_h245_JitterIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13640   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13641                                    ett_h245_JitterIndication, JitterIndication_sequence);
13642
13643   return offset;
13644 }
13645
13646
13647 static const per_sequence_t H223SkewIndication_sequence[] = {
13648   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13649   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13650   { &hf_h245_skew           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
13651   { NULL, 0, 0, NULL }
13652 };
13653
13654 static int
13655 dissect_h245_H223SkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13656   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13657                                    ett_h245_H223SkewIndication, H223SkewIndication_sequence);
13658
13659   return offset;
13660 }
13661
13662
13663 static const value_string h245_Ind_clockRecovery_vals[] = {
13664   {   0, "nullClockRecovery" },
13665   {   1, "srtsClockRecovery" },
13666   {   2, "adaptiveClockRecovery" },
13667   { 0, NULL }
13668 };
13669
13670 static const per_choice_t Ind_clockRecovery_choice[] = {
13671   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13672   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13673   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13674   { 0, NULL, 0, NULL }
13675 };
13676
13677 static int
13678 dissect_h245_Ind_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13679   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13680                                  ett_h245_Ind_clockRecovery, Ind_clockRecovery_choice,
13681                                  NULL);
13682
13683   return offset;
13684 }
13685
13686
13687 static const value_string h245_Ind_errorCorrection_vals[] = {
13688   {   0, "nullErrorCorrection" },
13689   {   1, "longInterleaver" },
13690   {   2, "shortInterleaver" },
13691   {   3, "errorCorrectionOnly" },
13692   { 0, NULL }
13693 };
13694
13695 static const per_choice_t Ind_errorCorrection_choice[] = {
13696   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13697   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13698   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13699   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13700   { 0, NULL, 0, NULL }
13701 };
13702
13703 static int
13704 dissect_h245_Ind_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13705   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13706                                  ett_h245_Ind_errorCorrection, Ind_errorCorrection_choice,
13707                                  NULL);
13708
13709   return offset;
13710 }
13711
13712
13713 static const per_sequence_t Ind_aal1_sequence[] = {
13714   { &hf_h245_ind_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_clockRecovery },
13715   { &hf_h245_ind_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_errorCorrection },
13716   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13717   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13718   { NULL, 0, 0, NULL }
13719 };
13720
13721 static int
13722 dissect_h245_Ind_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13723   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13724                                    ett_h245_Ind_aal1, Ind_aal1_sequence);
13725
13726   return offset;
13727 }
13728
13729
13730 static const per_sequence_t Ind_aal5_sequence[] = {
13731   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13732   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13733   { NULL, 0, 0, NULL }
13734 };
13735
13736 static int
13737 dissect_h245_Ind_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13738   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13739                                    ett_h245_Ind_aal5, Ind_aal5_sequence);
13740
13741   return offset;
13742 }
13743
13744
13745 static const value_string h245_Ind_aal_vals[] = {
13746   {   0, "aal1" },
13747   {   1, "aal5" },
13748   { 0, NULL }
13749 };
13750
13751 static const per_choice_t Ind_aal_choice[] = {
13752   {   0, &hf_h245_ind_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal1 },
13753   {   1, &hf_h245_ind_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal5 },
13754   { 0, NULL, 0, NULL }
13755 };
13756
13757 static int
13758 dissect_h245_Ind_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13759   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13760                                  ett_h245_Ind_aal, Ind_aal_choice,
13761                                  NULL);
13762
13763   return offset;
13764 }
13765
13766
13767 static const value_string h245_Ind_multiplex_vals[] = {
13768   {   0, "noMultiplex" },
13769   {   1, "transportStream" },
13770   {   2, "programStream" },
13771   { 0, NULL }
13772 };
13773
13774 static const per_choice_t Ind_multiplex_choice[] = {
13775   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13776   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13777   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13778   { 0, NULL, 0, NULL }
13779 };
13780
13781 static int
13782 dissect_h245_Ind_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13783   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13784                                  ett_h245_Ind_multiplex, Ind_multiplex_choice,
13785                                  NULL);
13786
13787   return offset;
13788 }
13789
13790
13791 static const value_string h245_IndR_multiplex_vals[] = {
13792   {   0, "noMultiplex" },
13793   {   1, "transportStream" },
13794   {   2, "programStream" },
13795   { 0, NULL }
13796 };
13797
13798 static const per_choice_t IndR_multiplex_choice[] = {
13799   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13800   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13801   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13802   { 0, NULL, 0, NULL }
13803 };
13804
13805 static int
13806 dissect_h245_IndR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13807   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13808                                  ett_h245_IndR_multiplex, IndR_multiplex_choice,
13809                                  NULL);
13810
13811   return offset;
13812 }
13813
13814
13815 static const per_sequence_t Ind_reverseParameters_sequence[] = {
13816   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13817   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13818   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13819   { &hf_h245_indr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IndR_multiplex },
13820   { NULL, 0, 0, NULL }
13821 };
13822
13823 static int
13824 dissect_h245_Ind_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13825   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13826                                    ett_h245_Ind_reverseParameters, Ind_reverseParameters_sequence);
13827
13828   return offset;
13829 }
13830
13831
13832 static const per_sequence_t NewATMVCIndication_sequence[] = {
13833   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13834   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13835   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13836   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13837   { &hf_h245_ind_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_aal },
13838   { &hf_h245_ind_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_multiplex },
13839   { &hf_h245_ind_reverseParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Ind_reverseParameters },
13840   { NULL, 0, 0, NULL }
13841 };
13842
13843 static int
13844 dissect_h245_NewATMVCIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13845   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13846                                    ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
13847
13848   return offset;
13849 }
13850
13851
13852 static const value_string h245_T_userInputSupportIndication_vals[] = {
13853   {   0, "nonStandard" },
13854   {   1, "basicString" },
13855   {   2, "iA5String" },
13856   {   3, "generalString" },
13857   {   4, "encryptedBasicString" },
13858   {   5, "encryptedIA5String" },
13859   {   6, "encryptedGeneralString" },
13860   { 0, NULL }
13861 };
13862
13863 static const per_choice_t T_userInputSupportIndication_choice[] = {
13864   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
13865   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13866   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13867   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13868   {   4, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13869   {   5, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13870   {   6, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13871   { 0, NULL, 0, NULL }
13872 };
13873
13874 static int
13875 dissect_h245_T_userInputSupportIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13876   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13877                                  ett_h245_T_userInputSupportIndication, T_userInputSupportIndication_choice,
13878                                  NULL);
13879
13880   return offset;
13881 }
13882
13883
13884
13885 static int
13886 dissect_h245_T_signalType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13887   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
13888                                                       1, 1, FALSE, "0123456789#*ABCD!", 17,
13889                                                       NULL);
13890
13891   return offset;
13892 }
13893
13894
13895 static const per_sequence_t T_rtp_sequence[] = {
13896   { &hf_h245_timestamp      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13897   { &hf_h245_expirationTime , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13898   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13899   { NULL, 0, 0, NULL }
13900 };
13901
13902 static int
13903 dissect_h245_T_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13904   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13905                                    ett_h245_T_rtp, T_rtp_sequence);
13906
13907   return offset;
13908 }
13909
13910
13911
13912 static int
13913 dissect_h245_IV8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13914   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13915                                        8, 8, FALSE, NULL);
13916
13917   return offset;
13918 }
13919
13920
13921
13922 static int
13923 dissect_h245_IV16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13924   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13925                                        16, 16, FALSE, NULL);
13926
13927   return offset;
13928 }
13929
13930
13931 static const per_sequence_t Params_sequence[] = {
13932   { &hf_h245_iv8            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV8 },
13933   { &hf_h245_iv16           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV16 },
13934   { &hf_h245_iv             , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
13935   { NULL, 0, 0, NULL }
13936 };
13937
13938 static int
13939 dissect_h245_Params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13940   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13941                                    ett_h245_Params, Params_sequence);
13942
13943   return offset;
13944 }
13945
13946
13947
13948 static int
13949 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_) {
13950   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13951                                        1, 1, FALSE, NULL);
13952
13953   return offset;
13954 }
13955
13956
13957 static const per_sequence_t T_signal_sequence[] = {
13958   { &hf_h245_signalType     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_signalType },
13959   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_65535 },
13960   { &hf_h245_rtp            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtp },
13961   { &hf_h245_rtpPayloadIndication, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NULL },
13962   { &hf_h245_paramS         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_Params },
13963   { &hf_h245_encryptedSignalType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1 },
13964   { &hf_h245_algorithmOID   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
13965   { NULL, 0, 0, NULL }
13966 };
13967
13968 static int
13969 dissect_h245_T_signal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13970   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13971                                    ett_h245_T_signal, T_signal_sequence);
13972
13973   return offset;
13974 }
13975
13976
13977 static const per_sequence_t Si_rtp_sequence[] = {
13978   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13979   { NULL, 0, 0, NULL }
13980 };
13981
13982 static int
13983 dissect_h245_Si_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13984   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13985                                    ett_h245_Si_rtp, Si_rtp_sequence);
13986
13987   return offset;
13988 }
13989
13990
13991 static const per_sequence_t T_signalUpdate_sequence[] = {
13992   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13993   { &hf_h245_si_rtp         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Si_rtp },
13994   { NULL, 0, 0, NULL }
13995 };
13996
13997 static int
13998 dissect_h245_T_signalUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13999   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14000                                    ett_h245_T_signalUpdate, T_signalUpdate_sequence);
14001
14002   return offset;
14003 }
14004
14005
14006 static const per_sequence_t EncryptedAlphanumeric_sequence[] = {
14007   { &hf_h245_algorithmOID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
14008   { &hf_h245_paramS         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Params },
14009   { &hf_h245_encrypted      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
14010   { NULL, 0, 0, NULL }
14011 };
14012
14013 static int
14014 dissect_h245_EncryptedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14015   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14016                                    ett_h245_EncryptedAlphanumeric, EncryptedAlphanumeric_sequence);
14017
14018   return offset;
14019 }
14020
14021
14022 static const per_sequence_t T_extendedAlphanumeric_sequence[] = {
14023   { &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
14024   { &hf_h245_rtpPayloadIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NULL },
14025   { &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptedAlphanumeric },
14026   { NULL, 0, 0, NULL }
14027 };
14028
14029 static int
14030 dissect_h245_T_extendedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14031   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14032                                    ett_h245_T_extendedAlphanumeric, T_extendedAlphanumeric_sequence);
14033
14034   return offset;
14035 }
14036
14037
14038 static const value_string h245_UserInputIndication_vals[] = {
14039   {   0, "nonStandard" },
14040   {   1, "alphanumeric" },
14041   {   2, "userInputSupportIndication" },
14042   {   3, "signal" },
14043   {   4, "signalUpdate" },
14044   {   5, "extendedAlphanumeric" },
14045   {   6, "encryptedAlphanumeric" },
14046   {   7, "genericInformation" },
14047   { 0, NULL }
14048 };
14049
14050 static const per_choice_t UserInputIndication_choice[] = {
14051   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
14052   {   1, &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , dissect_h245_GeneralString },
14053   {   2, &hf_h245_userInputSupportIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_userInputSupportIndication },
14054   {   3, &hf_h245_signal         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signal },
14055   {   4, &hf_h245_signalUpdate   , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signalUpdate },
14056   {   5, &hf_h245_extendedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extendedAlphanumeric },
14057   {   6, &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptedAlphanumeric },
14058   {   7, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
14059   { 0, NULL, 0, NULL }
14060 };
14061
14062 static int
14063 dissect_h245_UserInputIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14064   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14065                                  ett_h245_UserInputIndication, UserInputIndication_choice,
14066                                  NULL);
14067
14068   return offset;
14069 }
14070
14071
14072 static const per_sequence_t H2250MaximumSkewIndication_sequence[] = {
14073   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
14074   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
14075   { &hf_h245_maximumSkew    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
14076   { NULL, 0, 0, NULL }
14077 };
14078
14079 static int
14080 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14081   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14082                                    ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
14083
14084   return offset;
14085 }
14086
14087
14088 static const per_sequence_t MCLocationIndication_sequence[] = {
14089   { &hf_h245_signalAddress  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TransportAddress },
14090   { NULL, 0, 0, NULL }
14091 };
14092
14093 static int
14094 dissect_h245_MCLocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14095   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14096                                    ett_h245_MCLocationIndication, MCLocationIndication_sequence);
14097
14098   return offset;
14099 }
14100
14101
14102
14103 static int
14104 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_) {
14105   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
14106                                                             0U, 9U, NULL, FALSE);
14107
14108   return offset;
14109 }
14110
14111
14112 static const per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
14113   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
14114   { &hf_h245_subPictureNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
14115   { &hf_h245_mcuNumber      , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
14116   { NULL, 0, 0, NULL }
14117 };
14118
14119 static int
14120 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14121   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14122                                    ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
14123
14124   return offset;
14125 }
14126
14127
14128 static const per_sequence_t VideoIndicateCompose_sequence[] = {
14129   { &hf_h245_compositionNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
14130   { NULL, 0, 0, NULL }
14131 };
14132
14133 static int
14134 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14135   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14136                                    ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
14137
14138   return offset;
14139 }
14140
14141
14142 static const value_string h245_ConferenceIndication_vals[] = {
14143   {   0, "sbeNumber" },
14144   {   1, "terminalNumberAssign" },
14145   {   2, "terminalJoinedConference" },
14146   {   3, "terminalLeftConference" },
14147   {   4, "seenByAtLeastOneOther" },
14148   {   5, "cancelSeenByAtLeastOneOther" },
14149   {   6, "seenByAll" },
14150   {   7, "cancelSeenByAll" },
14151   {   8, "terminalYouAreSeeing" },
14152   {   9, "requestForFloor" },
14153   {  10, "withdrawChairToken" },
14154   {  11, "floorRequested" },
14155   {  12, "terminalYouAreSeeingInSubPictureNumber" },
14156   {  13, "videoIndicateCompose" },
14157   {  14, "masterMCU" },
14158   {  15, "cancelMasterMCU" },
14159   { 0, NULL }
14160 };
14161
14162 static const per_choice_t ConferenceIndication_choice[] = {
14163   {   0, &hf_h245_sbeNumber      , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_9 },
14164   {   1, &hf_h245_terminalNumberAssign, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14165   {   2, &hf_h245_terminalJoinedConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14166   {   3, &hf_h245_terminalLeftConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14167   {   4, &hf_h245_seenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14168   {   5, &hf_h245_cancelSeenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14169   {   6, &hf_h245_seenByAll      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14170   {   7, &hf_h245_cancelSeenByAll, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14171   {   8, &hf_h245_terminalYouAreSeeing, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14172   {   9, &hf_h245_requestForFloor, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14173   {  10, &hf_h245_withdrawChairToken, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14174   {  11, &hf_h245_floorRequested , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
14175   {  12, &hf_h245_terminalYouAreSeeingInSubPictureNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
14176   {  13, &hf_h245_videoIndicateCompose, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VideoIndicateCompose },
14177   {  14, &hf_h245_masterMCU      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14178   {  15, &hf_h245_cancelMasterMCU, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14179   { 0, NULL, 0, NULL }
14180 };
14181
14182 static int
14183 dissect_h245_ConferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14184   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14185                                  ett_h245_ConferenceIndication, ConferenceIndication_choice,
14186                                  NULL);
14187
14188   return offset;
14189 }
14190
14191
14192
14193 static int
14194 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_) {
14195   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14196                                        1, 256, FALSE, NULL);
14197
14198   return offset;
14199 }
14200
14201
14202 static const per_sequence_t VendorIdentification_sequence[] = {
14203   { &hf_h245_vendor         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
14204   { &hf_h245_productNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14205   { &hf_h245_versionNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14206   { NULL, 0, 0, NULL }
14207 };
14208
14209 static int
14210 dissect_h245_VendorIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14211   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14212                                    ett_h245_VendorIdentification, VendorIdentification_sequence);
14213
14214   return offset;
14215 }
14216
14217
14218 static const value_string h245_FunctionNotSupportedCause_vals[] = {
14219   {   0, "syntaxError" },
14220   {   1, "semanticError" },
14221   {   2, "unknownFunction" },
14222   { 0, NULL }
14223 };
14224
14225 static const per_choice_t FunctionNotSupportedCause_choice[] = {
14226   {   0, &hf_h245_syntaxError    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14227   {   1, &hf_h245_semanticError  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14228   {   2, &hf_h245_unknownFunction, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14229   { 0, NULL, 0, NULL }
14230 };
14231
14232 static int
14233 dissect_h245_FunctionNotSupportedCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14234   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14235                                  ett_h245_FunctionNotSupportedCause, FunctionNotSupportedCause_choice,
14236                                  NULL);
14237
14238   return offset;
14239 }
14240
14241
14242
14243 static int
14244 dissect_h245_T_returnedFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14245 #line 990 "./asn1/h245/h245.cnf"
14246   tvbuff_t *next_tvb = NULL;
14247   proto_item *item;
14248   proto_tree *subtree;
14249   h245_packet_info *saved_h245_pi;
14250
14251   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14252                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
14253
14254
14255  if (next_tvb && tvb_reported_length(next_tvb)) {
14256         saved_h245_pi = h245_pi;
14257         h245_pi = NULL;
14258         subtree = proto_tree_add_subtree(tree, next_tvb, 0, -1, ett_h245_returnedFunction, &item, "The returned function");
14259         PROTO_ITEM_SET_GENERATED(item);
14260         dissect_h245_MultimediaSystemControlMessage(next_tvb, 0, actx, subtree, hf_h245_pdu_type);
14261         h245_pi = saved_h245_pi;
14262  }
14263
14264
14265
14266   return offset;
14267 }
14268
14269
14270 static const per_sequence_t FunctionNotSupported_sequence[] = {
14271   { &hf_h245_fns_cause      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FunctionNotSupportedCause },
14272   { &hf_h245_returnedFunction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_returnedFunction },
14273   { NULL, 0, 0, NULL }
14274 };
14275
14276 static int
14277 dissect_h245_FunctionNotSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14278   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14279                                    ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
14280
14281   return offset;
14282 }
14283
14284
14285 static const per_sequence_t T_crcDesired_sequence[] = {
14286   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
14287 };
14288
14289 static int
14290 dissect_h245_T_crcDesired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14291   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14292                                    ett_h245_T_crcDesired, T_crcDesired_sequence);
14293
14294   return offset;
14295 }
14296
14297
14298 static const per_sequence_t T_excessiveError_sequence[] = {
14299   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
14300   { NULL, 0, 0, NULL }
14301 };
14302
14303 static int
14304 dissect_h245_T_excessiveError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14305   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14306                                    ett_h245_T_excessiveError, T_excessiveError_sequence);
14307
14308   return offset;
14309 }
14310
14311
14312 static const value_string h245_MultilinkIndication_vals[] = {
14313   {   0, "nonStandard" },
14314   {   1, "crcDesired" },
14315   {   2, "excessiveError" },
14316   { 0, NULL }
14317 };
14318
14319 static const per_choice_t MultilinkIndication_choice[] = {
14320   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14321   {   1, &hf_h245_crcDesired     , ASN1_EXTENSION_ROOT    , dissect_h245_T_crcDesired },
14322   {   2, &hf_h245_excessiveError , ASN1_EXTENSION_ROOT    , dissect_h245_T_excessiveError },
14323   { 0, NULL, 0, NULL }
14324 };
14325
14326 static int
14327 dissect_h245_MultilinkIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14328   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14329                                  ett_h245_MultilinkIndication, MultilinkIndication_choice,
14330                                  NULL);
14331
14332   return offset;
14333 }
14334
14335
14336 static const per_sequence_t LogicalChannelRateRelease_sequence[] = {
14337   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
14338 };
14339
14340 static int
14341 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14342   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14343                                    ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
14344
14345   return offset;
14346 }
14347
14348
14349 static const per_sequence_t FlowControlIndication_sequence[] = {
14350   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
14351   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
14352   { NULL, 0, 0, NULL }
14353 };
14354
14355 static int
14356 dissect_h245_FlowControlIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14357   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14358                                    ett_h245_FlowControlIndication, FlowControlIndication_sequence);
14359
14360   return offset;
14361 }
14362
14363
14364 static const per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
14365   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14366   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14367   { NULL, 0, 0, NULL }
14368 };
14369
14370 static int
14371 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14372   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14373                                    ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
14374
14375   return offset;
14376 }
14377
14378
14379 static const value_string h245_IndicationMessage_vals[] = {
14380   { IndicationMessage_nonStandard, "nonStandard" },
14381   { IndicationMessage_functionNotUnderstood, "functionNotUnderstood" },
14382   { IndicationMessage_masterSlaveDeterminationRelease, "masterSlaveDeterminationRelease" },
14383   { IndicationMessage_terminalCapabilitySetRelease, "terminalCapabilitySetRelease" },
14384   { IndicationMessage_openLogicalChannelConfirm, "openLogicalChannelConfirm" },
14385   { IndicationMessage_requestChannelCloseRelease, "requestChannelCloseRelease" },
14386   { IndicationMessage_multiplexEntrySendRelease, "multiplexEntrySendRelease" },
14387   { IndicationMessage_requestMultiplexEntryRelease, "requestMultiplexEntryRelease" },
14388   { IndicationMessage_requestModeRelease, "requestModeRelease" },
14389   { IndicationMessage_miscellaneousIndication, "miscellaneousIndication" },
14390   { IndicationMessage_jitterIndication, "jitterIndication" },
14391   { IndicationMessage_h223SkewIndication, "h223SkewIndication" },
14392   { IndicationMessage_newATMVCIndication, "newATMVCIndication" },
14393   { IndicationMessage_userInput, "userInput" },
14394   { IndicationMessage_h2250MaximumSkewIndication, "h2250MaximumSkewIndication" },
14395   { IndicationMessage_mcLocationIndication, "mcLocationIndication" },
14396   { IndicationMessage_conferenceIndication, "conferenceIndication" },
14397   { IndicationMessage_vendorIdentification, "vendorIdentification" },
14398   { IndicationMessage_functionNotSupported, "functionNotSupported" },
14399   { IndicationMessage_multilinkIndication, "multilinkIndication" },
14400   { IndicationMessage_logicalChannelRateRelease, "logicalChannelRateRelease" },
14401   { IndicationMessage_flowControlIndication, "flowControlIndication" },
14402   { IndicationMessage_mobileMultilinkReconfigurationIndication, "mobileMultilinkReconfigurationIndication" },
14403   { IndicationMessage_genericIndication, "genericIndication" },
14404   { 0, NULL }
14405 };
14406
14407 static const per_choice_t IndicationMessage_choice[] = {
14408   { IndicationMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14409   { IndicationMessage_functionNotUnderstood, &hf_h245_functionNotUnderstood, ASN1_EXTENSION_ROOT    , dissect_h245_FunctionNotUnderstood },
14410   { IndicationMessage_masterSlaveDeterminationRelease, &hf_h245_masterSlaveDeterminationRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationRelease },
14411   { IndicationMessage_terminalCapabilitySetRelease, &hf_h245_terminalCapabilitySetRelease, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetRelease },
14412   { IndicationMessage_openLogicalChannelConfirm, &hf_h245_openLogicalChannelConfirm, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelConfirm },
14413   { IndicationMessage_requestChannelCloseRelease, &hf_h245_requestChannelCloseRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseRelease },
14414   { IndicationMessage_multiplexEntrySendRelease, &hf_h245_multiplexEntrySendRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendRelease },
14415   { IndicationMessage_requestMultiplexEntryRelease, &hf_h245_requestMultiplexEntryRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryRelease },
14416   { IndicationMessage_requestModeRelease, &hf_h245_requestModeRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeRelease },
14417   { IndicationMessage_miscellaneousIndication, &hf_h245_miscellaneousIndication, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousIndication },
14418   { IndicationMessage_jitterIndication, &hf_h245_jitterIndication, ASN1_EXTENSION_ROOT    , dissect_h245_JitterIndication },
14419   { IndicationMessage_h223SkewIndication, &hf_h245_h223SkewIndication, ASN1_EXTENSION_ROOT    , dissect_h245_H223SkewIndication },
14420   { IndicationMessage_newATMVCIndication, &hf_h245_newATMVCIndication, ASN1_EXTENSION_ROOT    , dissect_h245_NewATMVCIndication },
14421   { IndicationMessage_userInput, &hf_h245_userInput      , ASN1_EXTENSION_ROOT    , dissect_h245_UserInputIndication },
14422   { IndicationMessage_h2250MaximumSkewIndication, &hf_h245_h2250MaximumSkewIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250MaximumSkewIndication },
14423   { IndicationMessage_mcLocationIndication, &hf_h245_mcLocationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MCLocationIndication },
14424   { IndicationMessage_conferenceIndication, &hf_h245_conferenceIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceIndication },
14425   { IndicationMessage_vendorIdentification, &hf_h245_vendorIdentification, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VendorIdentification },
14426   { IndicationMessage_functionNotSupported, &hf_h245_functionNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FunctionNotSupported },
14427   { IndicationMessage_multilinkIndication, &hf_h245_multilinkIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkIndication },
14428   { IndicationMessage_logicalChannelRateRelease, &hf_h245_logicalChannelRateRelease, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRelease },
14429   { IndicationMessage_flowControlIndication, &hf_h245_flowControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FlowControlIndication },
14430   { IndicationMessage_mobileMultilinkReconfigurationIndication, &hf_h245_mobileMultilinkReconfigurationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationIndication },
14431   { IndicationMessage_genericIndication, &hf_h245_genericIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
14432   { 0, NULL, 0, NULL }
14433 };
14434
14435 static int
14436 dissect_h245_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14437 #line 415 "./asn1/h245/h245.cnf"
14438   gint32 value;
14439
14440   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14441                                  ett_h245_IndicationMessage, IndicationMessage_choice,
14442                                  &value);
14443
14444   print_info_column(actx->pinfo->cinfo, &value, h245_IndicationMessage_vals, h245_IndicationMessage_short_vals);
14445         col_set_fence(actx->pinfo->cinfo,COL_INFO);
14446
14447     /* Add to packet info */
14448     if (h245_pi  !=NULL){
14449       if ( strlen(h245_pi->frame_label) == 0 ){
14450             g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_IndicationMessage_short_vals, "UKN"));
14451           }
14452       g_strlcat(h245_pi->comment, val_to_str(value, h245_IndicationMessage_vals, "<unknown>"), 50);
14453
14454     }
14455
14456
14457
14458   return offset;
14459 }
14460
14461
14462 static const value_string h245_MultimediaSystemControlMessage_vals[] = {
14463   {   0, "request" },
14464   {   1, "response" },
14465   {   2, "command" },
14466   {   3, "indication" },
14467   { 0, NULL }
14468 };
14469
14470 static const per_choice_t MultimediaSystemControlMessage_choice[] = {
14471   {   0, &hf_h245_request        , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMessage },
14472   {   1, &hf_h245_response       , ASN1_EXTENSION_ROOT    , dissect_h245_ResponseMessage },
14473   {   2, &hf_h245_command        , ASN1_EXTENSION_ROOT    , dissect_h245_CommandMessage },
14474   {   3, &hf_h245_indication     , ASN1_EXTENSION_ROOT    , dissect_h245_IndicationMessage },
14475   { 0, NULL, 0, NULL }
14476 };
14477
14478 static int
14479 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14480   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14481                                  ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice,
14482                                  NULL);
14483
14484   return offset;
14485 }
14486
14487 /*--- PDUs ---*/
14488
14489 static int dissect_OpenLogicalChannel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14490   int offset = 0;
14491   asn1_ctx_t asn1_ctx;
14492   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14493   offset = dissect_h245_OpenLogicalChannel(tvb, offset, &asn1_ctx, tree, hf_h245_OpenLogicalChannel_PDU);
14494   offset += 7; offset >>= 3;
14495   return offset;
14496 }
14497
14498
14499 /*--- End of included file: packet-h245-fn.c ---*/
14500 #line 389 "./asn1/h245/packet-h245-template.c"
14501
14502 static int
14503 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
14504 {
14505         /*
14506          * MultimediaSystemControlMessage_handle is the handle for
14507          * dissect_h245_h245, so we don't want to do any h245_pi or tap stuff here.
14508          */
14509         dissect_tpkt_encap(tvb, pinfo, parent_tree, h245_reassembly, MultimediaSystemControlMessage_handle);
14510         return tvb_captured_length(tvb);
14511 }
14512
14513
14514 static int
14515 dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
14516 {
14517         proto_item *it;
14518         proto_tree *tr;
14519         guint32 offset=0;
14520         asn1_ctx_t asn1_ctx;
14521
14522         fast_start = FALSE;
14523         /* Clean up from any previous packet dissection */
14524         upcoming_olc = NULL;
14525         upcoming_channel = NULL;
14526         codec_type = NULL;
14527
14528         col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
14529
14530         it=proto_tree_add_protocol_format(parent_tree, proto_h245, tvb, 0, -1, PSNAME);
14531         tr=proto_item_add_subtree(it, ett_h245);
14532
14533         /* assume that whilst there is more tvb data, there are more h245 commands */
14534         while ( tvb_reported_length_remaining( tvb, offset>>3 )>0 ){
14535                 CLEANUP_PUSH(reset_h245_pi, NULL);
14536                 h245_pi=wmem_new(wmem_packet_scope(), h245_packet_info);
14537                 init_h245_packet_info(h245_pi);
14538                 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14539                 offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, &asn1_ctx, tr, hf_h245_pdu_type);
14540                 tap_queue_packet(h245dg_tap, pinfo, h245_pi);
14541                 offset = (offset+0x07) & 0xfffffff8;
14542                 CLEANUP_CALL_AND_POP;
14543         }
14544         return tvb_captured_length(tvb);
14545 }
14546
14547 void
14548 dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str) {
14549
14550   fast_start = TRUE;
14551   /* Clean up from any previous packet dissection */
14552   upcoming_olc = NULL;
14553   upcoming_channel = NULL;
14554   codec_type = NULL;
14555
14556   dissect_OpenLogicalChannel_PDU(tvb, pinfo, tree, NULL);
14557
14558   if (h245_pi != NULL)
14559           h245_pi->msg_type = H245_OpenLogChn;
14560
14561   if (codec_str && codec_type){
14562         g_strlcpy(codec_str, codec_type, 50);
14563   }
14564
14565 }
14566
14567 /*--- proto_register_h245 -------------------------------------------*/
14568 void proto_register_h245(void) {
14569
14570   /* List of fields */
14571   static hf_register_info hf[] = {
14572     { &hf_h245_pdu_type,
14573  { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
14574                 VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
14575         { &hf_h245Manufacturer,
14576                 { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
14577                 VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
14578     { &hf_h245_subMessageIdentifier_standard,
14579       { "subMessageIdentifier", "h245.subMessageIdentifier.standard",
14580         FT_UINT32, BASE_DEC, VALS(h245_h239subMessageIdentifier_vals), 0,
14581         NULL, HFILL }},
14582         { &hf_h245_debug_dissector_try_string,
14583       { "*** DEBUG dissector_try_string", "h245.debug.dissector_try_string", FT_STRING, BASE_NONE,
14584         NULL, 0, NULL, HFILL }},
14585
14586
14587 /*--- Included file: packet-h245-hfarr.c ---*/
14588 #line 1 "./asn1/h245/packet-h245-hfarr.c"
14589     { &hf_h245_OpenLogicalChannel_PDU,
14590       { "OpenLogicalChannel", "h245.OpenLogicalChannel_element",
14591         FT_NONE, BASE_NONE, NULL, 0,
14592         NULL, HFILL }},
14593     { &hf_h245_request,
14594       { "request", "h245.request",
14595         FT_UINT32, BASE_DEC, VALS(h245_RequestMessage_vals), 0,
14596         "RequestMessage", HFILL }},
14597     { &hf_h245_response,
14598       { "response", "h245.response",
14599         FT_UINT32, BASE_DEC, VALS(h245_ResponseMessage_vals), 0,
14600         "ResponseMessage", HFILL }},
14601     { &hf_h245_command,
14602       { "command", "h245.command",
14603         FT_UINT32, BASE_DEC, VALS(h245_CommandMessage_vals), 0,
14604         "CommandMessage", HFILL }},
14605     { &hf_h245_indication,
14606       { "indication", "h245.indication",
14607         FT_UINT32, BASE_DEC, VALS(h245_IndicationMessage_vals), 0,
14608         "IndicationMessage", HFILL }},
14609     { &hf_h245_nonStandardMsg,
14610       { "nonStandard", "h245.nonStandard_element",
14611         FT_NONE, BASE_NONE, NULL, 0,
14612         "NonStandardMessage", HFILL }},
14613     { &hf_h245_masterSlaveDetermination,
14614       { "masterSlaveDetermination", "h245.masterSlaveDetermination_element",
14615         FT_NONE, BASE_NONE, NULL, 0,
14616         NULL, HFILL }},
14617     { &hf_h245_terminalCapabilitySet,
14618       { "terminalCapabilitySet", "h245.terminalCapabilitySet_element",
14619         FT_NONE, BASE_NONE, NULL, 0,
14620         NULL, HFILL }},
14621     { &hf_h245_openLogicalChannel,
14622       { "openLogicalChannel", "h245.openLogicalChannel_element",
14623         FT_NONE, BASE_NONE, NULL, 0,
14624         NULL, HFILL }},
14625     { &hf_h245_closeLogicalChannel,
14626       { "closeLogicalChannel", "h245.closeLogicalChannel_element",
14627         FT_NONE, BASE_NONE, NULL, 0,
14628         NULL, HFILL }},
14629     { &hf_h245_requestChannelClose,
14630       { "requestChannelClose", "h245.requestChannelClose_element",
14631         FT_NONE, BASE_NONE, NULL, 0,
14632         NULL, HFILL }},
14633     { &hf_h245_multiplexEntrySend,
14634       { "multiplexEntrySend", "h245.multiplexEntrySend_element",
14635         FT_NONE, BASE_NONE, NULL, 0,
14636         NULL, HFILL }},
14637     { &hf_h245_requestMultiplexEntry,
14638       { "requestMultiplexEntry", "h245.requestMultiplexEntry_element",
14639         FT_NONE, BASE_NONE, NULL, 0,
14640         NULL, HFILL }},
14641     { &hf_h245_requestMode,
14642       { "requestMode", "h245.requestMode_element",
14643         FT_NONE, BASE_NONE, NULL, 0,
14644         NULL, HFILL }},
14645     { &hf_h245_roundTripDelayRequest,
14646       { "roundTripDelayRequest", "h245.roundTripDelayRequest_element",
14647         FT_NONE, BASE_NONE, NULL, 0,
14648         NULL, HFILL }},
14649     { &hf_h245_maintenanceLoopRequest,
14650       { "maintenanceLoopRequest", "h245.maintenanceLoopRequest_element",
14651         FT_NONE, BASE_NONE, NULL, 0,
14652         NULL, HFILL }},
14653     { &hf_h245_communicationModeRequest,
14654       { "communicationModeRequest", "h245.communicationModeRequest_element",
14655         FT_NONE, BASE_NONE, NULL, 0,
14656         NULL, HFILL }},
14657     { &hf_h245_conferenceRequest,
14658       { "conferenceRequest", "h245.conferenceRequest",
14659         FT_UINT32, BASE_DEC, VALS(h245_ConferenceRequest_vals), 0,
14660         NULL, HFILL }},
14661     { &hf_h245_multilinkRequest,
14662       { "multilinkRequest", "h245.multilinkRequest",
14663         FT_UINT32, BASE_DEC, VALS(h245_MultilinkRequest_vals), 0,
14664         NULL, HFILL }},
14665     { &hf_h245_logicalChannelRateRequest,
14666       { "logicalChannelRateRequest", "h245.logicalChannelRateRequest_element",
14667         FT_NONE, BASE_NONE, NULL, 0,
14668         NULL, HFILL }},
14669     { &hf_h245_genericRequest,
14670       { "genericRequest", "h245.genericRequest_element",
14671         FT_NONE, BASE_NONE, NULL, 0,
14672         "GenericMessage", HFILL }},
14673     { &hf_h245_masterSlaveDeterminationAck,
14674       { "masterSlaveDeterminationAck", "h245.masterSlaveDeterminationAck_element",
14675         FT_NONE, BASE_NONE, NULL, 0,
14676         NULL, HFILL }},
14677     { &hf_h245_masterSlaveDeterminationReject,
14678       { "masterSlaveDeterminationReject", "h245.masterSlaveDeterminationReject_element",
14679         FT_NONE, BASE_NONE, NULL, 0,
14680         NULL, HFILL }},
14681     { &hf_h245_terminalCapabilitySetAck,
14682       { "terminalCapabilitySetAck", "h245.terminalCapabilitySetAck_element",
14683         FT_NONE, BASE_NONE, NULL, 0,
14684         NULL, HFILL }},
14685     { &hf_h245_terminalCapabilitySetReject,
14686       { "terminalCapabilitySetReject", "h245.terminalCapabilitySetReject_element",
14687         FT_NONE, BASE_NONE, NULL, 0,
14688         NULL, HFILL }},
14689     { &hf_h245_openLogicalChannelAck,
14690       { "openLogicalChannelAck", "h245.openLogicalChannelAck_element",
14691         FT_NONE, BASE_NONE, NULL, 0,
14692         NULL, HFILL }},
14693     { &hf_h245_openLogicalChannelReject,
14694       { "openLogicalChannelReject", "h245.openLogicalChannelReject_element",
14695         FT_NONE, BASE_NONE, NULL, 0,
14696         NULL, HFILL }},
14697     { &hf_h245_closeLogicalChannelAck,
14698       { "closeLogicalChannelAck", "h245.closeLogicalChannelAck_element",
14699         FT_NONE, BASE_NONE, NULL, 0,
14700         NULL, HFILL }},
14701     { &hf_h245_requestChannelCloseAck,
14702       { "requestChannelCloseAck", "h245.requestChannelCloseAck_element",
14703         FT_NONE, BASE_NONE, NULL, 0,
14704         NULL, HFILL }},
14705     { &hf_h245_requestChannelCloseReject,
14706       { "requestChannelCloseReject", "h245.requestChannelCloseReject_element",
14707         FT_NONE, BASE_NONE, NULL, 0,
14708         NULL, HFILL }},
14709     { &hf_h245_multiplexEntrySendAck,
14710       { "multiplexEntrySendAck", "h245.multiplexEntrySendAck_element",
14711         FT_NONE, BASE_NONE, NULL, 0,
14712         NULL, HFILL }},
14713     { &hf_h245_multiplexEntrySendReject,
14714       { "multiplexEntrySendReject", "h245.multiplexEntrySendReject_element",
14715         FT_NONE, BASE_NONE, NULL, 0,
14716         NULL, HFILL }},
14717     { &hf_h245_requestMultiplexEntryAck,
14718       { "requestMultiplexEntryAck", "h245.requestMultiplexEntryAck_element",
14719         FT_NONE, BASE_NONE, NULL, 0,
14720         NULL, HFILL }},
14721     { &hf_h245_requestMultiplexEntryReject,
14722       { "requestMultiplexEntryReject", "h245.requestMultiplexEntryReject_element",
14723         FT_NONE, BASE_NONE, NULL, 0,
14724         NULL, HFILL }},
14725     { &hf_h245_requestModeAck,
14726       { "requestModeAck", "h245.requestModeAck_element",
14727         FT_NONE, BASE_NONE, NULL, 0,
14728         NULL, HFILL }},
14729     { &hf_h245_requestModeReject,
14730       { "requestModeReject", "h245.requestModeReject_element",
14731         FT_NONE, BASE_NONE, NULL, 0,
14732         NULL, HFILL }},
14733     { &hf_h245_roundTripDelayResponse,
14734       { "roundTripDelayResponse", "h245.roundTripDelayResponse_element",
14735         FT_NONE, BASE_NONE, NULL, 0,
14736         NULL, HFILL }},
14737     { &hf_h245_maintenanceLoopAck,
14738       { "maintenanceLoopAck", "h245.maintenanceLoopAck_element",
14739         FT_NONE, BASE_NONE, NULL, 0,
14740         NULL, HFILL }},
14741     { &hf_h245_maintenanceLoopReject,
14742       { "maintenanceLoopReject", "h245.maintenanceLoopReject_element",
14743         FT_NONE, BASE_NONE, NULL, 0,
14744         NULL, HFILL }},
14745     { &hf_h245_communicationModeResponse,
14746       { "communicationModeResponse", "h245.communicationModeResponse",
14747         FT_UINT32, BASE_DEC, VALS(h245_CommunicationModeResponse_vals), 0,
14748         NULL, HFILL }},
14749     { &hf_h245_conferenceResponse,
14750       { "conferenceResponse", "h245.conferenceResponse",
14751         FT_UINT32, BASE_DEC, VALS(h245_ConferenceResponse_vals), 0,
14752         NULL, HFILL }},
14753     { &hf_h245_multilinkResponse,
14754       { "multilinkResponse", "h245.multilinkResponse",
14755         FT_UINT32, BASE_DEC, VALS(h245_MultilinkResponse_vals), 0,
14756         NULL, HFILL }},
14757     { &hf_h245_logicalChannelRateAcknowledge,
14758       { "logicalChannelRateAcknowledge", "h245.logicalChannelRateAcknowledge_element",
14759         FT_NONE, BASE_NONE, NULL, 0,
14760         NULL, HFILL }},
14761     { &hf_h245_logicalChannelRateReject,
14762       { "logicalChannelRateReject", "h245.logicalChannelRateReject_element",
14763         FT_NONE, BASE_NONE, NULL, 0,
14764         NULL, HFILL }},
14765     { &hf_h245_genericResponse,
14766       { "genericResponse", "h245.genericResponse_element",
14767         FT_NONE, BASE_NONE, NULL, 0,
14768         "GenericMessage", HFILL }},
14769     { &hf_h245_maintenanceLoopOffCommand,
14770       { "maintenanceLoopOffCommand", "h245.maintenanceLoopOffCommand_element",
14771         FT_NONE, BASE_NONE, NULL, 0,
14772         NULL, HFILL }},
14773     { &hf_h245_sendTerminalCapabilitySet,
14774       { "sendTerminalCapabilitySet", "h245.sendTerminalCapabilitySet",
14775         FT_UINT32, BASE_DEC, VALS(h245_SendTerminalCapabilitySet_vals), 0,
14776         NULL, HFILL }},
14777     { &hf_h245_encryptionCommand,
14778       { "encryptionCommand", "h245.encryptionCommand",
14779         FT_UINT32, BASE_DEC, VALS(h245_EncryptionCommand_vals), 0,
14780         NULL, HFILL }},
14781     { &hf_h245_flowControlCommand,
14782       { "flowControlCommand", "h245.flowControlCommand_element",
14783         FT_NONE, BASE_NONE, NULL, 0,
14784         NULL, HFILL }},
14785     { &hf_h245_endSessionCommand,
14786       { "endSessionCommand", "h245.endSessionCommand",
14787         FT_UINT32, BASE_DEC, VALS(h245_EndSessionCommand_vals), 0,
14788         NULL, HFILL }},
14789     { &hf_h245_miscellaneousCommand,
14790       { "miscellaneousCommand", "h245.miscellaneousCommand_element",
14791         FT_NONE, BASE_NONE, NULL, 0,
14792         NULL, HFILL }},
14793     { &hf_h245_communicationModeCommand,
14794       { "communicationModeCommand", "h245.communicationModeCommand_element",
14795         FT_NONE, BASE_NONE, NULL, 0,
14796         NULL, HFILL }},
14797     { &hf_h245_conferenceCommand,
14798       { "conferenceCommand", "h245.conferenceCommand",
14799         FT_UINT32, BASE_DEC, VALS(h245_ConferenceCommand_vals), 0,
14800         NULL, HFILL }},
14801     { &hf_h245_h223MultiplexReconfiguration,
14802       { "h223MultiplexReconfiguration", "h245.h223MultiplexReconfiguration",
14803         FT_UINT32, BASE_DEC, VALS(h245_H223MultiplexReconfiguration_vals), 0,
14804         NULL, HFILL }},
14805     { &hf_h245_newATMVCCommand,
14806       { "newATMVCCommand", "h245.newATMVCCommand_element",
14807         FT_NONE, BASE_NONE, NULL, 0,
14808         NULL, HFILL }},
14809     { &hf_h245_mobileMultilinkReconfigurationCommand,
14810       { "mobileMultilinkReconfigurationCommand", "h245.mobileMultilinkReconfigurationCommand_element",
14811         FT_NONE, BASE_NONE, NULL, 0,
14812         NULL, HFILL }},
14813     { &hf_h245_genericCommand,
14814       { "genericCommand", "h245.genericCommand_element",
14815         FT_NONE, BASE_NONE, NULL, 0,
14816         "GenericMessage", HFILL }},
14817     { &hf_h245_functionNotUnderstood,
14818       { "functionNotUnderstood", "h245.functionNotUnderstood",
14819         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotUnderstood_vals), 0,
14820         NULL, HFILL }},
14821     { &hf_h245_masterSlaveDeterminationRelease,
14822       { "masterSlaveDeterminationRelease", "h245.masterSlaveDeterminationRelease_element",
14823         FT_NONE, BASE_NONE, NULL, 0,
14824         NULL, HFILL }},
14825     { &hf_h245_terminalCapabilitySetRelease,
14826       { "terminalCapabilitySetRelease", "h245.terminalCapabilitySetRelease_element",
14827         FT_NONE, BASE_NONE, NULL, 0,
14828         NULL, HFILL }},
14829     { &hf_h245_openLogicalChannelConfirm,
14830       { "openLogicalChannelConfirm", "h245.openLogicalChannelConfirm_element",
14831         FT_NONE, BASE_NONE, NULL, 0,
14832         NULL, HFILL }},
14833     { &hf_h245_requestChannelCloseRelease,
14834       { "requestChannelCloseRelease", "h245.requestChannelCloseRelease_element",
14835         FT_NONE, BASE_NONE, NULL, 0,
14836         NULL, HFILL }},
14837     { &hf_h245_multiplexEntrySendRelease,
14838       { "multiplexEntrySendRelease", "h245.multiplexEntrySendRelease_element",
14839         FT_NONE, BASE_NONE, NULL, 0,
14840         NULL, HFILL }},
14841     { &hf_h245_requestMultiplexEntryRelease,
14842       { "requestMultiplexEntryRelease", "h245.requestMultiplexEntryRelease_element",
14843         FT_NONE, BASE_NONE, NULL, 0,
14844         NULL, HFILL }},
14845     { &hf_h245_requestModeRelease,
14846       { "requestModeRelease", "h245.requestModeRelease_element",
14847         FT_NONE, BASE_NONE, NULL, 0,
14848         NULL, HFILL }},
14849     { &hf_h245_miscellaneousIndication,
14850       { "miscellaneousIndication", "h245.miscellaneousIndication_element",
14851         FT_NONE, BASE_NONE, NULL, 0,
14852         NULL, HFILL }},
14853     { &hf_h245_jitterIndication,
14854       { "jitterIndication", "h245.jitterIndication_element",
14855         FT_NONE, BASE_NONE, NULL, 0,
14856         NULL, HFILL }},
14857     { &hf_h245_h223SkewIndication,
14858       { "h223SkewIndication", "h245.h223SkewIndication_element",
14859         FT_NONE, BASE_NONE, NULL, 0,
14860         NULL, HFILL }},
14861     { &hf_h245_newATMVCIndication,
14862       { "newATMVCIndication", "h245.newATMVCIndication_element",
14863         FT_NONE, BASE_NONE, NULL, 0,
14864         NULL, HFILL }},
14865     { &hf_h245_userInput,
14866       { "userInput", "h245.userInput",
14867         FT_UINT32, BASE_DEC, VALS(h245_UserInputIndication_vals), 0,
14868         "UserInputIndication", HFILL }},
14869     { &hf_h245_h2250MaximumSkewIndication,
14870       { "h2250MaximumSkewIndication", "h245.h2250MaximumSkewIndication_element",
14871         FT_NONE, BASE_NONE, NULL, 0,
14872         NULL, HFILL }},
14873     { &hf_h245_mcLocationIndication,
14874       { "mcLocationIndication", "h245.mcLocationIndication_element",
14875         FT_NONE, BASE_NONE, NULL, 0,
14876         NULL, HFILL }},
14877     { &hf_h245_conferenceIndication,
14878       { "conferenceIndication", "h245.conferenceIndication",
14879         FT_UINT32, BASE_DEC, VALS(h245_ConferenceIndication_vals), 0,
14880         NULL, HFILL }},
14881     { &hf_h245_vendorIdentification,
14882       { "vendorIdentification", "h245.vendorIdentification_element",
14883         FT_NONE, BASE_NONE, NULL, 0,
14884         NULL, HFILL }},
14885     { &hf_h245_functionNotSupported,
14886       { "functionNotSupported", "h245.functionNotSupported_element",
14887         FT_NONE, BASE_NONE, NULL, 0,
14888         NULL, HFILL }},
14889     { &hf_h245_multilinkIndication,
14890       { "multilinkIndication", "h245.multilinkIndication",
14891         FT_UINT32, BASE_DEC, VALS(h245_MultilinkIndication_vals), 0,
14892         NULL, HFILL }},
14893     { &hf_h245_logicalChannelRateRelease,
14894       { "logicalChannelRateRelease", "h245.logicalChannelRateRelease_element",
14895         FT_NONE, BASE_NONE, NULL, 0,
14896         NULL, HFILL }},
14897     { &hf_h245_flowControlIndication,
14898       { "flowControlIndication", "h245.flowControlIndication_element",
14899         FT_NONE, BASE_NONE, NULL, 0,
14900         NULL, HFILL }},
14901     { &hf_h245_mobileMultilinkReconfigurationIndication,
14902       { "mobileMultilinkReconfigurationIndication", "h245.mobileMultilinkReconfigurationIndication_element",
14903         FT_NONE, BASE_NONE, NULL, 0,
14904         NULL, HFILL }},
14905     { &hf_h245_genericIndication,
14906       { "genericIndication", "h245.genericIndication_element",
14907         FT_NONE, BASE_NONE, NULL, 0,
14908         "GenericMessage", HFILL }},
14909     { &hf_h245_messageIdentifier,
14910       { "messageIdentifier", "h245.messageIdentifier",
14911         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
14912         "CapabilityIdentifier", HFILL }},
14913     { &hf_h245_subMessageIdentifier,
14914       { "subMessageIdentifier", "h245.subMessageIdentifier",
14915         FT_UINT32, BASE_DEC, NULL, 0,
14916         NULL, HFILL }},
14917     { &hf_h245_messageContent,
14918       { "messageContent", "h245.messageContent",
14919         FT_UINT32, BASE_DEC, NULL, 0,
14920         NULL, HFILL }},
14921     { &hf_h245_messageContent_item,
14922       { "messageContent item", "h245.messageContent_item_element",
14923         FT_NONE, BASE_NONE, NULL, 0,
14924         "T_messageContent_item", HFILL }},
14925     { &hf_h245_nonStandardData,
14926       { "nonStandardData", "h245.nonStandardData_element",
14927         FT_NONE, BASE_NONE, NULL, 0,
14928         "NonStandardParameter", HFILL }},
14929     { &hf_h245_nonStandardIdentifier,
14930       { "nonStandardIdentifier", "h245.nonStandardIdentifier",
14931         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
14932         NULL, HFILL }},
14933     { &hf_h245_nsd_data,
14934       { "data", "h245.data",
14935         FT_BYTES, BASE_NONE, NULL, 0,
14936         "T_nsd_data", HFILL }},
14937     { &hf_h245_object,
14938       { "object", "h245.object",
14939         FT_OID, BASE_NONE, NULL, 0,
14940         NULL, HFILL }},
14941     { &hf_h245_h221NonStandardID,
14942       { "h221NonStandard", "h245.h221NonStandard_element",
14943         FT_NONE, BASE_NONE, NULL, 0,
14944         "H221NonStandardID", HFILL }},
14945     { &hf_h245_t35CountryCode,
14946       { "t35CountryCode", "h245.t35CountryCode",
14947         FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0,
14948         NULL, HFILL }},
14949     { &hf_h245_t35Extension,
14950       { "t35Extension", "h245.t35Extension",
14951         FT_UINT32, BASE_DEC, NULL, 0,
14952         NULL, HFILL }},
14953     { &hf_h245_manufacturerCode,
14954       { "manufacturerCode", "h245.manufacturerCode",
14955         FT_UINT32, BASE_DEC, NULL, 0,
14956         NULL, HFILL }},
14957     { &hf_h245_terminalType,
14958       { "terminalType", "h245.terminalType",
14959         FT_UINT32, BASE_DEC, NULL, 0,
14960         "INTEGER_0_255", HFILL }},
14961     { &hf_h245_statusDeterminationNumber,
14962       { "statusDeterminationNumber", "h245.statusDeterminationNumber",
14963         FT_UINT32, BASE_DEC, NULL, 0,
14964         "INTEGER_0_16777215", HFILL }},
14965     { &hf_h245_decision,
14966       { "decision", "h245.decision",
14967         FT_UINT32, BASE_DEC, VALS(h245_T_decision_vals), 0,
14968         NULL, HFILL }},
14969     { &hf_h245_master,
14970       { "master", "h245.master_element",
14971         FT_NONE, BASE_NONE, NULL, 0,
14972         NULL, HFILL }},
14973     { &hf_h245_slave,
14974       { "slave", "h245.slave_element",
14975         FT_NONE, BASE_NONE, NULL, 0,
14976         NULL, HFILL }},
14977     { &hf_h245_msd_rej_cause,
14978       { "cause", "h245.cause",
14979         FT_UINT32, BASE_DEC, VALS(h245_MasterSlaveDeterminationRejectCause_vals), 0,
14980         "MasterSlaveDeterminationRejectCause", HFILL }},
14981     { &hf_h245_identicalNumbers,
14982       { "identicalNumbers", "h245.identicalNumbers_element",
14983         FT_NONE, BASE_NONE, NULL, 0,
14984         NULL, HFILL }},
14985     { &hf_h245_sequenceNumber,
14986       { "sequenceNumber", "h245.sequenceNumber",
14987         FT_UINT32, BASE_DEC, NULL, 0,
14988         NULL, HFILL }},
14989     { &hf_h245_protocolIdentifier,
14990       { "protocolIdentifier", "h245.protocolIdentifier",
14991         FT_OID, BASE_NONE, NULL, 0,
14992         "OBJECT_IDENTIFIER", HFILL }},
14993     { &hf_h245_multiplexCapability,
14994       { "multiplexCapability", "h245.multiplexCapability",
14995         FT_UINT32, BASE_DEC, VALS(h245_MultiplexCapability_vals), 0,
14996         NULL, HFILL }},
14997     { &hf_h245_capabilityTable,
14998       { "capabilityTable", "h245.capabilityTable",
14999         FT_UINT32, BASE_DEC, NULL, 0,
15000         "SET_SIZE_1_256_OF_CapabilityTableEntry", HFILL }},
15001     { &hf_h245_capabilityTable_item,
15002       { "CapabilityTableEntry", "h245.CapabilityTableEntry_element",
15003         FT_NONE, BASE_NONE, NULL, 0,
15004         NULL, HFILL }},
15005     { &hf_h245_capabilityDescriptors,
15006       { "capabilityDescriptors", "h245.capabilityDescriptors",
15007         FT_UINT32, BASE_DEC, NULL, 0,
15008         "SET_SIZE_1_256_OF_CapabilityDescriptor", HFILL }},
15009     { &hf_h245_capabilityDescriptors_item,
15010       { "CapabilityDescriptor", "h245.CapabilityDescriptor_element",
15011         FT_NONE, BASE_NONE, NULL, 0,
15012         NULL, HFILL }},
15013     { &hf_h245_genericInformation,
15014       { "genericInformation", "h245.genericInformation",
15015         FT_UINT32, BASE_DEC, NULL, 0,
15016         "SEQUENCE_OF_GenericInformation", HFILL }},
15017     { &hf_h245_genericInformation_item,
15018       { "GenericInformation", "h245.GenericInformation_element",
15019         FT_NONE, BASE_NONE, NULL, 0,
15020         NULL, HFILL }},
15021     { &hf_h245_capabilityTableEntryNumber,
15022       { "capabilityTableEntryNumber", "h245.capabilityTableEntryNumber",
15023         FT_UINT32, BASE_DEC, NULL, 0,
15024         NULL, HFILL }},
15025     { &hf_h245_capability,
15026       { "capability", "h245.capability",
15027         FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0,
15028         NULL, HFILL }},
15029     { &hf_h245_capabilityDescriptorNumber,
15030       { "capabilityDescriptorNumber", "h245.capabilityDescriptorNumber",
15031         FT_UINT32, BASE_DEC, NULL, 0,
15032         NULL, HFILL }},
15033     { &hf_h245_simultaneousCapabilities,
15034       { "simultaneousCapabilities", "h245.simultaneousCapabilities",
15035         FT_UINT32, BASE_DEC, NULL, 0,
15036         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
15037     { &hf_h245_simultaneousCapabilities_item,
15038       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
15039         FT_UINT32, BASE_DEC, NULL, 0,
15040         NULL, HFILL }},
15041     { &hf_h245_AlternativeCapabilitySet_item,
15042       { "alternativeCapability", "h245.CapabilityTableEntryNumber",
15043         FT_UINT32, BASE_DEC, NULL, 0,
15044         "CapabilityTableEntryNumber", HFILL }},
15045     { &hf_h245_tcs_rej_cause,
15046       { "cause", "h245.cause",
15047         FT_UINT32, BASE_DEC, VALS(h245_TerminalCapabilitySetRejectCause_vals), 0,
15048         "TerminalCapabilitySetRejectCause", HFILL }},
15049     { &hf_h245_unspecified,
15050       { "unspecified", "h245.unspecified_element",
15051         FT_NONE, BASE_NONE, NULL, 0,
15052         NULL, HFILL }},
15053     { &hf_h245_undefinedTableEntryUsed,
15054       { "undefinedTableEntryUsed", "h245.undefinedTableEntryUsed_element",
15055         FT_NONE, BASE_NONE, NULL, 0,
15056         NULL, HFILL }},
15057     { &hf_h245_descriptorCapacityExceeded,
15058       { "descriptorCapacityExceeded", "h245.descriptorCapacityExceeded_element",
15059         FT_NONE, BASE_NONE, NULL, 0,
15060         NULL, HFILL }},
15061     { &hf_h245_tableEntryCapacityExceeded,
15062       { "tableEntryCapacityExceeded", "h245.tableEntryCapacityExceeded",
15063         FT_UINT32, BASE_DEC, VALS(h245_T_tableEntryCapacityExceeded_vals), 0,
15064         NULL, HFILL }},
15065     { &hf_h245_highestEntryNumberProcessed,
15066       { "highestEntryNumberProcessed", "h245.highestEntryNumberProcessed",
15067         FT_UINT32, BASE_DEC, NULL, 0,
15068         "CapabilityTableEntryNumber", HFILL }},
15069     { &hf_h245_noneProcessed,
15070       { "noneProcessed", "h245.noneProcessed_element",
15071         FT_NONE, BASE_NONE, NULL, 0,
15072         NULL, HFILL }},
15073     { &hf_h245_nonStandard,
15074       { "nonStandard", "h245.nonStandard_element",
15075         FT_NONE, BASE_NONE, NULL, 0,
15076         "NonStandardParameter", HFILL }},
15077     { &hf_h245_receiveVideoCapability,
15078       { "receiveVideoCapability", "h245.receiveVideoCapability",
15079         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15080         "VideoCapability", HFILL }},
15081     { &hf_h245_transmitVideoCapability,
15082       { "transmitVideoCapability", "h245.transmitVideoCapability",
15083         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15084         "VideoCapability", HFILL }},
15085     { &hf_h245_receiveAndTransmitVideoCapability,
15086       { "receiveAndTransmitVideoCapability", "h245.receiveAndTransmitVideoCapability",
15087         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15088         "VideoCapability", HFILL }},
15089     { &hf_h245_receiveAudioCapability,
15090       { "receiveAudioCapability", "h245.receiveAudioCapability",
15091         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15092         "AudioCapability", HFILL }},
15093     { &hf_h245_transmitAudioCapability,
15094       { "transmitAudioCapability", "h245.transmitAudioCapability",
15095         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15096         "AudioCapability", HFILL }},
15097     { &hf_h245_receiveAndTransmitAudioCapability,
15098       { "receiveAndTransmitAudioCapability", "h245.receiveAndTransmitAudioCapability",
15099         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15100         "AudioCapability", HFILL }},
15101     { &hf_h245_receiveDataApplicationCapability,
15102       { "receiveDataApplicationCapability", "h245.receiveDataApplicationCapability_element",
15103         FT_NONE, BASE_NONE, NULL, 0,
15104         "DataApplicationCapability", HFILL }},
15105     { &hf_h245_transmitDataApplicationCapability,
15106       { "transmitDataApplicationCapability", "h245.transmitDataApplicationCapability_element",
15107         FT_NONE, BASE_NONE, NULL, 0,
15108         "DataApplicationCapability", HFILL }},
15109     { &hf_h245_receiveAndTransmitDataApplicationCapability,
15110       { "receiveAndTransmitDataApplicationCapability", "h245.receiveAndTransmitDataApplicationCapability_element",
15111         FT_NONE, BASE_NONE, NULL, 0,
15112         "DataApplicationCapability", HFILL }},
15113     { &hf_h245_h233EncryptionTransmitCapability,
15114       { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability",
15115         FT_BOOLEAN, BASE_NONE, NULL, 0,
15116         "BOOLEAN", HFILL }},
15117     { &hf_h245_h233EncryptionReceiveCapability,
15118       { "h233EncryptionReceiveCapability", "h245.h233EncryptionReceiveCapability_element",
15119         FT_NONE, BASE_NONE, NULL, 0,
15120         NULL, HFILL }},
15121     { &hf_h245_h233IVResponseTime,
15122       { "h233IVResponseTime", "h245.h233IVResponseTime",
15123         FT_UINT32, BASE_DEC, NULL, 0,
15124         "INTEGER_0_255", HFILL }},
15125     { &hf_h245_conferenceCapability,
15126       { "conferenceCapability", "h245.conferenceCapability_element",
15127         FT_NONE, BASE_NONE, NULL, 0,
15128         NULL, HFILL }},
15129     { &hf_h245_h235SecurityCapability,
15130       { "h235SecurityCapability", "h245.h235SecurityCapability_element",
15131         FT_NONE, BASE_NONE, NULL, 0,
15132         NULL, HFILL }},
15133     { &hf_h245_maxPendingReplacementFor,
15134       { "maxPendingReplacementFor", "h245.maxPendingReplacementFor",
15135         FT_UINT32, BASE_DEC, NULL, 0,
15136         "INTEGER_0_255", HFILL }},
15137     { &hf_h245_receiveUserInputCapability,
15138       { "receiveUserInputCapability", "h245.receiveUserInputCapability",
15139         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15140         "UserInputCapability", HFILL }},
15141     { &hf_h245_transmitUserInputCapability,
15142       { "transmitUserInputCapability", "h245.transmitUserInputCapability",
15143         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15144         "UserInputCapability", HFILL }},
15145     { &hf_h245_receiveAndTransmitUserInputCapability,
15146       { "receiveAndTransmitUserInputCapability", "h245.receiveAndTransmitUserInputCapability",
15147         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15148         "UserInputCapability", HFILL }},
15149     { &hf_h245_genericControlCapability,
15150       { "genericControlCapability", "h245.genericControlCapability_element",
15151         FT_NONE, BASE_NONE, NULL, 0,
15152         "GenericCapability", HFILL }},
15153     { &hf_h245_receiveMultiplexedStreamCapability,
15154       { "receiveMultiplexedStreamCapability", "h245.receiveMultiplexedStreamCapability_element",
15155         FT_NONE, BASE_NONE, NULL, 0,
15156         "MultiplexedStreamCapability", HFILL }},
15157     { &hf_h245_transmitMultiplexedStreamCapability,
15158       { "transmitMultiplexedStreamCapability", "h245.transmitMultiplexedStreamCapability_element",
15159         FT_NONE, BASE_NONE, NULL, 0,
15160         "MultiplexedStreamCapability", HFILL }},
15161     { &hf_h245_receiveAndTransmitMultiplexedStreamCapability,
15162       { "receiveAndTransmitMultiplexedStreamCapability", "h245.receiveAndTransmitMultiplexedStreamCapability_element",
15163         FT_NONE, BASE_NONE, NULL, 0,
15164         "MultiplexedStreamCapability", HFILL }},
15165     { &hf_h245_receiveRTPAudioTelephonyEventCapability,
15166       { "receiveRTPAudioTelephonyEventCapability", "h245.receiveRTPAudioTelephonyEventCapability_element",
15167         FT_NONE, BASE_NONE, NULL, 0,
15168         "AudioTelephonyEventCapability", HFILL }},
15169     { &hf_h245_receiveRTPAudioToneCapability,
15170       { "receiveRTPAudioToneCapability", "h245.receiveRTPAudioToneCapability_element",
15171         FT_NONE, BASE_NONE, NULL, 0,
15172         "AudioToneCapability", HFILL }},
15173     { &hf_h245_depFecCapability,
15174       { "depFecCapability", "h245.depFecCapability",
15175         FT_UINT32, BASE_DEC, VALS(h245_DepFECCapability_vals), 0,
15176         NULL, HFILL }},
15177     { &hf_h245_multiplePayloadStreamCapability,
15178       { "multiplePayloadStreamCapability", "h245.multiplePayloadStreamCapability_element",
15179         FT_NONE, BASE_NONE, NULL, 0,
15180         NULL, HFILL }},
15181     { &hf_h245_fecCapability,
15182       { "fecCapability", "h245.fecCapability_element",
15183         FT_NONE, BASE_NONE, NULL, 0,
15184         NULL, HFILL }},
15185     { &hf_h245_redundancyEncodingCap,
15186       { "redundancyEncodingCap", "h245.redundancyEncodingCap_element",
15187         FT_NONE, BASE_NONE, NULL, 0,
15188         "RedundancyEncodingCapability", HFILL }},
15189     { &hf_h245_oneOfCapabilities,
15190       { "oneOfCapabilities", "h245.oneOfCapabilities",
15191         FT_UINT32, BASE_DEC, NULL, 0,
15192         "AlternativeCapabilitySet", HFILL }},
15193     { &hf_h245_encryptionAuthenticationAndIntegrity,
15194       { "encryptionAuthenticationAndIntegrity", "h245.encryptionAuthenticationAndIntegrity_element",
15195         FT_NONE, BASE_NONE, NULL, 0,
15196         NULL, HFILL }},
15197     { &hf_h245_mediaCapability,
15198       { "mediaCapability", "h245.mediaCapability",
15199         FT_UINT32, BASE_DEC, NULL, 0,
15200         "CapabilityTableEntryNumber", HFILL }},
15201     { &hf_h245_h222Capability,
15202       { "h222Capability", "h245.h222Capability_element",
15203         FT_NONE, BASE_NONE, NULL, 0,
15204         NULL, HFILL }},
15205     { &hf_h245_h223Capability,
15206       { "h223Capability", "h245.h223Capability_element",
15207         FT_NONE, BASE_NONE, NULL, 0,
15208         NULL, HFILL }},
15209     { &hf_h245_v76Capability,
15210       { "v76Capability", "h245.v76Capability_element",
15211         FT_NONE, BASE_NONE, NULL, 0,
15212         NULL, HFILL }},
15213     { &hf_h245_h2250Capability,
15214       { "h2250Capability", "h245.h2250Capability_element",
15215         FT_NONE, BASE_NONE, NULL, 0,
15216         NULL, HFILL }},
15217     { &hf_h245_genericMultiplexCapability,
15218       { "genericMultiplexCapability", "h245.genericMultiplexCapability_element",
15219         FT_NONE, BASE_NONE, NULL, 0,
15220         "GenericCapability", HFILL }},
15221     { &hf_h245_numberOfVCs,
15222       { "numberOfVCs", "h245.numberOfVCs",
15223         FT_UINT32, BASE_DEC, NULL, 0,
15224         "INTEGER_1_256", HFILL }},
15225     { &hf_h245_vcCapability,
15226       { "vcCapability", "h245.vcCapability",
15227         FT_UINT32, BASE_DEC, NULL, 0,
15228         "SET_OF_VCCapability", HFILL }},
15229     { &hf_h245_vcCapability_item,
15230       { "VCCapability", "h245.VCCapability_element",
15231         FT_NONE, BASE_NONE, NULL, 0,
15232         NULL, HFILL }},
15233     { &hf_h245_aal1,
15234       { "aal1", "h245.aal1_element",
15235         FT_NONE, BASE_NONE, NULL, 0,
15236         NULL, HFILL }},
15237     { &hf_h245_nullClockRecovery,
15238       { "nullClockRecovery", "h245.nullClockRecovery",
15239         FT_BOOLEAN, BASE_NONE, NULL, 0,
15240         "BOOLEAN", HFILL }},
15241     { &hf_h245_srtsClockRecovery_bool,
15242       { "srtsClockRecovery", "h245.srtsClockRecovery",
15243         FT_BOOLEAN, BASE_NONE, NULL, 0,
15244         "BOOLEAN", HFILL }},
15245     { &hf_h245_adaptiveClockRecovery,
15246       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
15247         FT_BOOLEAN, BASE_NONE, NULL, 0,
15248         "BOOLEAN", HFILL }},
15249     { &hf_h245_nullErrorCorrection,
15250       { "nullErrorCorrection", "h245.nullErrorCorrection",
15251         FT_BOOLEAN, BASE_NONE, NULL, 0,
15252         "BOOLEAN", HFILL }},
15253     { &hf_h245_longInterleaver,
15254       { "longInterleaver", "h245.longInterleaver",
15255         FT_BOOLEAN, BASE_NONE, NULL, 0,
15256         "BOOLEAN", HFILL }},
15257     { &hf_h245_shortInterleaver,
15258       { "shortInterleaver", "h245.shortInterleaver",
15259         FT_BOOLEAN, BASE_NONE, NULL, 0,
15260         "BOOLEAN", HFILL }},
15261     { &hf_h245_errorCorrectionOnly,
15262       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
15263         FT_BOOLEAN, BASE_NONE, NULL, 0,
15264         "BOOLEAN", HFILL }},
15265     { &hf_h245_structuredDataTransfer,
15266       { "structuredDataTransfer", "h245.structuredDataTransfer",
15267         FT_BOOLEAN, BASE_NONE, NULL, 0,
15268         "BOOLEAN", HFILL }},
15269     { &hf_h245_partiallyFilledCells,
15270       { "partiallyFilledCells", "h245.partiallyFilledCells",
15271         FT_BOOLEAN, BASE_NONE, NULL, 0,
15272         "BOOLEAN", HFILL }},
15273     { &hf_h245_aal5,
15274       { "aal5", "h245.aal5_element",
15275         FT_NONE, BASE_NONE, NULL, 0,
15276         NULL, HFILL }},
15277     { &hf_h245_forwardMaximumSDUSize,
15278       { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize",
15279         FT_UINT32, BASE_DEC, NULL, 0,
15280         "INTEGER_0_65535", HFILL }},
15281     { &hf_h245_backwardMaximumSDUSize,
15282       { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize",
15283         FT_UINT32, BASE_DEC, NULL, 0,
15284         "INTEGER_0_65535", HFILL }},
15285     { &hf_h245_transportStream_bool,
15286       { "transportStream", "h245.transportStream",
15287         FT_BOOLEAN, BASE_NONE, NULL, 0,
15288         "BOOLEAN", HFILL }},
15289     { &hf_h245_programStream,
15290       { "programStream", "h245.programStream",
15291         FT_BOOLEAN, BASE_NONE, NULL, 0,
15292         "BOOLEAN", HFILL }},
15293     { &hf_h245_availableBitRates,
15294       { "availableBitRates", "h245.availableBitRates_element",
15295         FT_NONE, BASE_NONE, NULL, 0,
15296         NULL, HFILL }},
15297     { &hf_h245_avb_type,
15298       { "type", "h245.type",
15299         FT_UINT32, BASE_DEC, VALS(h245_Avb_type_vals), 0,
15300         "Avb_type", HFILL }},
15301     { &hf_h245_singleBitRate,
15302       { "singleBitRate", "h245.singleBitRate",
15303         FT_UINT32, BASE_DEC, NULL, 0,
15304         "INTEGER_1_65535", HFILL }},
15305     { &hf_h245_rangeOfBitRates,
15306       { "rangeOfBitRates", "h245.rangeOfBitRates_element",
15307         FT_NONE, BASE_NONE, NULL, 0,
15308         NULL, HFILL }},
15309     { &hf_h245_lowerBitRate,
15310       { "lowerBitRate", "h245.lowerBitRate",
15311         FT_UINT32, BASE_DEC, NULL, 0,
15312         "INTEGER_1_65535", HFILL }},
15313     { &hf_h245_higherBitRate,
15314       { "higherBitRate", "h245.higherBitRate",
15315         FT_UINT32, BASE_DEC, NULL, 0,
15316         "INTEGER_1_65535", HFILL }},
15317     { &hf_h245_aal1ViaGateway,
15318       { "aal1ViaGateway", "h245.aal1ViaGateway_element",
15319         FT_NONE, BASE_NONE, NULL, 0,
15320         NULL, HFILL }},
15321     { &hf_h245_gatewayAddress,
15322       { "gatewayAddress", "h245.gatewayAddress",
15323         FT_UINT32, BASE_DEC, NULL, 0,
15324         "SET_SIZE_1_256_OF_Q2931Address", HFILL }},
15325     { &hf_h245_gatewayAddress_item,
15326       { "Q2931Address", "h245.Q2931Address_element",
15327         FT_NONE, BASE_NONE, NULL, 0,
15328         NULL, HFILL }},
15329     { &hf_h245_srtsClockRecoveryflag,
15330       { "srtsClockRecovery", "h245.srtsClockRecovery",
15331         FT_BOOLEAN, BASE_NONE, NULL, 0,
15332         "BOOLEAN", HFILL }},
15333     { &hf_h245_transportWithI_frames,
15334       { "transportWithI-frames", "h245.transportWithI_frames",
15335         FT_BOOLEAN, BASE_NONE, NULL, 0,
15336         "BOOLEAN", HFILL }},
15337     { &hf_h245_videoWithAL1,
15338       { "videoWithAL1", "h245.videoWithAL1",
15339         FT_BOOLEAN, BASE_NONE, NULL, 0,
15340         "BOOLEAN", HFILL }},
15341     { &hf_h245_videoWithAL2,
15342       { "videoWithAL2", "h245.videoWithAL2",
15343         FT_BOOLEAN, BASE_NONE, NULL, 0,
15344         "BOOLEAN", HFILL }},
15345     { &hf_h245_videoWithAL3,
15346       { "videoWithAL3", "h245.videoWithAL3",
15347         FT_BOOLEAN, BASE_NONE, NULL, 0,
15348         "BOOLEAN", HFILL }},
15349     { &hf_h245_audioWithAL1,
15350       { "audioWithAL1", "h245.audioWithAL1",
15351         FT_BOOLEAN, BASE_NONE, NULL, 0,
15352         "BOOLEAN", HFILL }},
15353     { &hf_h245_audioWithAL2,
15354       { "audioWithAL2", "h245.audioWithAL2",
15355         FT_BOOLEAN, BASE_NONE, NULL, 0,
15356         "BOOLEAN", HFILL }},
15357     { &hf_h245_audioWithAL3,
15358       { "audioWithAL3", "h245.audioWithAL3",
15359         FT_BOOLEAN, BASE_NONE, NULL, 0,
15360         "BOOLEAN", HFILL }},
15361     { &hf_h245_dataWithAL1,
15362       { "dataWithAL1", "h245.dataWithAL1",
15363         FT_BOOLEAN, BASE_NONE, NULL, 0,
15364         "BOOLEAN", HFILL }},
15365     { &hf_h245_dataWithAL2,
15366       { "dataWithAL2", "h245.dataWithAL2",
15367         FT_BOOLEAN, BASE_NONE, NULL, 0,
15368         "BOOLEAN", HFILL }},
15369     { &hf_h245_dataWithAL3,
15370       { "dataWithAL3", "h245.dataWithAL3",
15371         FT_BOOLEAN, BASE_NONE, NULL, 0,
15372         "BOOLEAN", HFILL }},
15373     { &hf_h245_maximumAl2SDUSize,
15374       { "maximumAl2SDUSize", "h245.maximumAl2SDUSize",
15375         FT_UINT32, BASE_DEC, NULL, 0,
15376         "INTEGER_0_65535", HFILL }},
15377     { &hf_h245_maximumAl3SDUSize,
15378       { "maximumAl3SDUSize", "h245.maximumAl3SDUSize",
15379         FT_UINT32, BASE_DEC, NULL, 0,
15380         "INTEGER_0_65535", HFILL }},
15381     { &hf_h245_maximumDelayJitter,
15382       { "maximumDelayJitter", "h245.maximumDelayJitter",
15383         FT_UINT32, BASE_DEC, NULL, 0,
15384         "INTEGER_0_1023", HFILL }},
15385     { &hf_h245_h223MultiplexTableCapability,
15386       { "h223MultiplexTableCapability", "h245.h223MultiplexTableCapability",
15387         FT_UINT32, BASE_DEC, VALS(h245_T_h223MultiplexTableCapability_vals), 0,
15388         NULL, HFILL }},
15389     { &hf_h245_basic,
15390       { "basic", "h245.basic_element",
15391         FT_NONE, BASE_NONE, NULL, 0,
15392         NULL, HFILL }},
15393     { &hf_h245_enhanced,
15394       { "enhanced", "h245.enhanced_element",
15395         FT_NONE, BASE_NONE, NULL, 0,
15396         NULL, HFILL }},
15397     { &hf_h245_maximumNestingDepth,
15398       { "maximumNestingDepth", "h245.maximumNestingDepth",
15399         FT_UINT32, BASE_DEC, NULL, 0,
15400         "INTEGER_1_15", HFILL }},
15401     { &hf_h245_maximumElementListSize,
15402       { "maximumElementListSize", "h245.maximumElementListSize",
15403         FT_UINT32, BASE_DEC, NULL, 0,
15404         "INTEGER_2_255", HFILL }},
15405     { &hf_h245_maximumSubElementListSize,
15406       { "maximumSubElementListSize", "h245.maximumSubElementListSize",
15407         FT_UINT32, BASE_DEC, NULL, 0,
15408         "INTEGER_2_255", HFILL }},
15409     { &hf_h245_maxMUXPDUSizeCapability,
15410       { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability",
15411         FT_BOOLEAN, BASE_NONE, NULL, 0,
15412         "BOOLEAN", HFILL }},
15413     { &hf_h245_nsrpSupport,
15414       { "nsrpSupport", "h245.nsrpSupport",
15415         FT_BOOLEAN, BASE_NONE, NULL, 0,
15416         "BOOLEAN", HFILL }},
15417     { &hf_h245_mobileOperationTransmitCapability,
15418       { "mobileOperationTransmitCapability", "h245.mobileOperationTransmitCapability_element",
15419         FT_NONE, BASE_NONE, NULL, 0,
15420         NULL, HFILL }},
15421     { &hf_h245_modeChangeCapability,
15422       { "modeChangeCapability", "h245.modeChangeCapability",
15423         FT_BOOLEAN, BASE_NONE, NULL, 0,
15424         "BOOLEAN", HFILL }},
15425     { &hf_h245_h223AnnexA,
15426       { "h223AnnexA", "h245.h223AnnexA",
15427         FT_BOOLEAN, BASE_NONE, NULL, 0,
15428         "BOOLEAN", HFILL }},
15429     { &hf_h245_h223AnnexADoubleFlagFlag,
15430       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
15431         FT_BOOLEAN, BASE_NONE, NULL, 0,
15432         "BOOLEAN", HFILL }},
15433     { &hf_h245_h223AnnexB,
15434       { "h223AnnexB", "h245.h223AnnexB",
15435         FT_BOOLEAN, BASE_NONE, NULL, 0,
15436         "BOOLEAN", HFILL }},
15437     { &hf_h245_h223AnnexBwithHeader,
15438       { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader",
15439         FT_BOOLEAN, BASE_NONE, NULL, 0,
15440         "BOOLEAN", HFILL }},
15441     { &hf_h245_h223AnnexCCapability,
15442       { "h223AnnexCCapability", "h245.h223AnnexCCapability_element",
15443         FT_NONE, BASE_NONE, NULL, 0,
15444         NULL, HFILL }},
15445     { &hf_h245_bitRate_1_19200,
15446       { "bitRate", "h245.bitRate",
15447         FT_UINT32, BASE_DEC, NULL, 0,
15448         "INTEGER_1_19200", HFILL }},
15449     { &hf_h245_mobileMultilinkFrameCapability,
15450       { "mobileMultilinkFrameCapability", "h245.mobileMultilinkFrameCapability_element",
15451         FT_NONE, BASE_NONE, NULL, 0,
15452         NULL, HFILL }},
15453     { &hf_h245_maximumSampleSize,
15454       { "maximumSampleSize", "h245.maximumSampleSize",
15455         FT_UINT32, BASE_DEC, NULL, 0,
15456         "INTEGER_1_255", HFILL }},
15457     { &hf_h245_maximumPayloadLength,
15458       { "maximumPayloadLength", "h245.maximumPayloadLength",
15459         FT_UINT32, BASE_DEC, NULL, 0,
15460         "INTEGER_1_65025", HFILL }},
15461     { &hf_h245_videoWithAL1M,
15462       { "videoWithAL1M", "h245.videoWithAL1M",
15463         FT_BOOLEAN, BASE_NONE, NULL, 0,
15464         "BOOLEAN", HFILL }},
15465     { &hf_h245_videoWithAL2M,
15466       { "videoWithAL2M", "h245.videoWithAL2M",
15467         FT_BOOLEAN, BASE_NONE, NULL, 0,
15468         "BOOLEAN", HFILL }},
15469     { &hf_h245_videoWithAL3M,
15470       { "videoWithAL3M", "h245.videoWithAL3M",
15471         FT_BOOLEAN, BASE_NONE, NULL, 0,
15472         "BOOLEAN", HFILL }},
15473     { &hf_h245_audioWithAL1M,
15474       { "audioWithAL1M", "h245.audioWithAL1M",
15475         FT_BOOLEAN, BASE_NONE, NULL, 0,
15476         "BOOLEAN", HFILL }},
15477     { &hf_h245_audioWithAL2M,
15478       { "audioWithAL2M", "h245.audioWithAL2M",
15479         FT_BOOLEAN, BASE_NONE, NULL, 0,
15480         "BOOLEAN", HFILL }},
15481     { &hf_h245_audioWithAL3M,
15482       { "audioWithAL3M", "h245.audioWithAL3M",
15483         FT_BOOLEAN, BASE_NONE, NULL, 0,
15484         "BOOLEAN", HFILL }},
15485     { &hf_h245_dataWithAL1M,
15486       { "dataWithAL1M", "h245.dataWithAL1M",
15487         FT_BOOLEAN, BASE_NONE, NULL, 0,
15488         "BOOLEAN", HFILL }},
15489     { &hf_h245_dataWithAL2M,
15490       { "dataWithAL2M", "h245.dataWithAL2M",
15491         FT_BOOLEAN, BASE_NONE, NULL, 0,
15492         "BOOLEAN", HFILL }},
15493     { &hf_h245_dataWithAL3M,
15494       { "dataWithAL3M", "h245.dataWithAL3M",
15495         FT_BOOLEAN, BASE_NONE, NULL, 0,
15496         "BOOLEAN", HFILL }},
15497     { &hf_h245_alpduInterleaving,
15498       { "alpduInterleaving", "h245.alpduInterleaving",
15499         FT_BOOLEAN, BASE_NONE, NULL, 0,
15500         "BOOLEAN", HFILL }},
15501     { &hf_h245_maximumAL1MPDUSize,
15502       { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize",
15503         FT_UINT32, BASE_DEC, NULL, 0,
15504         "INTEGER_0_65535", HFILL }},
15505     { &hf_h245_maximumAL2MSDUSize,
15506       { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize",
15507         FT_UINT32, BASE_DEC, NULL, 0,
15508         "INTEGER_0_65535", HFILL }},
15509     { &hf_h245_maximumAL3MSDUSize,
15510       { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize",
15511         FT_UINT32, BASE_DEC, NULL, 0,
15512         "INTEGER_0_65535", HFILL }},
15513     { &hf_h245_rsCodeCapability,
15514       { "rsCodeCapability", "h245.rsCodeCapability",
15515         FT_BOOLEAN, BASE_NONE, NULL, 0,
15516         "BOOLEAN", HFILL }},
15517     { &hf_h245_suspendResumeCapabilitywAddress,
15518       { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress",
15519         FT_BOOLEAN, BASE_NONE, NULL, 0,
15520         "BOOLEAN", HFILL }},
15521     { &hf_h245_suspendResumeCapabilitywoAddress,
15522       { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress",
15523         FT_BOOLEAN, BASE_NONE, NULL, 0,
15524         "BOOLEAN", HFILL }},
15525     { &hf_h245_rejCapability,
15526       { "rejCapability", "h245.rejCapability",
15527         FT_BOOLEAN, BASE_NONE, NULL, 0,
15528         "BOOLEAN", HFILL }},
15529     { &hf_h245_sREJCapability,
15530       { "sREJCapability", "h245.sREJCapability",
15531         FT_BOOLEAN, BASE_NONE, NULL, 0,
15532         "BOOLEAN", HFILL }},
15533     { &hf_h245_mREJCapability,
15534       { "mREJCapability", "h245.mREJCapability",
15535         FT_BOOLEAN, BASE_NONE, NULL, 0,
15536         "BOOLEAN", HFILL }},
15537     { &hf_h245_crc8bitCapability,
15538       { "crc8bitCapability", "h245.crc8bitCapability",
15539         FT_BOOLEAN, BASE_NONE, NULL, 0,
15540         "BOOLEAN", HFILL }},
15541     { &hf_h245_crc16bitCapability,
15542       { "crc16bitCapability", "h245.crc16bitCapability",
15543         FT_BOOLEAN, BASE_NONE, NULL, 0,
15544         "BOOLEAN", HFILL }},
15545     { &hf_h245_crc32bitCapability,
15546       { "crc32bitCapability", "h245.crc32bitCapability",
15547         FT_BOOLEAN, BASE_NONE, NULL, 0,
15548         "BOOLEAN", HFILL }},
15549     { &hf_h245_uihCapability,
15550       { "uihCapability", "h245.uihCapability",
15551         FT_BOOLEAN, BASE_NONE, NULL, 0,
15552         "BOOLEAN", HFILL }},
15553     { &hf_h245_numOfDLCS,
15554       { "numOfDLCS", "h245.numOfDLCS",
15555         FT_UINT32, BASE_DEC, NULL, 0,
15556         "INTEGER_2_8191", HFILL }},
15557     { &hf_h245_twoOctetAddressFieldCapability,
15558       { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability",
15559         FT_BOOLEAN, BASE_NONE, NULL, 0,
15560         "BOOLEAN", HFILL }},
15561     { &hf_h245_loopBackTestCapability,
15562       { "loopBackTestCapability", "h245.loopBackTestCapability",
15563         FT_BOOLEAN, BASE_NONE, NULL, 0,
15564         "BOOLEAN", HFILL }},
15565     { &hf_h245_n401Capability,
15566       { "n401Capability", "h245.n401Capability",
15567         FT_UINT32, BASE_DEC, NULL, 0,
15568         "INTEGER_1_4095", HFILL }},
15569     { &hf_h245_maxWindowSizeCapability,
15570       { "maxWindowSizeCapability", "h245.maxWindowSizeCapability",
15571         FT_UINT32, BASE_DEC, NULL, 0,
15572         "INTEGER_1_127", HFILL }},
15573     { &hf_h245_v75Capability,
15574       { "v75Capability", "h245.v75Capability_element",
15575         FT_NONE, BASE_NONE, NULL, 0,
15576         NULL, HFILL }},
15577     { &hf_h245_audioHeader,
15578       { "audioHeader", "h245.audioHeader",
15579         FT_BOOLEAN, BASE_NONE, NULL, 0,
15580         "BOOLEAN", HFILL }},
15581     { &hf_h245_maximumAudioDelayJitter,
15582       { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter",
15583         FT_UINT32, BASE_DEC, NULL, 0,
15584         "INTEGER_0_1023", HFILL }},
15585     { &hf_h245_receiveMultipointCapability,
15586       { "receiveMultipointCapability", "h245.receiveMultipointCapability_element",
15587         FT_NONE, BASE_NONE, NULL, 0,
15588         "MultipointCapability", HFILL }},
15589     { &hf_h245_transmitMultipointCapability,
15590       { "transmitMultipointCapability", "h245.transmitMultipointCapability_element",
15591         FT_NONE, BASE_NONE, NULL, 0,
15592         "MultipointCapability", HFILL }},
15593     { &hf_h245_receiveAndTransmitMultipointCapability,
15594       { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability_element",
15595         FT_NONE, BASE_NONE, NULL, 0,
15596         "MultipointCapability", HFILL }},
15597     { &hf_h245_mcCapability,
15598       { "mcCapability", "h245.mcCapability_element",
15599         FT_NONE, BASE_NONE, NULL, 0,
15600         NULL, HFILL }},
15601     { &hf_h245_centralizedConferenceMC,
15602       { "centralizedConferenceMC", "h245.centralizedConferenceMC",
15603         FT_BOOLEAN, BASE_NONE, NULL, 0,
15604         "BOOLEAN", HFILL }},
15605     { &hf_h245_decentralizedConferenceMC,
15606       { "decentralizedConferenceMC", "h245.decentralizedConferenceMC",
15607         FT_BOOLEAN, BASE_NONE, NULL, 0,
15608         "BOOLEAN", HFILL }},
15609     { &hf_h245_rtcpVideoControlCapability,
15610       { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability",
15611         FT_BOOLEAN, BASE_NONE, NULL, 0,
15612         "BOOLEAN", HFILL }},
15613     { &hf_h245_mediaPacketizationCapability,
15614       { "mediaPacketizationCapability", "h245.mediaPacketizationCapability_element",
15615         FT_NONE, BASE_NONE, NULL, 0,
15616         NULL, HFILL }},
15617     { &hf_h245_transportCapability,
15618       { "transportCapability", "h245.transportCapability_element",
15619         FT_NONE, BASE_NONE, NULL, 0,
15620         NULL, HFILL }},
15621     { &hf_h245_redundancyEncodingCapability,
15622       { "redundancyEncodingCapability", "h245.redundancyEncodingCapability",
15623         FT_UINT32, BASE_DEC, NULL, 0,
15624         "SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability", HFILL }},
15625     { &hf_h245_redundancyEncodingCapability_item,
15626       { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability_element",
15627         FT_NONE, BASE_NONE, NULL, 0,
15628         NULL, HFILL }},
15629     { &hf_h245_logicalChannelSwitchingCapability,
15630       { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability",
15631         FT_BOOLEAN, BASE_NONE, NULL, 0,
15632         "BOOLEAN", HFILL }},
15633     { &hf_h245_t120DynamicPortCapability,
15634       { "t120DynamicPortCapability", "h245.t120DynamicPortCapability",
15635         FT_BOOLEAN, BASE_NONE, NULL, 0,
15636         "BOOLEAN", HFILL }},
15637     { &hf_h245_h261aVideoPacketization,
15638       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
15639         FT_BOOLEAN, BASE_NONE, NULL, 0,
15640         "BOOLEAN", HFILL }},
15641     { &hf_h245_rtpPayloadTypes,
15642       { "rtpPayloadType", "h245.rtpPayloadType",
15643         FT_UINT32, BASE_DEC, NULL, 0,
15644         "SEQUENCE_SIZE_1_256_OF_RTPPayloadType", HFILL }},
15645     { &hf_h245_rtpPayloadTypes_item,
15646       { "RTPPayloadType", "h245.RTPPayloadType_element",
15647         FT_NONE, BASE_NONE, NULL, 0,
15648         NULL, HFILL }},
15649     { &hf_h245_qosMode,
15650       { "qosMode", "h245.qosMode",
15651         FT_UINT32, BASE_DEC, VALS(h245_QOSMode_vals), 0,
15652         NULL, HFILL }},
15653     { &hf_h245_tokenRate,
15654       { "tokenRate", "h245.tokenRate",
15655         FT_UINT32, BASE_DEC, NULL, 0,
15656         "INTEGER_1_4294967295", HFILL }},
15657     { &hf_h245_bucketSize,
15658       { "bucketSize", "h245.bucketSize",
15659         FT_UINT32, BASE_DEC, NULL, 0,
15660         "INTEGER_1_4294967295", HFILL }},
15661     { &hf_h245_peakRate,
15662       { "peakRate", "h245.peakRate",
15663         FT_UINT32, BASE_DEC, NULL, 0,
15664         "INTEGER_1_4294967295", HFILL }},
15665     { &hf_h245_minPoliced,
15666       { "minPoliced", "h245.minPoliced",
15667         FT_UINT32, BASE_DEC, NULL, 0,
15668         "INTEGER_1_4294967295", HFILL }},
15669     { &hf_h245_maxPktSize,
15670       { "maxPktSize", "h245.maxPktSize",
15671         FT_UINT32, BASE_DEC, NULL, 0,
15672         "INTEGER_1_4294967295", HFILL }},
15673     { &hf_h245_guaranteedQOS,
15674       { "guaranteedQOS", "h245.guaranteedQOS_element",
15675         FT_NONE, BASE_NONE, NULL, 0,
15676         NULL, HFILL }},
15677     { &hf_h245_controlledLoad,
15678       { "controlledLoad", "h245.controlledLoad_element",
15679         FT_NONE, BASE_NONE, NULL, 0,
15680         NULL, HFILL }},
15681     { &hf_h245_maxNTUSize,
15682       { "maxNTUSize", "h245.maxNTUSize",
15683         FT_UINT32, BASE_DEC, NULL, 0,
15684         "INTEGER_0_65535", HFILL }},
15685     { &hf_h245_atmUBR,
15686       { "atmUBR", "h245.atmUBR",
15687         FT_BOOLEAN, BASE_NONE, NULL, 0,
15688         "BOOLEAN", HFILL }},
15689     { &hf_h245_atmrtVBR,
15690       { "atmrtVBR", "h245.atmrtVBR",
15691         FT_BOOLEAN, BASE_NONE, NULL, 0,
15692         "BOOLEAN", HFILL }},
15693     { &hf_h245_atmnrtVBR,
15694       { "atmnrtVBR", "h245.atmnrtVBR",
15695         FT_BOOLEAN, BASE_NONE, NULL, 0,
15696         "BOOLEAN", HFILL }},
15697     { &hf_h245_atmABR,
15698       { "atmABR", "h245.atmABR",
15699         FT_BOOLEAN, BASE_NONE, NULL, 0,
15700         "BOOLEAN", HFILL }},
15701     { &hf_h245_atmCBR,
15702       { "atmCBR", "h245.atmCBR",
15703         FT_BOOLEAN, BASE_NONE, NULL, 0,
15704         "BOOLEAN", HFILL }},
15705     { &hf_h245_nonStandardParameter,
15706       { "nonStandardParameter", "h245.nonStandardParameter_element",
15707         FT_NONE, BASE_NONE, NULL, 0,
15708         NULL, HFILL }},
15709     { &hf_h245_value,
15710       { "value", "h245.value",
15711         FT_UINT32, BASE_DEC, NULL, 0,
15712         "INTEGER_0_255", HFILL }},
15713     { &hf_h245_servicePrioritySignalled,
15714       { "servicePrioritySignalled", "h245.servicePrioritySignalled",
15715         FT_BOOLEAN, BASE_NONE, NULL, 0,
15716         "BOOLEAN", HFILL }},
15717     { &hf_h245_servicePriorityValue,
15718       { "servicePriorityValue", "h245.servicePriorityValue_element",
15719         FT_NONE, BASE_NONE, NULL, 0,
15720         NULL, HFILL }},
15721     { &hf_h245_serviceClass,
15722       { "serviceClass", "h245.serviceClass",
15723         FT_UINT32, BASE_DEC, NULL, 0,
15724         "INTEGER_0_4095", HFILL }},
15725     { &hf_h245_serviceSubclass,
15726       { "serviceSubclass", "h245.serviceSubclass",
15727         FT_UINT32, BASE_DEC, NULL, 0,
15728         "INTEGER_0_255", HFILL }},
15729     { &hf_h245_desired,
15730       { "desired", "h245.desired_element",
15731         FT_NONE, BASE_NONE, NULL, 0,
15732         NULL, HFILL }},
15733     { &hf_h245_required,
15734       { "required", "h245.required_element",
15735         FT_NONE, BASE_NONE, NULL, 0,
15736         NULL, HFILL }},
15737     { &hf_h245_class0,
15738       { "class0", "h245.class0_element",
15739         FT_NONE, BASE_NONE, NULL, 0,
15740         NULL, HFILL }},
15741     { &hf_h245_class1,
15742       { "class1", "h245.class1_element",
15743         FT_NONE, BASE_NONE, NULL, 0,
15744         NULL, HFILL }},
15745     { &hf_h245_class2,
15746       { "class2", "h245.class2_element",
15747         FT_NONE, BASE_NONE, NULL, 0,
15748         NULL, HFILL }},
15749     { &hf_h245_class3,
15750       { "class3", "h245.class3_element",
15751         FT_NONE, BASE_NONE, NULL, 0,
15752         NULL, HFILL }},
15753     { &hf_h245_class4,
15754       { "class4", "h245.class4_element",
15755         FT_NONE, BASE_NONE, NULL, 0,
15756         NULL, HFILL }},
15757     { &hf_h245_class5,
15758       { "class5", "h245.class5_element",
15759         FT_NONE, BASE_NONE, NULL, 0,
15760         NULL, HFILL }},
15761     { &hf_h245_qosType,
15762       { "qosType", "h245.qosType",
15763         FT_UINT32, BASE_DEC, VALS(h245_QOSType_vals), 0,
15764         NULL, HFILL }},
15765     { &hf_h245_qosClass,
15766       { "qosClass", "h245.qosClass",
15767         FT_UINT32, BASE_DEC, VALS(h245_QOSClass_vals), 0,
15768         NULL, HFILL }},
15769     { &hf_h245_averageRate,
15770       { "averageRate", "h245.averageRate",
15771         FT_UINT32, BASE_DEC, NULL, 0,
15772         "INTEGER_1_4294967295", HFILL }},
15773     { &hf_h245_burst,
15774       { "burst", "h245.burst",
15775         FT_UINT32, BASE_DEC, NULL, 0,
15776         "INTEGER_1_4294967295", HFILL }},
15777     { &hf_h245_rsvpParameters,
15778       { "rsvpParameters", "h245.rsvpParameters_element",
15779         FT_NONE, BASE_NONE, NULL, 0,
15780         NULL, HFILL }},
15781     { &hf_h245_atmParameters,
15782       { "atmParameters", "h245.atmParameters_element",
15783         FT_NONE, BASE_NONE, NULL, 0,
15784         NULL, HFILL }},
15785     { &hf_h245_localQoS,
15786       { "localQoS", "h245.localQoS",
15787         FT_BOOLEAN, BASE_NONE, NULL, 0,
15788         "BOOLEAN", HFILL }},
15789     { &hf_h245_genericTransportParameters,
15790       { "genericTransportParameters", "h245.genericTransportParameters_element",
15791         FT_NONE, BASE_NONE, NULL, 0,
15792         NULL, HFILL }},
15793     { &hf_h245_servicePriority,
15794       { "servicePriority", "h245.servicePriority_element",
15795         FT_NONE, BASE_NONE, NULL, 0,
15796         NULL, HFILL }},
15797     { &hf_h245_authorizationParameter,
15798       { "authorizationParameter", "h245.authorizationParameter_element",
15799         FT_NONE, BASE_NONE, NULL, 0,
15800         "AuthorizationParameters", HFILL }},
15801     { &hf_h245_qosDescriptor,
15802       { "qosDescriptor", "h245.qosDescriptor_element",
15803         FT_NONE, BASE_NONE, NULL, 0,
15804         NULL, HFILL }},
15805     { &hf_h245_dscpValue,
15806       { "dscpValue", "h245.dscpValue",
15807         FT_UINT32, BASE_DEC, NULL, 0,
15808         "INTEGER_0_63", HFILL }},
15809     { &hf_h245_ip_UDP,
15810       { "ip-UDP", "h245.ip_UDP_element",
15811         FT_NONE, BASE_NONE, NULL, 0,
15812         NULL, HFILL }},
15813     { &hf_h245_ip_TCP,
15814       { "ip-TCP", "h245.ip_TCP_element",
15815         FT_NONE, BASE_NONE, NULL, 0,
15816         NULL, HFILL }},
15817     { &hf_h245_atm_AAL5_UNIDIR,
15818       { "atm-AAL5-UNIDIR", "h245.atm_AAL5_UNIDIR_element",
15819         FT_NONE, BASE_NONE, NULL, 0,
15820         NULL, HFILL }},
15821     { &hf_h245_atm_AAL5_BIDIR,
15822       { "atm-AAL5-BIDIR", "h245.atm_AAL5_BIDIR_element",
15823         FT_NONE, BASE_NONE, NULL, 0,
15824         NULL, HFILL }},
15825     { &hf_h245_atm_AAL5_compressed,
15826       { "atm-AAL5-compressed", "h245.atm_AAL5_compressed_element",
15827         FT_NONE, BASE_NONE, NULL, 0,
15828         NULL, HFILL }},
15829     { &hf_h245_variable_delta,
15830       { "variable-delta", "h245.variable_delta",
15831         FT_BOOLEAN, BASE_NONE, NULL, 0,
15832         "BOOLEAN", HFILL }},
15833     { &hf_h245_mediaTransport,
15834       { "mediaTransport", "h245.mediaTransport",
15835         FT_UINT32, BASE_DEC, VALS(h245_MediaTransportType_vals), 0,
15836         "MediaTransportType", HFILL }},
15837     { &hf_h245_qOSCapabilities,
15838       { "qOSCapabilities", "h245.qOSCapabilities",
15839         FT_UINT32, BASE_DEC, NULL, 0,
15840         "SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }},
15841     { &hf_h245_qOSCapabilities_item,
15842       { "QOSCapability", "h245.QOSCapability_element",
15843         FT_NONE, BASE_NONE, NULL, 0,
15844         NULL, HFILL }},
15845     { &hf_h245_mediaChannelCapabilities,
15846       { "mediaChannelCapabilities", "h245.mediaChannelCapabilities",
15847         FT_UINT32, BASE_DEC, NULL, 0,
15848         "SEQUENCE_SIZE_1_256_OF_MediaChannelCapability", HFILL }},
15849     { &hf_h245_mediaChannelCapabilities_item,
15850       { "MediaChannelCapability", "h245.MediaChannelCapability_element",
15851         FT_NONE, BASE_NONE, NULL, 0,
15852         NULL, HFILL }},
15853     { &hf_h245_redundancyEncodingMethod,
15854       { "redundancyEncodingMethod", "h245.redundancyEncodingMethod",
15855         FT_UINT32, BASE_DEC, VALS(h245_RedundancyEncodingMethod_vals), 0,
15856         NULL, HFILL }},
15857     { &hf_h245_primaryEncoding,
15858       { "primaryEncoding", "h245.primaryEncoding",
15859         FT_UINT32, BASE_DEC, NULL, 0,
15860         "CapabilityTableEntryNumber", HFILL }},
15861     { &hf_h245_secondaryEncodingCapability,
15862       { "secondaryEncoding", "h245.secondaryEncoding",
15863         FT_UINT32, BASE_DEC, NULL, 0,
15864         "SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber", HFILL }},
15865     { &hf_h245_secondaryEncodingCapability_item,
15866       { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
15867         FT_UINT32, BASE_DEC, NULL, 0,
15868         NULL, HFILL }},
15869     { &hf_h245_rtpAudioRedundancyEncoding,
15870       { "rtpAudioRedundancyEncoding", "h245.rtpAudioRedundancyEncoding_element",
15871         FT_NONE, BASE_NONE, NULL, 0,
15872         NULL, HFILL }},
15873     { &hf_h245_rtpH263VideoRedundancyEncoding,
15874       { "rtpH263VideoRedundancyEncoding", "h245.rtpH263VideoRedundancyEncoding_element",
15875         FT_NONE, BASE_NONE, NULL, 0,
15876         NULL, HFILL }},
15877     { &hf_h245_numberOfThreads,
15878       { "numberOfThreads", "h245.numberOfThreads",
15879         FT_UINT32, BASE_DEC, NULL, 0,
15880         "INTEGER_1_16", HFILL }},
15881     { &hf_h245_framesBetweenSyncPoints,
15882       { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints",
15883         FT_UINT32, BASE_DEC, NULL, 0,
15884         "INTEGER_1_256", HFILL }},
15885     { &hf_h245_frameToThreadMapping,
15886       { "frameToThreadMapping", "h245.frameToThreadMapping",
15887         FT_UINT32, BASE_DEC, VALS(h245_T_frameToThreadMapping_vals), 0,
15888         NULL, HFILL }},
15889     { &hf_h245_roundrobin,
15890       { "roundrobin", "h245.roundrobin_element",
15891         FT_NONE, BASE_NONE, NULL, 0,
15892         NULL, HFILL }},
15893     { &hf_h245_custom,
15894       { "custom", "h245.custom",
15895         FT_UINT32, BASE_DEC, NULL, 0,
15896         "SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping", HFILL }},
15897     { &hf_h245_custom_item,
15898       { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping_element",
15899         FT_NONE, BASE_NONE, NULL, 0,
15900         NULL, HFILL }},
15901     { &hf_h245_containedThreads,
15902       { "containedThreads", "h245.containedThreads",
15903         FT_UINT32, BASE_DEC, NULL, 0,
15904         NULL, HFILL }},
15905     { &hf_h245_containedThreads_item,
15906       { "containedThreads item", "h245.containedThreads_item",
15907         FT_UINT32, BASE_DEC, NULL, 0,
15908         "INTEGER_0_15", HFILL }},
15909     { &hf_h245_threadNumber,
15910       { "threadNumber", "h245.threadNumber",
15911         FT_UINT32, BASE_DEC, NULL, 0,
15912         "INTEGER_0_15", HFILL }},
15913     { &hf_h245_frameSequence,
15914       { "frameSequence", "h245.frameSequence",
15915         FT_UINT32, BASE_DEC, NULL, 0,
15916         NULL, HFILL }},
15917     { &hf_h245_frameSequence_item,
15918       { "frameSequence item", "h245.frameSequence_item",
15919         FT_UINT32, BASE_DEC, NULL, 0,
15920         "INTEGER_0_255", HFILL }},
15921     { &hf_h245_multicastCapability,
15922       { "multicastCapability", "h245.multicastCapability",
15923         FT_BOOLEAN, BASE_NONE, NULL, 0,
15924         "BOOLEAN", HFILL }},
15925     { &hf_h245_multiUniCastConference,
15926       { "multiUniCastConference", "h245.multiUniCastConference",
15927         FT_BOOLEAN, BASE_NONE, NULL, 0,
15928         "BOOLEAN", HFILL }},
15929     { &hf_h245_mediaDistributionCapability,
15930       { "mediaDistributionCapability", "h245.mediaDistributionCapability",
15931         FT_UINT32, BASE_DEC, NULL, 0,
15932         "SEQUENCE_OF_MediaDistributionCapability", HFILL }},
15933     { &hf_h245_mediaDistributionCapability_item,
15934       { "MediaDistributionCapability", "h245.MediaDistributionCapability_element",
15935         FT_NONE, BASE_NONE, NULL, 0,
15936         NULL, HFILL }},
15937     { &hf_h245_centralizedControl,
15938       { "centralizedControl", "h245.centralizedControl",
15939         FT_BOOLEAN, BASE_NONE, NULL, 0,
15940         "BOOLEAN", HFILL }},
15941     { &hf_h245_distributedControl,
15942       { "distributedControl", "h245.distributedControl",
15943         FT_BOOLEAN, BASE_NONE, NULL, 0,
15944         "BOOLEAN", HFILL }},
15945     { &hf_h245_centralizedAudio,
15946       { "centralizedAudio", "h245.centralizedAudio",
15947         FT_BOOLEAN, BASE_NONE, NULL, 0,
15948         "BOOLEAN", HFILL }},
15949     { &hf_h245_distributedAudio,
15950       { "distributedAudio", "h245.distributedAudio",
15951         FT_BOOLEAN, BASE_NONE, NULL, 0,
15952         "BOOLEAN", HFILL }},
15953     { &hf_h245_centralizedVideo,
15954       { "centralizedVideo", "h245.centralizedVideo",
15955         FT_BOOLEAN, BASE_NONE, NULL, 0,
15956         "BOOLEAN", HFILL }},
15957     { &hf_h245_distributedVideo,
15958       { "distributedVideo", "h245.distributedVideo",
15959         FT_BOOLEAN, BASE_NONE, NULL, 0,
15960         "BOOLEAN", HFILL }},
15961     { &hf_h245_centralizedData,
15962       { "centralizedData", "h245.centralizedData",
15963         FT_UINT32, BASE_DEC, NULL, 0,
15964         "SEQUENCE_OF_DataApplicationCapability", HFILL }},
15965     { &hf_h245_centralizedData_item,
15966       { "DataApplicationCapability", "h245.DataApplicationCapability_element",
15967         FT_NONE, BASE_NONE, NULL, 0,
15968         NULL, HFILL }},
15969     { &hf_h245_distributedData,
15970       { "distributedData", "h245.distributedData",
15971         FT_UINT32, BASE_DEC, NULL, 0,
15972         "SEQUENCE_OF_DataApplicationCapability", HFILL }},
15973     { &hf_h245_distributedData_item,
15974       { "DataApplicationCapability", "h245.DataApplicationCapability_element",
15975         FT_NONE, BASE_NONE, NULL, 0,
15976         NULL, HFILL }},
15977     { &hf_h245_h261VideoCapability,
15978       { "h261VideoCapability", "h245.h261VideoCapability_element",
15979         FT_NONE, BASE_NONE, NULL, 0,
15980         NULL, HFILL }},
15981     { &hf_h245_h262VideoCapability,
15982       { "h262VideoCapability", "h245.h262VideoCapability_element",
15983         FT_NONE, BASE_NONE, NULL, 0,
15984         NULL, HFILL }},
15985     { &hf_h245_h263VideoCapability,
15986       { "h263VideoCapability", "h245.h263VideoCapability_element",
15987         FT_NONE, BASE_NONE, NULL, 0,
15988         NULL, HFILL }},
15989     { &hf_h245_is11172VideoCapability,
15990       { "is11172VideoCapability", "h245.is11172VideoCapability_element",
15991         FT_NONE, BASE_NONE, NULL, 0,
15992         NULL, HFILL }},
15993     { &hf_h245_genericVideoCapability,
15994       { "genericVideoCapability", "h245.genericVideoCapability_element",
15995         FT_NONE, BASE_NONE, NULL, 0,
15996         "GenericCapability", HFILL }},
15997     { &hf_h245_extendedVideoCapability,
15998       { "extendedVideoCapability", "h245.extendedVideoCapability_element",
15999         FT_NONE, BASE_NONE, NULL, 0,
16000         NULL, HFILL }},
16001     { &hf_h245_videoCapability,
16002       { "videoCapability", "h245.videoCapability",
16003         FT_UINT32, BASE_DEC, NULL, 0,
16004         "SEQUENCE_OF_VideoCapability", HFILL }},
16005     { &hf_h245_videoCapability_item,
16006       { "VideoCapability", "h245.VideoCapability",
16007         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
16008         NULL, HFILL }},
16009     { &hf_h245_videoCapabilityExtension,
16010       { "videoCapabilityExtension", "h245.videoCapabilityExtension",
16011         FT_UINT32, BASE_DEC, NULL, 0,
16012         "SEQUENCE_OF_GenericCapability", HFILL }},
16013     { &hf_h245_videoCapabilityExtension_item,
16014       { "GenericCapability", "h245.GenericCapability_element",
16015         FT_NONE, BASE_NONE, NULL, 0,
16016         NULL, HFILL }},
16017     { &hf_h245_qcifMPI_1_4,
16018       { "qcifMPI", "h245.qcifMPI",
16019         FT_UINT32, BASE_DEC, NULL, 0,
16020         "INTEGER_1_4", HFILL }},
16021     { &hf_h245_cifMPI_1_4,
16022       { "cifMPI", "h245.cifMPI",
16023         FT_UINT32, BASE_DEC, NULL, 0,
16024         "INTEGER_1_4", HFILL }},
16025     { &hf_h245_temporalSpatialTradeOffCapability,
16026       { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability",
16027         FT_BOOLEAN, BASE_NONE, NULL, 0,
16028         "BOOLEAN", HFILL }},
16029     { &hf_h245_maxBitRate_1_19200,
16030       { "maxBitRate", "h245.maxBitRate",
16031         FT_UINT32, BASE_DEC, NULL, 0,
16032         "INTEGER_1_19200", HFILL }},
16033     { &hf_h245_stillImageTransmission,
16034       { "stillImageTransmission", "h245.stillImageTransmission",
16035         FT_BOOLEAN, BASE_NONE, NULL, 0,
16036         "BOOLEAN", HFILL }},
16037     { &hf_h245_videoBadMBsCap,
16038       { "videoBadMBsCap", "h245.videoBadMBsCap",
16039         FT_BOOLEAN, BASE_NONE, NULL, 0,
16040         "BOOLEAN", HFILL }},
16041     { &hf_h245_profileAndLevel_SPatML,
16042       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
16043         FT_BOOLEAN, BASE_NONE, NULL, 0,
16044         "BOOLEAN", HFILL }},
16045     { &hf_h245_profileAndLevel_MPatLL,
16046       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
16047         FT_BOOLEAN, BASE_NONE, NULL, 0,
16048         "BOOLEAN", HFILL }},
16049     { &hf_h245_profileAndLevel_MPatML,
16050       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
16051         FT_BOOLEAN, BASE_NONE, NULL, 0,
16052         "BOOLEAN", HFILL }},
16053     { &hf_h245_profileAndLevel_MPatH_14,
16054       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
16055         FT_BOOLEAN, BASE_NONE, NULL, 0,
16056         "BOOLEAN", HFILL }},
16057     { &hf_h245_profileAndLevel_MPatHL,
16058       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
16059         FT_BOOLEAN, BASE_NONE, NULL, 0,
16060         "BOOLEAN", HFILL }},
16061     { &hf_h245_profileAndLevel_SNRatLL,
16062       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
16063         FT_BOOLEAN, BASE_NONE, NULL, 0,
16064         "BOOLEAN", HFILL }},
16065     { &hf_h245_profileAndLevel_SNRatML,
16066       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
16067         FT_BOOLEAN, BASE_NONE, NULL, 0,
16068         "BOOLEAN", HFILL }},
16069     { &hf_h245_profileAndLevel_SpatialatH_14,
16070       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
16071         FT_BOOLEAN, BASE_NONE, NULL, 0,
16072         "BOOLEAN", HFILL }},
16073     { &hf_h245_profileAndLevel_HPatML,
16074       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
16075         FT_BOOLEAN, BASE_NONE, NULL, 0,
16076         "BOOLEAN", HFILL }},
16077     { &hf_h245_profileAndLevel_HPatH_14,
16078       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
16079         FT_BOOLEAN, BASE_NONE, NULL, 0,
16080         "BOOLEAN", HFILL }},
16081     { &hf_h245_profileAndLevel_HPatHL,
16082       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
16083         FT_BOOLEAN, BASE_NONE, NULL, 0,
16084         "BOOLEAN", HFILL }},
16085     { &hf_h245_videoBitRate,
16086       { "videoBitRate", "h245.videoBitRate",
16087         FT_UINT32, BASE_DEC, NULL, 0,
16088         "INTEGER_0_1073741823", HFILL }},
16089     { &hf_h245_vbvBufferSize,
16090       { "vbvBufferSize", "h245.vbvBufferSize",
16091         FT_UINT32, BASE_DEC, NULL, 0,
16092         "INTEGER_0_262143", HFILL }},
16093     { &hf_h245_samplesPerLine,
16094       { "samplesPerLine", "h245.samplesPerLine",
16095         FT_UINT32, BASE_DEC, NULL, 0,
16096         "INTEGER_0_16383", HFILL }},
16097     { &hf_h245_linesPerFrame,
16098       { "linesPerFrame", "h245.linesPerFrame",
16099         FT_UINT32, BASE_DEC, NULL, 0,
16100         "INTEGER_0_16383", HFILL }},
16101     { &hf_h245_framesPerSecond,
16102       { "framesPerSecond", "h245.framesPerSecond",
16103         FT_UINT32, BASE_DEC, NULL, 0,
16104         "INTEGER_0_15", HFILL }},
16105     { &hf_h245_luminanceSampleRate,
16106       { "luminanceSampleRate", "h245.luminanceSampleRate",
16107         FT_UINT32, BASE_DEC, NULL, 0,
16108         "INTEGER_0_4294967295", HFILL }},
16109     { &hf_h245_sqcifMPI_1_32,
16110       { "sqcifMPI", "h245.sqcifMPI",
16111         FT_UINT32, BASE_DEC, NULL, 0,
16112         "INTEGER_1_32", HFILL }},
16113     { &hf_h245_qcifMPI,
16114       { "qcifMPI", "h245.qcifMPI",
16115         FT_UINT32, BASE_DEC, NULL, 0,
16116         "INTEGER_1_32", HFILL }},
16117     { &hf_h245_cifMPI,
16118       { "cifMPI", "h245.cifMPI",
16119         FT_UINT32, BASE_DEC, NULL, 0,
16120         "INTEGER_1_32", HFILL }},
16121     { &hf_h245_cif4MPI_1_32,
16122       { "cif4MPI", "h245.cif4MPI",
16123         FT_UINT32, BASE_DEC, NULL, 0,
16124         "INTEGER_1_32", HFILL }},
16125     { &hf_h245_cif16MPI_1_32,
16126       { "cif16MPI", "h245.cif16MPI",
16127         FT_UINT32, BASE_DEC, NULL, 0,
16128         "INTEGER_1_32", HFILL }},
16129     { &hf_h245_maxBitRate,
16130       { "maxBitRate", "h245.maxBitRate",
16131         FT_UINT32, BASE_DEC, NULL, 0,
16132         "INTEGER_1_192400", HFILL }},
16133     { &hf_h245_unrestrictedVector,
16134       { "unrestrictedVector", "h245.unrestrictedVector",
16135         FT_BOOLEAN, BASE_NONE, NULL, 0,
16136         "BOOLEAN", HFILL }},
16137     { &hf_h245_arithmeticCoding,
16138       { "arithmeticCoding", "h245.arithmeticCoding",
16139         FT_BOOLEAN, BASE_NONE, NULL, 0,
16140         "BOOLEAN", HFILL }},
16141     { &hf_h245_advancedPrediction,
16142       { "advancedPrediction", "h245.advancedPrediction",
16143         FT_BOOLEAN, BASE_NONE, NULL, 0,
16144         "BOOLEAN", HFILL }},
16145     { &hf_h245_pbFrames,
16146       { "pbFrames", "h245.pbFrames",
16147         FT_BOOLEAN, BASE_NONE, NULL, 0,
16148         "BOOLEAN", HFILL }},
16149     { &hf_h245_hrd_B,
16150       { "hrd-B", "h245.hrd_B",
16151         FT_UINT32, BASE_DEC, NULL, 0,
16152         "INTEGER_0_524287", HFILL }},
16153     { &hf_h245_bppMaxKb,
16154       { "bppMaxKb", "h245.bppMaxKb",
16155         FT_UINT32, BASE_DEC, NULL, 0,
16156         "INTEGER_0_65535", HFILL }},
16157     { &hf_h245_slowSqcifMPI,
16158       { "slowSqcifMPI", "h245.slowSqcifMPI",
16159         FT_UINT32, BASE_DEC, NULL, 0,
16160         "INTEGER_1_3600", HFILL }},
16161     { &hf_h245_slowQcifMPI,
16162       { "slowQcifMPI", "h245.slowQcifMPI",
16163         FT_UINT32, BASE_DEC, NULL, 0,
16164         "INTEGER_1_3600", HFILL }},
16165     { &hf_h245_slowCifMPI,
16166       { "slowCifMPI", "h245.slowCifMPI",
16167         FT_UINT32, BASE_DEC, NULL, 0,
16168         "INTEGER_1_3600", HFILL }},
16169     { &hf_h245_slowCif4MPI,
16170       { "slowCif4MPI", "h245.slowCif4MPI",
16171         FT_UINT32, BASE_DEC, NULL, 0,
16172         "INTEGER_1_3600", HFILL }},
16173     { &hf_h245_slowCif16MPI,
16174       { "slowCif16MPI", "h245.slowCif16MPI",
16175         FT_UINT32, BASE_DEC, NULL, 0,
16176         "INTEGER_1_3600", HFILL }},
16177     { &hf_h245_errorCompensation,
16178       { "errorCompensation", "h245.errorCompensation",
16179         FT_BOOLEAN, BASE_NONE, NULL, 0,
16180         "BOOLEAN", HFILL }},
16181     { &hf_h245_enhancementLayerInfo,
16182       { "enhancementLayerInfo", "h245.enhancementLayerInfo_element",
16183         FT_NONE, BASE_NONE, NULL, 0,
16184         NULL, HFILL }},
16185     { &hf_h245_h263Options,
16186       { "h263Options", "h245.h263Options_element",
16187         FT_NONE, BASE_NONE, NULL, 0,
16188         NULL, HFILL }},
16189     { &hf_h245_baseBitRateConstrained,
16190       { "baseBitRateConstrained", "h245.baseBitRateConstrained",
16191         FT_BOOLEAN, BASE_NONE, NULL, 0,
16192         "BOOLEAN", HFILL }},
16193     { &hf_h245_snrEnhancement,
16194       { "snrEnhancement", "h245.snrEnhancement",
16195         FT_UINT32, BASE_DEC, NULL, 0,
16196         "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16197     { &hf_h245_snrEnhancement_item,
16198       { "EnhancementOptions", "h245.EnhancementOptions_element",
16199         FT_NONE, BASE_NONE, NULL, 0,
16200         NULL, HFILL }},
16201     { &hf_h245_spatialEnhancement,
16202       { "spatialEnhancement", "h245.spatialEnhancement",
16203         FT_UINT32, BASE_DEC, NULL, 0,
16204         "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16205     { &hf_h245_spatialEnhancement_item,
16206       { "EnhancementOptions", "h245.EnhancementOptions_element",
16207         FT_NONE, BASE_NONE, NULL, 0,
16208         NULL, HFILL }},
16209     { &hf_h245_bPictureEnhancement,
16210       { "bPictureEnhancement", "h245.bPictureEnhancement",
16211         FT_UINT32, BASE_DEC, NULL, 0,
16212         "SET_SIZE_1_14_OF_BEnhancementParameters", HFILL }},
16213     { &hf_h245_bPictureEnhancement_item,
16214       { "BEnhancementParameters", "h245.BEnhancementParameters_element",
16215         FT_NONE, BASE_NONE, NULL, 0,
16216         NULL, HFILL }},
16217     { &hf_h245_enhancementOptions,
16218       { "enhancementOptions", "h245.enhancementOptions_element",
16219         FT_NONE, BASE_NONE, NULL, 0,
16220         NULL, HFILL }},
16221     { &hf_h245_numberOfBPictures,
16222       { "numberOfBPictures", "h245.numberOfBPictures",
16223         FT_UINT32, BASE_DEC, NULL, 0,
16224         "INTEGER_1_64", HFILL }},
16225     { &hf_h245_advancedIntraCodingMode,
16226       { "advancedIntraCodingMode", "h245.advancedIntraCodingMode",
16227         FT_BOOLEAN, BASE_NONE, NULL, 0,
16228         "BOOLEAN", HFILL }},
16229     { &hf_h245_deblockingFilterMode,
16230       { "deblockingFilterMode", "h245.deblockingFilterMode",
16231         FT_BOOLEAN, BASE_NONE, NULL, 0,
16232         "BOOLEAN", HFILL }},
16233     { &hf_h245_improvedPBFramesMode,
16234       { "improvedPBFramesMode", "h245.improvedPBFramesMode",
16235         FT_BOOLEAN, BASE_NONE, NULL, 0,
16236         "BOOLEAN", HFILL }},
16237     { &hf_h245_unlimitedMotionVectors,
16238       { "unlimitedMotionVectors", "h245.unlimitedMotionVectors",
16239         FT_BOOLEAN, BASE_NONE, NULL, 0,
16240         "BOOLEAN", HFILL }},
16241     { &hf_h245_fullPictureFreeze,
16242       { "fullPictureFreeze", "h245.fullPictureFreeze",
16243         FT_BOOLEAN, BASE_NONE, NULL, 0,
16244         "BOOLEAN", HFILL }},
16245     { &hf_h245_partialPictureFreezeAndRelease,
16246       { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease",
16247         FT_BOOLEAN, BASE_NONE, NULL, 0,
16248         "BOOLEAN", HFILL }},
16249     { &hf_h245_resizingPartPicFreezeAndRelease,
16250       { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease",
16251         FT_BOOLEAN, BASE_NONE, NULL, 0,
16252         "BOOLEAN", HFILL }},
16253     { &hf_h245_fullPictureSnapshot,
16254       { "fullPictureSnapshot", "h245.fullPictureSnapshot",
16255         FT_BOOLEAN, BASE_NONE, NULL, 0,
16256         "BOOLEAN", HFILL }},
16257     { &hf_h245_partialPictureSnapshot,
16258       { "partialPictureSnapshot", "h245.partialPictureSnapshot",
16259         FT_BOOLEAN, BASE_NONE, NULL, 0,
16260         "BOOLEAN", HFILL }},
16261     { &hf_h245_videoSegmentTagging,
16262       { "videoSegmentTagging", "h245.videoSegmentTagging",
16263         FT_BOOLEAN, BASE_NONE, NULL, 0,
16264         "BOOLEAN", HFILL }},
16265     { &hf_h245_progressiveRefinement,
16266       { "progressiveRefinement", "h245.progressiveRefinement",
16267         FT_BOOLEAN, BASE_NONE, NULL, 0,
16268         "BOOLEAN", HFILL }},
16269     { &hf_h245_dynamicPictureResizingByFour,
16270       { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour",
16271         FT_BOOLEAN, BASE_NONE, NULL, 0,
16272         "BOOLEAN", HFILL }},
16273     { &hf_h245_dynamicPictureResizingSixteenthPel,
16274       { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel",
16275         FT_BOOLEAN, BASE_NONE, NULL, 0,
16276         "BOOLEAN", HFILL }},
16277     { &hf_h245_dynamicWarpingHalfPel,
16278       { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel",
16279         FT_BOOLEAN, BASE_NONE, NULL, 0,
16280         "BOOLEAN", HFILL }},
16281     { &hf_h245_dynamicWarpingSixteenthPel,
16282       { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel",
16283         FT_BOOLEAN, BASE_NONE, NULL, 0,
16284         "BOOLEAN", HFILL }},
16285     { &hf_h245_independentSegmentDecoding,
16286       { "independentSegmentDecoding", "h245.independentSegmentDecoding",
16287         FT_BOOLEAN, BASE_NONE, NULL, 0,
16288         "BOOLEAN", HFILL }},
16289     { &hf_h245_slicesInOrder_NonRect,
16290       { "slicesInOrder-NonRect", "h245.slicesInOrder_NonRect",
16291         FT_BOOLEAN, BASE_NONE, NULL, 0,
16292         "BOOLEAN", HFILL }},
16293     { &hf_h245_slicesInOrder_Rect,
16294       { "slicesInOrder-Rect", "h245.slicesInOrder_Rect",
16295         FT_BOOLEAN, BASE_NONE, NULL, 0,
16296         "BOOLEAN", HFILL }},
16297     { &hf_h245_slicesNoOrder_NonRect,
16298       { "slicesNoOrder-NonRect", "h245.slicesNoOrder_NonRect",
16299         FT_BOOLEAN, BASE_NONE, NULL, 0,
16300         "BOOLEAN", HFILL }},
16301     { &hf_h245_slicesNoOrder_Rect,
16302       { "slicesNoOrder-Rect", "h245.slicesNoOrder_Rect",
16303         FT_BOOLEAN, BASE_NONE, NULL, 0,
16304         "BOOLEAN", HFILL }},
16305     { &hf_h245_alternateInterVLCMode,
16306       { "alternateInterVLCMode", "h245.alternateInterVLCMode",
16307         FT_BOOLEAN, BASE_NONE, NULL, 0,
16308         "BOOLEAN", HFILL }},
16309     { &hf_h245_modifiedQuantizationMode,
16310       { "modifiedQuantizationMode", "h245.modifiedQuantizationMode",
16311         FT_BOOLEAN, BASE_NONE, NULL, 0,
16312         "BOOLEAN", HFILL }},
16313     { &hf_h245_reducedResolutionUpdate,
16314       { "reducedResolutionUpdate", "h245.reducedResolutionUpdate",
16315         FT_BOOLEAN, BASE_NONE, NULL, 0,
16316         "BOOLEAN", HFILL }},
16317     { &hf_h245_transparencyParameters,
16318       { "transparencyParameters", "h245.transparencyParameters_element",
16319         FT_NONE, BASE_NONE, NULL, 0,
16320         NULL, HFILL }},
16321     { &hf_h245_separateVideoBackChannel,
16322       { "separateVideoBackChannel", "h245.separateVideoBackChannel",
16323         FT_BOOLEAN, BASE_NONE, NULL, 0,
16324         "BOOLEAN", HFILL }},
16325     { &hf_h245_refPictureSelection,
16326       { "refPictureSelection", "h245.refPictureSelection_element",
16327         FT_NONE, BASE_NONE, NULL, 0,
16328         NULL, HFILL }},
16329     { &hf_h245_customPictureClockFrequency,
16330       { "customPictureClockFrequency", "h245.customPictureClockFrequency",
16331         FT_UINT32, BASE_DEC, NULL, 0,
16332         "SET_SIZE_1_16_OF_CustomPictureClockFrequency", HFILL }},
16333     { &hf_h245_customPictureClockFrequency_item,
16334       { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency_element",
16335         FT_NONE, BASE_NONE, NULL, 0,
16336         NULL, HFILL }},
16337     { &hf_h245_customPictureFormat,
16338       { "customPictureFormat", "h245.customPictureFormat",
16339         FT_UINT32, BASE_DEC, NULL, 0,
16340         "SET_SIZE_1_16_OF_CustomPictureFormat", HFILL }},
16341     { &hf_h245_customPictureFormat_item,
16342       { "CustomPictureFormat", "h245.CustomPictureFormat_element",
16343         FT_NONE, BASE_NONE, NULL, 0,
16344         NULL, HFILL }},
16345     { &hf_h245_modeCombos,
16346       { "modeCombos", "h245.modeCombos",
16347         FT_UINT32, BASE_DEC, NULL, 0,
16348         "SET_SIZE_1_16_OF_H263VideoModeCombos", HFILL }},
16349     { &hf_h245_modeCombos_item,
16350       { "H263VideoModeCombos", "h245.H263VideoModeCombos_element",
16351         FT_NONE, BASE_NONE, NULL, 0,
16352         NULL, HFILL }},
16353     { &hf_h245_h263Version3Options,
16354       { "h263Version3Options", "h245.h263Version3Options_element",
16355         FT_NONE, BASE_NONE, NULL, 0,
16356         NULL, HFILL }},
16357     { &hf_h245_presentationOrder,
16358       { "presentationOrder", "h245.presentationOrder",
16359         FT_UINT32, BASE_DEC, NULL, 0,
16360         "INTEGER_1_256", HFILL }},
16361     { &hf_h245_offset_x,
16362       { "offset-x", "h245.offset_x",
16363         FT_INT32, BASE_DEC, NULL, 0,
16364         "INTEGER_M262144_262143", HFILL }},
16365     { &hf_h245_offset_y,
16366       { "offset-y", "h245.offset_y",
16367         FT_INT32, BASE_DEC, NULL, 0,
16368         "INTEGER_M262144_262143", HFILL }},
16369     { &hf_h245_scale_x,
16370       { "scale-x", "h245.scale_x",
16371         FT_UINT32, BASE_DEC, NULL, 0,
16372         "INTEGER_1_255", HFILL }},
16373     { &hf_h245_scale_y,
16374       { "scale-y", "h245.scale_y",
16375         FT_UINT32, BASE_DEC, NULL, 0,
16376         "INTEGER_1_255", HFILL }},
16377     { &hf_h245_additionalPictureMemory,
16378       { "additionalPictureMemory", "h245.additionalPictureMemory_element",
16379         FT_NONE, BASE_NONE, NULL, 0,
16380         NULL, HFILL }},
16381     { &hf_h245_sqcifAdditionalPictureMemory,
16382       { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory",
16383         FT_UINT32, BASE_DEC, NULL, 0,
16384         "INTEGER_1_256", HFILL }},
16385     { &hf_h245_qcifAdditionalPictureMemory,
16386       { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory",
16387         FT_UINT32, BASE_DEC, NULL, 0,
16388         "INTEGER_1_256", HFILL }},
16389     { &hf_h245_cifAdditionalPictureMemory,
16390       { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory",
16391         FT_UINT32, BASE_DEC, NULL, 0,
16392         "INTEGER_1_256", HFILL }},
16393     { &hf_h245_cif4AdditionalPictureMemory,
16394       { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory",
16395         FT_UINT32, BASE_DEC, NULL, 0,
16396         "INTEGER_1_256", HFILL }},
16397     { &hf_h245_cif16AdditionalPictureMemory,
16398       { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory",
16399         FT_UINT32, BASE_DEC, NULL, 0,
16400         "INTEGER_1_256", HFILL }},
16401     { &hf_h245_bigCpfAdditionalPictureMemory,
16402       { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory",
16403         FT_UINT32, BASE_DEC, NULL, 0,
16404         "INTEGER_1_256", HFILL }},
16405     { &hf_h245_videoMux,
16406       { "videoMux", "h245.videoMux",
16407         FT_BOOLEAN, BASE_NONE, NULL, 0,
16408         "BOOLEAN", HFILL }},
16409     { &hf_h245_videoBackChannelSend,
16410       { "videoBackChannelSend", "h245.videoBackChannelSend",
16411         FT_UINT32, BASE_DEC, VALS(h245_T_videoBackChannelSend_vals), 0,
16412         NULL, HFILL }},
16413     { &hf_h245_none,
16414       { "none", "h245.none_element",
16415         FT_NONE, BASE_NONE, NULL, 0,
16416         NULL, HFILL }},
16417     { &hf_h245_ackMessageOnly,
16418       { "ackMessageOnly", "h245.ackMessageOnly_element",
16419         FT_NONE, BASE_NONE, NULL, 0,
16420         NULL, HFILL }},
16421     { &hf_h245_nackMessageOnly,
16422       { "nackMessageOnly", "h245.nackMessageOnly_element",
16423         FT_NONE, BASE_NONE, NULL, 0,
16424         NULL, HFILL }},
16425     { &hf_h245_ackOrNackMessageOnly,
16426       { "ackOrNackMessageOnly", "h245.ackOrNackMessageOnly_element",
16427         FT_NONE, BASE_NONE, NULL, 0,
16428         NULL, HFILL }},
16429     { &hf_h245_ackAndNackMessage,
16430       { "ackAndNackMessage", "h245.ackAndNackMessage_element",
16431         FT_NONE, BASE_NONE, NULL, 0,
16432         NULL, HFILL }},
16433     { &hf_h245_enhancedReferencePicSelect,
16434       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect_element",
16435         FT_NONE, BASE_NONE, NULL, 0,
16436         NULL, HFILL }},
16437     { &hf_h245_subPictureRemovalParameters,
16438       { "subPictureRemovalParameters", "h245.subPictureRemovalParameters_element",
16439         FT_NONE, BASE_NONE, NULL, 0,
16440         NULL, HFILL }},
16441     { &hf_h245_mpuHorizMBs,
16442       { "mpuHorizMBs", "h245.mpuHorizMBs",
16443         FT_UINT32, BASE_DEC, NULL, 0,
16444         "INTEGER_1_128", HFILL }},
16445     { &hf_h245_mpuVertMBs,
16446       { "mpuVertMBs", "h245.mpuVertMBs",
16447         FT_UINT32, BASE_DEC, NULL, 0,
16448         "INTEGER_1_72", HFILL }},
16449     { &hf_h245_mpuTotalNumber,
16450       { "mpuTotalNumber", "h245.mpuTotalNumber",
16451         FT_UINT32, BASE_DEC, NULL, 0,
16452         "INTEGER_1_65536", HFILL }},
16453     { &hf_h245_clockConversionCode,
16454       { "clockConversionCode", "h245.clockConversionCode",
16455         FT_UINT32, BASE_DEC, NULL, 0,
16456         "INTEGER_1000_1001", HFILL }},
16457     { &hf_h245_clockDivisor,
16458       { "clockDivisor", "h245.clockDivisor",
16459         FT_UINT32, BASE_DEC, NULL, 0,
16460         "INTEGER_1_127", HFILL }},
16461     { &hf_h245_sqcifMPI,
16462       { "sqcifMPI", "h245.sqcifMPI",
16463         FT_UINT32, BASE_DEC, NULL, 0,
16464         "INTEGER_1_2048", HFILL }},
16465     { &hf_h245_qcifMPI_1_2048,
16466       { "qcifMPI", "h245.qcifMPI",
16467         FT_UINT32, BASE_DEC, NULL, 0,
16468         "INTEGER_1_2048", HFILL }},
16469     { &hf_h245_cifMPI2_1_2048,
16470       { "cifMPI", "h245.cifMPI",
16471         FT_UINT32, BASE_DEC, NULL, 0,
16472         "INTEGER_1_2048", HFILL }},
16473     { &hf_h245_cif4MPI,
16474       { "cif4MPI", "h245.cif4MPI",
16475         FT_UINT32, BASE_DEC, NULL, 0,
16476         "INTEGER_1_2048", HFILL }},
16477     { &hf_h245_cif16MPI,
16478       { "cif16MPI", "h245.cif16MPI",
16479         FT_UINT32, BASE_DEC, NULL, 0,
16480         "INTEGER_1_2048", HFILL }},
16481     { &hf_h245_maxCustomPictureWidth,
16482       { "maxCustomPictureWidth", "h245.maxCustomPictureWidth",
16483         FT_UINT32, BASE_DEC, NULL, 0,
16484         "INTEGER_1_2048", HFILL }},
16485     { &hf_h245_maxCustomPictureHeight,
16486       { "maxCustomPictureHeight", "h245.maxCustomPictureHeight",
16487         FT_UINT32, BASE_DEC, NULL, 0,
16488         "INTEGER_1_2048", HFILL }},
16489     { &hf_h245_minCustomPictureWidth,
16490       { "minCustomPictureWidth", "h245.minCustomPictureWidth",
16491         FT_UINT32, BASE_DEC, NULL, 0,
16492         "INTEGER_1_2048", HFILL }},
16493     { &hf_h245_minCustomPictureHeight,
16494       { "minCustomPictureHeight", "h245.minCustomPictureHeight",
16495         FT_UINT32, BASE_DEC, NULL, 0,
16496         "INTEGER_1_2048", HFILL }},
16497     { &hf_h245_mPI,
16498       { "mPI", "h245.mPI_element",
16499         FT_NONE, BASE_NONE, NULL, 0,
16500         NULL, HFILL }},
16501     { &hf_h245_standardMPI,
16502       { "standardMPI", "h245.standardMPI",
16503         FT_UINT32, BASE_DEC, NULL, 0,
16504         "INTEGER_1_31", HFILL }},
16505     { &hf_h245_customPCF,
16506       { "customPCF", "h245.customPCF",
16507         FT_UINT32, BASE_DEC, NULL, 0,
16508         NULL, HFILL }},
16509     { &hf_h245_customPCF_item,
16510       { "customPCF item", "h245.customPCF_item_element",
16511         FT_NONE, BASE_NONE, NULL, 0,
16512         NULL, HFILL }},
16513     { &hf_h245_customMPI,
16514       { "customMPI", "h245.customMPI",
16515         FT_UINT32, BASE_DEC, NULL, 0,
16516         "INTEGER_1_2048", HFILL }},
16517     { &hf_h245_pixelAspectInformation,
16518       { "pixelAspectInformation", "h245.pixelAspectInformation",
16519         FT_UINT32, BASE_DEC, VALS(h245_T_pixelAspectInformation_vals), 0,
16520         NULL, HFILL }},
16521     { &hf_h245_anyPixelAspectRatio,
16522       { "anyPixelAspectRatio", "h245.anyPixelAspectRatio",
16523         FT_BOOLEAN, BASE_NONE, NULL, 0,
16524         "BOOLEAN", HFILL }},
16525     { &hf_h245_pixelAspectCode,
16526       { "pixelAspectCode", "h245.pixelAspectCode",
16527         FT_UINT32, BASE_DEC, NULL, 0,
16528         NULL, HFILL }},
16529     { &hf_h245_pixelAspectCode_item,
16530       { "pixelAspectCode item", "h245.pixelAspectCode_item",
16531         FT_UINT32, BASE_DEC, NULL, 0,
16532         "INTEGER_1_14", HFILL }},
16533     { &hf_h245_extendedPAR,
16534       { "extendedPAR", "h245.extendedPAR",
16535         FT_UINT32, BASE_DEC, NULL, 0,
16536         NULL, HFILL }},
16537     { &hf_h245_extendedPAR_item,
16538       { "extendedPAR item", "h245.extendedPAR_item_element",
16539         FT_NONE, BASE_NONE, NULL, 0,
16540         NULL, HFILL }},
16541     { &hf_h245_width,
16542       { "width", "h245.width",
16543         FT_UINT32, BASE_DEC, NULL, 0,
16544         "INTEGER_1_255", HFILL }},
16545     { &hf_h245_height,
16546       { "height", "h245.height",
16547         FT_UINT32, BASE_DEC, NULL, 0,
16548         "INTEGER_1_255", HFILL }},
16549     { &hf_h245_h263VideoUncoupledModes,
16550       { "h263VideoUncoupledModes", "h245.h263VideoUncoupledModes_element",
16551         FT_NONE, BASE_NONE, NULL, 0,
16552         "H263ModeComboFlags", HFILL }},
16553     { &hf_h245_h263VideoCoupledModes,
16554       { "h263VideoCoupledModes", "h245.h263VideoCoupledModes",
16555         FT_UINT32, BASE_DEC, NULL, 0,
16556         "SET_SIZE_1_16_OF_H263ModeComboFlags", HFILL }},
16557     { &hf_h245_h263VideoCoupledModes_item,
16558       { "H263ModeComboFlags", "h245.H263ModeComboFlags_element",
16559         FT_NONE, BASE_NONE, NULL, 0,
16560         NULL, HFILL }},
16561     { &hf_h245_referencePicSelect,
16562       { "referencePicSelect", "h245.referencePicSelect",
16563         FT_BOOLEAN, BASE_NONE, NULL, 0,
16564         "BOOLEAN", HFILL }},
16565     { &hf_h245_enhancedReferencePicSelectBool,
16566       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16567         FT_BOOLEAN, BASE_NONE, NULL, 0,
16568         "BOOLEAN", HFILL }},
16569     { &hf_h245_dataPartitionedSlices,
16570       { "dataPartitionedSlices", "h245.dataPartitionedSlices",
16571         FT_BOOLEAN, BASE_NONE, NULL, 0,
16572         "BOOLEAN", HFILL }},
16573     { &hf_h245_fixedPointIDCT0,
16574       { "fixedPointIDCT0", "h245.fixedPointIDCT0",
16575         FT_BOOLEAN, BASE_NONE, NULL, 0,
16576         "BOOLEAN", HFILL }},
16577     { &hf_h245_interlacedFields,
16578       { "interlacedFields", "h245.interlacedFields",
16579         FT_BOOLEAN, BASE_NONE, NULL, 0,
16580         "BOOLEAN", HFILL }},
16581     { &hf_h245_currentPictureHeaderRepetition,
16582       { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition",
16583         FT_BOOLEAN, BASE_NONE, NULL, 0,
16584         "BOOLEAN", HFILL }},
16585     { &hf_h245_previousPictureHeaderRepetition,
16586       { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition",
16587         FT_BOOLEAN, BASE_NONE, NULL, 0,
16588         "BOOLEAN", HFILL }},
16589     { &hf_h245_nextPictureHeaderRepetition,
16590       { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition",
16591         FT_BOOLEAN, BASE_NONE, NULL, 0,
16592         "BOOLEAN", HFILL }},
16593     { &hf_h245_pictureNumberBoolean,
16594       { "pictureNumber", "h245.pictureNumber",
16595         FT_BOOLEAN, BASE_NONE, NULL, 0,
16596         "BOOLEAN", HFILL }},
16597     { &hf_h245_spareReferencePictures,
16598       { "spareReferencePictures", "h245.spareReferencePictures",
16599         FT_BOOLEAN, BASE_NONE, NULL, 0,
16600         "BOOLEAN", HFILL }},
16601     { &hf_h245_constrainedBitstream,
16602       { "constrainedBitstream", "h245.constrainedBitstream",
16603         FT_BOOLEAN, BASE_NONE, NULL, 0,
16604         "BOOLEAN", HFILL }},
16605     { &hf_h245_pictureRate,
16606       { "pictureRate", "h245.pictureRate",
16607         FT_UINT32, BASE_DEC, NULL, 0,
16608         "INTEGER_0_15", HFILL }},
16609     { &hf_h245_g711Alaw64k,
16610       { "g711Alaw64k", "h245.g711Alaw64k",
16611         FT_UINT32, BASE_DEC, NULL, 0,
16612         "INTEGER_1_256", HFILL }},
16613     { &hf_h245_g711Alaw56k,
16614       { "g711Alaw56k", "h245.g711Alaw56k",
16615         FT_UINT32, BASE_DEC, NULL, 0,
16616         "INTEGER_1_256", HFILL }},
16617     { &hf_h245_g711Ulaw64k,
16618       { "g711Ulaw64k", "h245.g711Ulaw64k",
16619         FT_UINT32, BASE_DEC, NULL, 0,
16620         "INTEGER_1_256", HFILL }},
16621     { &hf_h245_g711Ulaw56k,
16622       { "g711Ulaw56k", "h245.g711Ulaw56k",
16623         FT_UINT32, BASE_DEC, NULL, 0,
16624         "INTEGER_1_256", HFILL }},
16625     { &hf_h245_g722_64k,
16626       { "g722-64k", "h245.g722_64k",
16627         FT_UINT32, BASE_DEC, NULL, 0,
16628         "INTEGER_1_256", HFILL }},
16629     { &hf_h245_g722_56k,
16630       { "g722-56k", "h245.g722_56k",
16631         FT_UINT32, BASE_DEC, NULL, 0,
16632         "INTEGER_1_256", HFILL }},
16633     { &hf_h245_g722_48k,
16634       { "g722-48k", "h245.g722_48k",
16635         FT_UINT32, BASE_DEC, NULL, 0,
16636         "INTEGER_1_256", HFILL }},
16637     { &hf_h245_g7231,
16638       { "g7231", "h245.g7231_element",
16639         FT_NONE, BASE_NONE, NULL, 0,
16640         NULL, HFILL }},
16641     { &hf_h245_maxAl_sduAudioFrames,
16642       { "maxAl-sduAudioFrames", "h245.maxAl_sduAudioFrames",
16643         FT_UINT32, BASE_DEC, NULL, 0,
16644         "INTEGER_1_256", HFILL }},
16645     { &hf_h245_silenceSuppression,
16646       { "silenceSuppression", "h245.silenceSuppression",
16647         FT_BOOLEAN, BASE_NONE, NULL, 0,
16648         "BOOLEAN", HFILL }},
16649     { &hf_h245_g728,
16650       { "g728", "h245.g728",
16651         FT_UINT32, BASE_DEC, NULL, 0,
16652         "INTEGER_1_256", HFILL }},
16653     { &hf_h245_g729,
16654       { "g729", "h245.g729",
16655         FT_UINT32, BASE_DEC, NULL, 0,
16656         "INTEGER_1_256", HFILL }},
16657     { &hf_h245_g729AnnexA,
16658       { "g729AnnexA", "h245.g729AnnexA",
16659         FT_UINT32, BASE_DEC, NULL, 0,
16660         "INTEGER_1_256", HFILL }},
16661     { &hf_h245_is11172AudioCapability,
16662       { "is11172AudioCapability", "h245.is11172AudioCapability_element",
16663         FT_NONE, BASE_NONE, NULL, 0,
16664         NULL, HFILL }},
16665     { &hf_h245_is13818AudioCapability,
16666       { "is13818AudioCapability", "h245.is13818AudioCapability_element",
16667         FT_NONE, BASE_NONE, NULL, 0,
16668         NULL, HFILL }},
16669     { &hf_h245_g729wAnnexB,
16670       { "g729wAnnexB", "h245.g729wAnnexB",
16671         FT_UINT32, BASE_DEC, NULL, 0,
16672         "INTEGER_1_256", HFILL }},
16673     { &hf_h245_g729AnnexAwAnnexB,
16674       { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB",
16675         FT_UINT32, BASE_DEC, NULL, 0,
16676         "INTEGER_1_256", HFILL }},
16677     { &hf_h245_g7231AnnexCCapability,
16678       { "g7231AnnexCCapability", "h245.g7231AnnexCCapability_element",
16679         FT_NONE, BASE_NONE, NULL, 0,
16680         NULL, HFILL }},
16681     { &hf_h245_gsmFullRate,
16682       { "gsmFullRate", "h245.gsmFullRate_element",
16683         FT_NONE, BASE_NONE, NULL, 0,
16684         "GSMAudioCapability", HFILL }},
16685     { &hf_h245_gsmHalfRate,
16686       { "gsmHalfRate", "h245.gsmHalfRate_element",
16687         FT_NONE, BASE_NONE, NULL, 0,
16688         "GSMAudioCapability", HFILL }},
16689     { &hf_h245_gsmEnhancedFullRate,
16690       { "gsmEnhancedFullRate", "h245.gsmEnhancedFullRate_element",
16691         FT_NONE, BASE_NONE, NULL, 0,
16692         "GSMAudioCapability", HFILL }},
16693     { &hf_h245_genericAudioCapability,
16694       { "genericAudioCapability", "h245.genericAudioCapability_element",
16695         FT_NONE, BASE_NONE, NULL, 0,
16696         "GenericCapability", HFILL }},
16697     { &hf_h245_g729Extensions,
16698       { "g729Extensions", "h245.g729Extensions_element",
16699         FT_NONE, BASE_NONE, NULL, 0,
16700         NULL, HFILL }},
16701     { &hf_h245_vbd,
16702       { "vbd", "h245.vbd_element",
16703         FT_NONE, BASE_NONE, NULL, 0,
16704         "VBDCapability", HFILL }},
16705     { &hf_h245_audioTelephonyEvent,
16706       { "audioTelephonyEvent", "h245.audioTelephonyEvent_element",
16707         FT_NONE, BASE_NONE, NULL, 0,
16708         "NoPTAudioTelephonyEventCapability", HFILL }},
16709     { &hf_h245_audioTone,
16710       { "audioTone", "h245.audioTone_element",
16711         FT_NONE, BASE_NONE, NULL, 0,
16712         "NoPTAudioToneCapability", HFILL }},
16713     { &hf_h245_audioUnit,
16714       { "audioUnit", "h245.audioUnit",
16715         FT_UINT32, BASE_DEC, NULL, 0,
16716         "INTEGER_1_256", HFILL }},
16717     { &hf_h245_annexA,
16718       { "annexA", "h245.annexA",
16719         FT_BOOLEAN, BASE_NONE, NULL, 0,
16720         "BOOLEAN", HFILL }},
16721     { &hf_h245_annexB,
16722       { "annexB", "h245.annexB",
16723         FT_BOOLEAN, BASE_NONE, NULL, 0,
16724         "BOOLEAN", HFILL }},
16725     { &hf_h245_annexD,
16726       { "annexD", "h245.annexD",
16727         FT_BOOLEAN, BASE_NONE, NULL, 0,
16728         "BOOLEAN", HFILL }},
16729     { &hf_h245_annexE,
16730       { "annexE", "h245.annexE",
16731         FT_BOOLEAN, BASE_NONE, NULL, 0,
16732         "BOOLEAN", HFILL }},
16733     { &hf_h245_annexF,
16734       { "annexF", "h245.annexF",
16735         FT_BOOLEAN, BASE_NONE, NULL, 0,
16736         "BOOLEAN", HFILL }},
16737     { &hf_h245_annexG,
16738       { "annexG", "h245.annexG",
16739         FT_BOOLEAN, BASE_NONE, NULL, 0,
16740         "BOOLEAN", HFILL }},
16741     { &hf_h245_annexH,
16742       { "annexH", "h245.annexH",
16743         FT_BOOLEAN, BASE_NONE, NULL, 0,
16744         "BOOLEAN", HFILL }},
16745     { &hf_h245_highRateMode0,
16746       { "highRateMode0", "h245.highRateMode0",
16747         FT_UINT32, BASE_DEC, NULL, 0,
16748         "INTEGER_27_78", HFILL }},
16749     { &hf_h245_highRateMode1,
16750       { "highRateMode1", "h245.highRateMode1",
16751         FT_UINT32, BASE_DEC, NULL, 0,
16752         "INTEGER_27_78", HFILL }},
16753     { &hf_h245_lowRateMode0,
16754       { "lowRateMode0", "h245.lowRateMode0",
16755         FT_UINT32, BASE_DEC, NULL, 0,
16756         "INTEGER_23_66", HFILL }},
16757     { &hf_h245_lowRateMode1,
16758       { "lowRateMode1", "h245.lowRateMode1",
16759         FT_UINT32, BASE_DEC, NULL, 0,
16760         "INTEGER_23_66", HFILL }},
16761     { &hf_h245_sidMode0,
16762       { "sidMode0", "h245.sidMode0",
16763         FT_UINT32, BASE_DEC, NULL, 0,
16764         "INTEGER_6_17", HFILL }},
16765     { &hf_h245_sidMode1,
16766       { "sidMode1", "h245.sidMode1",
16767         FT_UINT32, BASE_DEC, NULL, 0,
16768         "INTEGER_6_17", HFILL }},
16769     { &hf_h245_g723AnnexCAudioMode,
16770       { "g723AnnexCAudioMode", "h245.g723AnnexCAudioMode_element",
16771         FT_NONE, BASE_NONE, NULL, 0,
16772         NULL, HFILL }},
16773     { &hf_h245_audioLayer1,
16774       { "audioLayer1", "h245.audioLayer1",
16775         FT_BOOLEAN, BASE_NONE, NULL, 0,
16776         "BOOLEAN", HFILL }},
16777     { &hf_h245_audioLayer2,
16778       { "audioLayer2", "h245.audioLayer2",
16779         FT_BOOLEAN, BASE_NONE, NULL, 0,
16780         "BOOLEAN", HFILL }},
16781     { &hf_h245_audioLayer3,
16782       { "audioLayer3", "h245.audioLayer3",
16783         FT_BOOLEAN, BASE_NONE, NULL, 0,
16784         "BOOLEAN", HFILL }},
16785     { &hf_h245_audioSampling32k,
16786       { "audioSampling32k", "h245.audioSampling32k",
16787         FT_BOOLEAN, BASE_NONE, NULL, 0,
16788         "BOOLEAN", HFILL }},
16789     { &hf_h245_audioSampling44k1,
16790       { "audioSampling44k1", "h245.audioSampling44k1",
16791         FT_BOOLEAN, BASE_NONE, NULL, 0,
16792         "BOOLEAN", HFILL }},
16793     { &hf_h245_audioSampling48k,
16794       { "audioSampling48k", "h245.audioSampling48k",
16795         FT_BOOLEAN, BASE_NONE, NULL, 0,
16796         "BOOLEAN", HFILL }},
16797     { &hf_h245_singleChannel,
16798       { "singleChannel", "h245.singleChannel",
16799         FT_BOOLEAN, BASE_NONE, NULL, 0,
16800         "BOOLEAN", HFILL }},
16801     { &hf_h245_twoChannels,
16802       { "twoChannels", "h245.twoChannels",
16803         FT_BOOLEAN, BASE_NONE, NULL, 0,
16804         "BOOLEAN", HFILL }},
16805     { &hf_h245_bitRate_1_448,
16806       { "bitRate", "h245.bitRate",
16807         FT_UINT32, BASE_DEC, NULL, 0,
16808         "INTEGER_1_448", HFILL }},
16809     { &hf_h245_audioSampling16k,
16810       { "audioSampling16k", "h245.audioSampling16k",
16811         FT_BOOLEAN, BASE_NONE, NULL, 0,
16812         "BOOLEAN", HFILL }},
16813     { &hf_h245_audioSampling22k05,
16814       { "audioSampling22k05", "h245.audioSampling22k05",
16815         FT_BOOLEAN, BASE_NONE, NULL, 0,
16816         "BOOLEAN", HFILL }},
16817     { &hf_h245_audioSampling24k,
16818       { "audioSampling24k", "h245.audioSampling24k",
16819         FT_BOOLEAN, BASE_NONE, NULL, 0,
16820         "BOOLEAN", HFILL }},
16821     { &hf_h245_threeChannels2_1,
16822       { "threeChannels2-1", "h245.threeChannels2_1",
16823         FT_BOOLEAN, BASE_NONE, NULL, 0,
16824         "BOOLEAN", HFILL }},
16825     { &hf_h245_threeChannels3_0,
16826       { "threeChannels3-0", "h245.threeChannels3_0",
16827         FT_BOOLEAN, BASE_NONE, NULL, 0,
16828         "BOOLEAN", HFILL }},
16829     { &hf_h245_fourChannels2_0_2_0,
16830       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
16831         FT_BOOLEAN, BASE_NONE, NULL, 0,
16832         "BOOLEAN", HFILL }},
16833     { &hf_h245_fourChannels2_2,
16834       { "fourChannels2-2", "h245.fourChannels2_2",
16835         FT_BOOLEAN, BASE_NONE, NULL, 0,
16836         "BOOLEAN", HFILL }},
16837     { &hf_h245_fourChannels3_1,
16838       { "fourChannels3-1", "h245.fourChannels3_1",
16839         FT_BOOLEAN, BASE_NONE, NULL, 0,
16840         "BOOLEAN", HFILL }},
16841     { &hf_h245_fiveChannels3_0_2_0,
16842       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
16843         FT_BOOLEAN, BASE_NONE, NULL, 0,
16844         "BOOLEAN", HFILL }},
16845     { &hf_h245_fiveChannels3_2,
16846       { "fiveChannels3-2", "h245.fiveChannels3_2",
16847         FT_BOOLEAN, BASE_NONE, NULL, 0,
16848         "BOOLEAN", HFILL }},
16849     { &hf_h245_lowFrequencyEnhancement,
16850       { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement",
16851         FT_BOOLEAN, BASE_NONE, NULL, 0,
16852         "BOOLEAN", HFILL }},
16853     { &hf_h245_multilingual,
16854       { "multilingual", "h245.multilingual",
16855         FT_BOOLEAN, BASE_NONE, NULL, 0,
16856         "BOOLEAN", HFILL }},
16857     { &hf_h245_bitRate2_1_1130,
16858       { "bitRate", "h245.bitRate",
16859         FT_UINT32, BASE_DEC, NULL, 0,
16860         "INTEGER_1_1130", HFILL }},
16861     { &hf_h245_audioUnitSize,
16862       { "audioUnitSize", "h245.audioUnitSize",
16863         FT_UINT32, BASE_DEC, NULL, 0,
16864         "INTEGER_1_256", HFILL }},
16865     { &hf_h245_comfortNoise,
16866       { "comfortNoise", "h245.comfortNoise",
16867         FT_BOOLEAN, BASE_NONE, NULL, 0,
16868         "BOOLEAN", HFILL }},
16869     { &hf_h245_scrambled,
16870       { "scrambled", "h245.scrambled",
16871         FT_BOOLEAN, BASE_NONE, NULL, 0,
16872         "BOOLEAN", HFILL }},
16873     { &hf_h245_vbd_cap_type,
16874       { "type", "h245.type",
16875         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
16876         "AudioCapability", HFILL }},
16877     { &hf_h245_t120,
16878       { "t120", "h245.t120",
16879         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16880         "DataProtocolCapability", HFILL }},
16881     { &hf_h245_dsm_cc,
16882       { "dsm-cc", "h245.dsm_cc",
16883         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16884         "DataProtocolCapability", HFILL }},
16885     { &hf_h245_userData,
16886       { "userData", "h245.userData",
16887         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16888         "DataProtocolCapability", HFILL }},
16889     { &hf_h245_t84,
16890       { "t84", "h245.t84_element",
16891         FT_NONE, BASE_NONE, NULL, 0,
16892         NULL, HFILL }},
16893     { &hf_h245_t84Protocol,
16894       { "t84Protocol", "h245.t84Protocol",
16895         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16896         "DataProtocolCapability", HFILL }},
16897     { &hf_h245_t84Profile,
16898       { "t84Profile", "h245.t84Profile",
16899         FT_UINT32, BASE_DEC, VALS(h245_T84Profile_vals), 0,
16900         NULL, HFILL }},
16901     { &hf_h245_t434,
16902       { "t434", "h245.t434",
16903         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16904         "DataProtocolCapability", HFILL }},
16905     { &hf_h245_h224,
16906       { "h224", "h245.h224",
16907         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16908         "DataProtocolCapability", HFILL }},
16909     { &hf_h245_nlpidProtocol,
16910       { "nlpidProtocol", "h245.nlpidProtocol",
16911         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16912         "DataProtocolCapability", HFILL }},
16913     { &hf_h245_nlpidData,
16914       { "nlpidData", "h245.nlpidData",
16915         FT_BYTES, BASE_NONE, NULL, 0,
16916         "OCTET_STRING", HFILL }},
16917     { &hf_h245_nlpid,
16918       { "nlpid", "h245.nlpid_element",
16919         FT_NONE, BASE_NONE, NULL, 0,
16920         NULL, HFILL }},
16921     { &hf_h245_dsvdControl,
16922       { "dsvdControl", "h245.dsvdControl_element",
16923         FT_NONE, BASE_NONE, NULL, 0,
16924         NULL, HFILL }},
16925     { &hf_h245_h222DataPartitioning,
16926       { "h222DataPartitioning", "h245.h222DataPartitioning",
16927         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16928         "DataProtocolCapability", HFILL }},
16929     { &hf_h245_t30fax,
16930       { "t30fax", "h245.t30fax",
16931         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16932         "DataProtocolCapability", HFILL }},
16933     { &hf_h245_t140,
16934       { "t140", "h245.t140",
16935         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16936         "DataProtocolCapability", HFILL }},
16937     { &hf_h245_t38fax,
16938       { "t38fax", "h245.t38fax_element",
16939         FT_NONE, BASE_NONE, NULL, 0,
16940         NULL, HFILL }},
16941     { &hf_h245_t38FaxProtocol,
16942       { "t38FaxProtocol", "h245.t38FaxProtocol",
16943         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16944         "DataProtocolCapability", HFILL }},
16945     { &hf_h245_t38FaxProfile,
16946       { "t38FaxProfile", "h245.t38FaxProfile_element",
16947         FT_NONE, BASE_NONE, NULL, 0,
16948         NULL, HFILL }},
16949     { &hf_h245_genericDataCapability,
16950       { "genericDataCapability", "h245.genericDataCapability_element",
16951         FT_NONE, BASE_NONE, NULL, 0,
16952         "GenericCapability", HFILL }},
16953     { &hf_h245_application,
16954       { "application", "h245.application",
16955         FT_UINT32, BASE_DEC, VALS(h245_Application_vals), 0,
16956         NULL, HFILL }},
16957     { &hf_h245_maxBitRate2_0_4294967295,
16958       { "maxBitRate", "h245.maxBitRate",
16959         FT_UINT32, BASE_DEC, NULL, 0,
16960         "INTEGER_0_4294967295", HFILL }},
16961     { &hf_h245_v14buffered,
16962       { "v14buffered", "h245.v14buffered_element",
16963         FT_NONE, BASE_NONE, NULL, 0,
16964         NULL, HFILL }},
16965     { &hf_h245_v42lapm,
16966       { "v42lapm", "h245.v42lapm_element",
16967         FT_NONE, BASE_NONE, NULL, 0,
16968         NULL, HFILL }},
16969     { &hf_h245_hdlcFrameTunnelling,
16970       { "hdlcFrameTunnelling", "h245.hdlcFrameTunnelling_element",
16971         FT_NONE, BASE_NONE, NULL, 0,
16972         NULL, HFILL }},
16973     { &hf_h245_h310SeparateVCStack,
16974       { "h310SeparateVCStack", "h245.h310SeparateVCStack_element",
16975         FT_NONE, BASE_NONE, NULL, 0,
16976         NULL, HFILL }},
16977     { &hf_h245_h310SingleVCStack,
16978       { "h310SingleVCStack", "h245.h310SingleVCStack_element",
16979         FT_NONE, BASE_NONE, NULL, 0,
16980         NULL, HFILL }},
16981     { &hf_h245_transparent,
16982       { "transparent", "h245.transparent_element",
16983         FT_NONE, BASE_NONE, NULL, 0,
16984         NULL, HFILL }},
16985     { &hf_h245_segmentationAndReassembly,
16986       { "segmentationAndReassembly", "h245.segmentationAndReassembly_element",
16987         FT_NONE, BASE_NONE, NULL, 0,
16988         NULL, HFILL }},
16989     { &hf_h245_hdlcFrameTunnelingwSAR,
16990       { "hdlcFrameTunnelingwSAR", "h245.hdlcFrameTunnelingwSAR_element",
16991         FT_NONE, BASE_NONE, NULL, 0,
16992         NULL, HFILL }},
16993     { &hf_h245_v120,
16994       { "v120", "h245.v120_element",
16995         FT_NONE, BASE_NONE, NULL, 0,
16996         NULL, HFILL }},
16997     { &hf_h245_separateLANStack,
16998       { "separateLANStack", "h245.separateLANStack_element",
16999         FT_NONE, BASE_NONE, NULL, 0,
17000         NULL, HFILL }},
17001     { &hf_h245_v76wCompression,
17002       { "v76wCompression", "h245.v76wCompression",
17003         FT_UINT32, BASE_DEC, VALS(h245_T_v76wCompression_vals), 0,
17004         NULL, HFILL }},
17005     { &hf_h245_transmitCompression,
17006       { "transmitCompression", "h245.transmitCompression",
17007         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
17008         "CompressionType", HFILL }},
17009     { &hf_h245_receiveCompression,
17010       { "receiveCompression", "h245.receiveCompression",
17011         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
17012         "CompressionType", HFILL }},
17013     { &hf_h245_transmitAndReceiveCompression,
17014       { "transmitAndReceiveCompression", "h245.transmitAndReceiveCompression",
17015         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
17016         "CompressionType", HFILL }},
17017     { &hf_h245_tcp,
17018       { "tcp", "h245.tcp_element",
17019         FT_NONE, BASE_NONE, NULL, 0,
17020         NULL, HFILL }},
17021     { &hf_h245_udp,
17022       { "udp", "h245.udp_element",
17023         FT_NONE, BASE_NONE, NULL, 0,
17024         NULL, HFILL }},
17025     { &hf_h245_v42bis,
17026       { "v42bis", "h245.v42bis_element",
17027         FT_NONE, BASE_NONE, NULL, 0,
17028         NULL, HFILL }},
17029     { &hf_h245_numberOfCodewords,
17030       { "numberOfCodewords", "h245.numberOfCodewords",
17031         FT_UINT32, BASE_DEC, NULL, 0,
17032         "INTEGER_1_65536", HFILL }},
17033     { &hf_h245_maximumStringLength,
17034       { "maximumStringLength", "h245.maximumStringLength",
17035         FT_UINT32, BASE_DEC, NULL, 0,
17036         "INTEGER_1_256", HFILL }},
17037     { &hf_h245_t84Unrestricted,
17038       { "t84Unrestricted", "h245.t84Unrestricted_element",
17039         FT_NONE, BASE_NONE, NULL, 0,
17040         NULL, HFILL }},
17041     { &hf_h245_t84Restricted,
17042       { "t84Restricted", "h245.t84Restricted_element",
17043         FT_NONE, BASE_NONE, NULL, 0,
17044         NULL, HFILL }},
17045     { &hf_h245_qcif_bool,
17046       { "qcif", "h245.qcif",
17047         FT_BOOLEAN, BASE_NONE, NULL, 0,
17048         "BOOLEAN", HFILL }},
17049     { &hf_h245_cif_bool,
17050       { "cif", "h245.cif",
17051         FT_BOOLEAN, BASE_NONE, NULL, 0,
17052         "BOOLEAN", HFILL }},
17053     { &hf_h245_ccir601Seq,
17054       { "ccir601Seq", "h245.ccir601Seq",
17055         FT_BOOLEAN, BASE_NONE, NULL, 0,
17056         "BOOLEAN", HFILL }},
17057     { &hf_h245_ccir601Prog,
17058       { "ccir601Prog", "h245.ccir601Prog",
17059         FT_BOOLEAN, BASE_NONE, NULL, 0,
17060         "BOOLEAN", HFILL }},
17061     { &hf_h245_hdtvSeq,
17062       { "hdtvSeq", "h245.hdtvSeq",
17063         FT_BOOLEAN, BASE_NONE, NULL, 0,
17064         "BOOLEAN", HFILL }},
17065     { &hf_h245_hdtvProg,
17066       { "hdtvProg", "h245.hdtvProg",
17067         FT_BOOLEAN, BASE_NONE, NULL, 0,
17068         "BOOLEAN", HFILL }},
17069     { &hf_h245_g3FacsMH200x100,
17070       { "g3FacsMH200x100", "h245.g3FacsMH200x100",
17071         FT_BOOLEAN, BASE_NONE, NULL, 0,
17072         "BOOLEAN", HFILL }},
17073     { &hf_h245_g3FacsMH200x200,
17074       { "g3FacsMH200x200", "h245.g3FacsMH200x200",
17075         FT_BOOLEAN, BASE_NONE, NULL, 0,
17076         "BOOLEAN", HFILL }},
17077     { &hf_h245_g4FacsMMR200x100,
17078       { "g4FacsMMR200x100", "h245.g4FacsMMR200x100",
17079         FT_BOOLEAN, BASE_NONE, NULL, 0,
17080         "BOOLEAN", HFILL }},
17081     { &hf_h245_g4FacsMMR200x200,
17082       { "g4FacsMMR200x200", "h245.g4FacsMMR200x200",
17083         FT_BOOLEAN, BASE_NONE, NULL, 0,
17084         "BOOLEAN", HFILL }},
17085     { &hf_h245_jbig200x200Seq,
17086       { "jbig200x200Seq", "h245.jbig200x200Seq",
17087         FT_BOOLEAN, BASE_NONE, NULL, 0,
17088         "BOOLEAN", HFILL }},
17089     { &hf_h245_jbig200x200Prog,
17090       { "jbig200x200Prog", "h245.jbig200x200Prog",
17091         FT_BOOLEAN, BASE_NONE, NULL, 0,
17092         "BOOLEAN", HFILL }},
17093     { &hf_h245_jbig300x300Seq,
17094       { "jbig300x300Seq", "h245.jbig300x300Seq",
17095         FT_BOOLEAN, BASE_NONE, NULL, 0,
17096         "BOOLEAN", HFILL }},
17097     { &hf_h245_jbig300x300Prog,
17098       { "jbig300x300Prog", "h245.jbig300x300Prog",
17099         FT_BOOLEAN, BASE_NONE, NULL, 0,
17100         "BOOLEAN", HFILL }},
17101     { &hf_h245_digPhotoLow,
17102       { "digPhotoLow", "h245.digPhotoLow",
17103         FT_BOOLEAN, BASE_NONE, NULL, 0,
17104         "BOOLEAN", HFILL }},
17105     { &hf_h245_digPhotoMedSeq,
17106       { "digPhotoMedSeq", "h245.digPhotoMedSeq",
17107         FT_BOOLEAN, BASE_NONE, NULL, 0,
17108         "BOOLEAN", HFILL }},
17109     { &hf_h245_digPhotoMedProg,
17110       { "digPhotoMedProg", "h245.digPhotoMedProg",
17111         FT_BOOLEAN, BASE_NONE, NULL, 0,
17112         "BOOLEAN", HFILL }},
17113     { &hf_h245_digPhotoHighSeq,
17114       { "digPhotoHighSeq", "h245.digPhotoHighSeq",
17115         FT_BOOLEAN, BASE_NONE, NULL, 0,
17116         "BOOLEAN", HFILL }},
17117     { &hf_h245_digPhotoHighProg,
17118       { "digPhotoHighProg", "h245.digPhotoHighProg",
17119         FT_BOOLEAN, BASE_NONE, NULL, 0,
17120         "BOOLEAN", HFILL }},
17121     { &hf_h245_fillBitRemoval,
17122       { "fillBitRemoval", "h245.fillBitRemoval",
17123         FT_BOOLEAN, BASE_NONE, NULL, 0,
17124         "BOOLEAN", HFILL }},
17125     { &hf_h245_transcodingJBIG,
17126       { "transcodingJBIG", "h245.transcodingJBIG",
17127         FT_BOOLEAN, BASE_NONE, NULL, 0,
17128         "BOOLEAN", HFILL }},
17129     { &hf_h245_transcodingMMR,
17130       { "transcodingMMR", "h245.transcodingMMR",
17131         FT_BOOLEAN, BASE_NONE, NULL, 0,
17132         "BOOLEAN", HFILL }},
17133     { &hf_h245_version,
17134       { "version", "h245.version",
17135         FT_UINT32, BASE_DEC, NULL, 0,
17136         "INTEGER_0_255", HFILL }},
17137     { &hf_h245_t38FaxRateManagement,
17138       { "t38FaxRateManagement", "h245.t38FaxRateManagement",
17139         FT_UINT32, BASE_DEC, VALS(h245_T38FaxRateManagement_vals), 0,
17140         NULL, HFILL }},
17141     { &hf_h245_t38FaxUdpOptions,
17142       { "t38FaxUdpOptions", "h245.t38FaxUdpOptions_element",
17143         FT_NONE, BASE_NONE, NULL, 0,
17144         NULL, HFILL }},
17145     { &hf_h245_t38FaxTcpOptions,
17146       { "t38FaxTcpOptions", "h245.t38FaxTcpOptions_element",
17147         FT_NONE, BASE_NONE, NULL, 0,
17148         NULL, HFILL }},
17149     { &hf_h245_localTCF,
17150       { "localTCF", "h245.localTCF_element",
17151         FT_NONE, BASE_NONE, NULL, 0,
17152         NULL, HFILL }},
17153     { &hf_h245_transferredTCF,
17154       { "transferredTCF", "h245.transferredTCF_element",
17155         FT_NONE, BASE_NONE, NULL, 0,
17156         NULL, HFILL }},
17157     { &hf_h245_t38FaxMaxBuffer,
17158       { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer",
17159         FT_INT32, BASE_DEC, NULL, 0,
17160         "INTEGER", HFILL }},
17161     { &hf_h245_t38FaxMaxDatagram,
17162       { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram",
17163         FT_INT32, BASE_DEC, NULL, 0,
17164         "INTEGER", HFILL }},
17165     { &hf_h245_t38FaxUdpEC,
17166       { "t38FaxUdpEC", "h245.t38FaxUdpEC",
17167         FT_UINT32, BASE_DEC, VALS(h245_T_t38FaxUdpEC_vals), 0,
17168         NULL, HFILL }},
17169     { &hf_h245_t38UDPFEC,
17170       { "t38UDPFEC", "h245.t38UDPFEC_element",
17171         FT_NONE, BASE_NONE, NULL, 0,
17172         NULL, HFILL }},
17173     { &hf_h245_t38UDPRedundancy,
17174       { "t38UDPRedundancy", "h245.t38UDPRedundancy_element",
17175         FT_NONE, BASE_NONE, NULL, 0,
17176         NULL, HFILL }},
17177     { &hf_h245_t38TCPBidirectionalMode,
17178       { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode",
17179         FT_BOOLEAN, BASE_NONE, NULL, 0,
17180         "BOOLEAN", HFILL }},
17181     { &hf_h245_encryptionCapability,
17182       { "encryptionCapability", "h245.encryptionCapability",
17183         FT_UINT32, BASE_DEC, NULL, 0,
17184         NULL, HFILL }},
17185     { &hf_h245_authenticationCapability,
17186       { "authenticationCapability", "h245.authenticationCapability_element",
17187         FT_NONE, BASE_NONE, NULL, 0,
17188         NULL, HFILL }},
17189     { &hf_h245_integrityCapability,
17190       { "integrityCapability", "h245.integrityCapability_element",
17191         FT_NONE, BASE_NONE, NULL, 0,
17192         NULL, HFILL }},
17193     { &hf_h245_genericH235SecurityCapability,
17194       { "genericH235SecurityCapability", "h245.genericH235SecurityCapability_element",
17195         FT_NONE, BASE_NONE, NULL, 0,
17196         "GenericCapability", HFILL }},
17197     { &hf_h245_EncryptionCapability_item,
17198       { "MediaEncryptionAlgorithm", "h245.MediaEncryptionAlgorithm",
17199         FT_UINT32, BASE_DEC, VALS(h245_MediaEncryptionAlgorithm_vals), 0,
17200         NULL, HFILL }},
17201     { &hf_h245_algorithm,
17202       { "algorithm", "h245.algorithm",
17203         FT_OID, BASE_NONE, NULL, 0,
17204         "OBJECT_IDENTIFIER", HFILL }},
17205     { &hf_h245_antiSpamAlgorithm,
17206       { "antiSpamAlgorithm", "h245.antiSpamAlgorithm",
17207         FT_OID, BASE_NONE, NULL, 0,
17208         "OBJECT_IDENTIFIER", HFILL }},
17209     { &hf_h245_ui_nonStandard,
17210       { "nonStandard", "h245.nonStandard",
17211         FT_UINT32, BASE_DEC, NULL, 0,
17212         "SEQUENCE_SIZE_1_16_OF_NonStandardParameter", HFILL }},
17213     { &hf_h245_ui_nonStandard_item,
17214       { "NonStandardParameter", "h245.NonStandardParameter_element",
17215         FT_NONE, BASE_NONE, NULL, 0,
17216         NULL, HFILL }},
17217     { &hf_h245_basicString,
17218       { "basicString", "h245.basicString_element",
17219         FT_NONE, BASE_NONE, NULL, 0,
17220         NULL, HFILL }},
17221     { &hf_h245_iA5String,
17222       { "iA5String", "h245.iA5String_element",
17223         FT_NONE, BASE_NONE, NULL, 0,
17224         NULL, HFILL }},
17225     { &hf_h245_generalString,
17226       { "generalString", "h245.generalString_element",
17227         FT_NONE, BASE_NONE, NULL, 0,
17228         NULL, HFILL }},
17229     { &hf_h245_dtmf,
17230       { "dtmf", "h245.dtmf_element",
17231         FT_NONE, BASE_NONE, NULL, 0,
17232         NULL, HFILL }},
17233     { &hf_h245_hookflash,
17234       { "hookflash", "h245.hookflash_element",
17235         FT_NONE, BASE_NONE, NULL, 0,
17236         NULL, HFILL }},
17237     { &hf_h245_extendedAlphanumericFlag,
17238       { "extendedAlphanumeric", "h245.extendedAlphanumeric_element",
17239         FT_NONE, BASE_NONE, NULL, 0,
17240         NULL, HFILL }},
17241     { &hf_h245_encryptedBasicString,
17242       { "encryptedBasicString", "h245.encryptedBasicString_element",
17243         FT_NONE, BASE_NONE, NULL, 0,
17244         NULL, HFILL }},
17245     { &hf_h245_encryptedIA5String,
17246       { "encryptedIA5String", "h245.encryptedIA5String_element",
17247         FT_NONE, BASE_NONE, NULL, 0,
17248         NULL, HFILL }},
17249     { &hf_h245_encryptedGeneralString,
17250       { "encryptedGeneralString", "h245.encryptedGeneralString_element",
17251         FT_NONE, BASE_NONE, NULL, 0,
17252         NULL, HFILL }},
17253     { &hf_h245_secureDTMF,
17254       { "secureDTMF", "h245.secureDTMF_element",
17255         FT_NONE, BASE_NONE, NULL, 0,
17256         NULL, HFILL }},
17257     { &hf_h245_genericUserInputCapability,
17258       { "genericUserInputCapability", "h245.genericUserInputCapability_element",
17259         FT_NONE, BASE_NONE, NULL, 0,
17260         "GenericCapability", HFILL }},
17261     { &hf_h245_nonStandardParams,
17262       { "nonStandardData", "h245.nonStandardData",
17263         FT_UINT32, BASE_DEC, NULL, 0,
17264         "SEQUENCE_OF_NonStandardParameter", HFILL }},
17265     { &hf_h245_nonStandardParams_item,
17266       { "NonStandardParameter", "h245.NonStandardParameter_element",
17267         FT_NONE, BASE_NONE, NULL, 0,
17268         NULL, HFILL }},
17269     { &hf_h245_chairControlCapability,
17270       { "chairControlCapability", "h245.chairControlCapability",
17271         FT_BOOLEAN, BASE_NONE, NULL, 0,
17272         "BOOLEAN", HFILL }},
17273     { &hf_h245_videoIndicateMixingCapability,
17274       { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability",
17275         FT_BOOLEAN, BASE_NONE, NULL, 0,
17276         "BOOLEAN", HFILL }},
17277     { &hf_h245_multipointVisualizationCapability,
17278       { "multipointVisualizationCapability", "h245.multipointVisualizationCapability",
17279         FT_BOOLEAN, BASE_NONE, NULL, 0,
17280         "BOOLEAN", HFILL }},
17281     { &hf_h245_capabilityIdentifier,
17282       { "capabilityIdentifier", "h245.capabilityIdentifier",
17283         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
17284         NULL, HFILL }},
17285     { &hf_h245_collapsing,
17286       { "collapsing", "h245.collapsing",
17287         FT_UINT32, BASE_DEC, NULL, 0,
17288         NULL, HFILL }},
17289     { &hf_h245_collapsing_item,
17290       { "collapsing item", "h245.collapsing_item_element",
17291         FT_NONE, BASE_NONE, NULL, 0,
17292         NULL, HFILL }},
17293     { &hf_h245_nonCollapsing,
17294       { "nonCollapsing", "h245.nonCollapsing",
17295         FT_UINT32, BASE_DEC, NULL, 0,
17296         NULL, HFILL }},
17297     { &hf_h245_nonCollapsing_item,
17298       { "nonCollapsing item", "h245.nonCollapsing_item_element",
17299         FT_NONE, BASE_NONE, NULL, 0,
17300         NULL, HFILL }},
17301     { &hf_h245_nonCollapsingRaw,
17302       { "nonCollapsingRaw", "h245.nonCollapsingRaw",
17303         FT_BYTES, BASE_NONE, NULL, 0,
17304         NULL, HFILL }},
17305     { &hf_h245_transport,
17306       { "transport", "h245.transport",
17307         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
17308         "DataProtocolCapability", HFILL }},
17309     { &hf_h245_standardOid,
17310       { "standard", "h245.standard",
17311         FT_OID, BASE_NONE, NULL, 0,
17312         "T_standardOid", HFILL }},
17313     { &hf_h245_h221NonStandard,
17314       { "h221NonStandard", "h245.h221NonStandard_element",
17315         FT_NONE, BASE_NONE, NULL, 0,
17316         "NonStandardParameter", HFILL }},
17317     { &hf_h245_uuid,
17318       { "uuid", "h245.uuid",
17319         FT_BYTES, BASE_NONE, NULL, 0,
17320         "OCTET_STRING_SIZE_16", HFILL }},
17321     { &hf_h245_domainBased,
17322       { "domainBased", "h245.domainBased",
17323         FT_STRING, BASE_NONE, NULL, 0,
17324         "IA5String_SIZE_1_64", HFILL }},
17325     { &hf_h245_parameterIdentifier,
17326       { "parameterIdentifier", "h245.parameterIdentifier",
17327         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17328         NULL, HFILL }},
17329     { &hf_h245_parameterValue,
17330       { "parameterValue", "h245.parameterValue",
17331         FT_UINT32, BASE_DEC, VALS(h245_ParameterValue_vals), 0,
17332         NULL, HFILL }},
17333     { &hf_h245_supersedes,
17334       { "supersedes", "h245.supersedes",
17335         FT_UINT32, BASE_DEC, NULL, 0,
17336         "SEQUENCE_OF_ParameterIdentifier", HFILL }},
17337     { &hf_h245_supersedes_item,
17338       { "ParameterIdentifier", "h245.ParameterIdentifier",
17339         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17340         NULL, HFILL }},
17341     { &hf_h245_standard,
17342       { "standard", "h245.standard",
17343         FT_UINT32, BASE_DEC, NULL, 0,
17344         NULL, HFILL }},
17345     { &hf_h245_logical,
17346       { "logical", "h245.logical_element",
17347         FT_NONE, BASE_NONE, NULL, 0,
17348         NULL, HFILL }},
17349     { &hf_h245_booleanArray,
17350       { "booleanArray", "h245.booleanArray",
17351         FT_UINT32, BASE_DEC, NULL, 0,
17352         NULL, HFILL }},
17353     { &hf_h245_unsignedMin,
17354       { "unsignedMin", "h245.unsignedMin",
17355         FT_UINT32, BASE_DEC, NULL, 0,
17356         NULL, HFILL }},
17357     { &hf_h245_unsignedMax,
17358       { "unsignedMax", "h245.unsignedMax",
17359         FT_UINT32, BASE_DEC, NULL, 0,
17360         NULL, HFILL }},
17361     { &hf_h245_unsigned32Min,
17362       { "unsigned32Min", "h245.unsigned32Min",
17363         FT_UINT32, BASE_DEC, NULL, 0,
17364         NULL, HFILL }},
17365     { &hf_h245_unsigned32Max,
17366       { "unsigned32Max", "h245.unsigned32Max",
17367         FT_UINT32, BASE_DEC, NULL, 0,
17368         NULL, HFILL }},
17369     { &hf_h245_octetString,
17370       { "octetString", "h245.octetString",
17371         FT_UINT32, BASE_DEC, NULL, 0,
17372         NULL, HFILL }},
17373     { &hf_h245_genericParameters,
17374       { "genericParameter", "h245.genericParameter",
17375         FT_UINT32, BASE_DEC, NULL, 0,
17376         "SEQUENCE_OF_GenericParameter", HFILL }},
17377     { &hf_h245_genericParameters_item,
17378       { "GenericParameter", "h245.GenericParameter_element",
17379         FT_NONE, BASE_NONE, NULL, 0,
17380         NULL, HFILL }},
17381     { &hf_h245_multiplexFormat,
17382       { "multiplexFormat", "h245.multiplexFormat",
17383         FT_UINT32, BASE_DEC, VALS(h245_MultiplexFormat_vals), 0,
17384         NULL, HFILL }},
17385     { &hf_h245_controlOnMuxStream,
17386       { "controlOnMuxStream", "h245.controlOnMuxStream",
17387         FT_BOOLEAN, BASE_NONE, NULL, 0,
17388         "BOOLEAN", HFILL }},
17389     { &hf_h245_capabilityOnMuxStream,
17390       { "capabilityOnMuxStream", "h245.capabilityOnMuxStream",
17391         FT_UINT32, BASE_DEC, NULL, 0,
17392         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17393     { &hf_h245_capabilityOnMuxStream_item,
17394       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17395         FT_UINT32, BASE_DEC, NULL, 0,
17396         NULL, HFILL }},
17397     { &hf_h245_dynamicRTPPayloadType,
17398       { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType",
17399         FT_UINT32, BASE_DEC, NULL, 0,
17400         "INTEGER_96_127", HFILL }},
17401     { &hf_h245_audioTelephoneEvent,
17402       { "audioTelephoneEvent", "h245.audioTelephoneEvent",
17403         FT_STRING, BASE_NONE, NULL, 0,
17404         "GeneralString", HFILL }},
17405     { &hf_h245_capabilities,
17406       { "capabilities", "h245.capabilities",
17407         FT_UINT32, BASE_DEC, NULL, 0,
17408         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17409     { &hf_h245_capabilities_item,
17410       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17411         FT_UINT32, BASE_DEC, NULL, 0,
17412         NULL, HFILL }},
17413     { &hf_h245_fecc_rfc2733,
17414       { "rfc2733", "h245.rfc2733_element",
17415         FT_NONE, BASE_NONE, NULL, 0,
17416         "FECC_rfc2733", HFILL }},
17417     { &hf_h245_redundancyEncodingBool,
17418       { "redundancyEncoding", "h245.redundancyEncoding",
17419         FT_BOOLEAN, BASE_NONE, NULL, 0,
17420         "BOOLEAN", HFILL }},
17421     { &hf_h245_separateStreamBool,
17422       { "separateStream", "h245.separateStream_element",
17423         FT_NONE, BASE_NONE, NULL, 0,
17424         "T_separateStreamBool", HFILL }},
17425     { &hf_h245_separatePort,
17426       { "separatePort", "h245.separatePort",
17427         FT_BOOLEAN, BASE_NONE, NULL, 0,
17428         "BOOLEAN", HFILL }},
17429     { &hf_h245_samePortBool,
17430       { "samePort", "h245.samePort",
17431         FT_BOOLEAN, BASE_NONE, NULL, 0,
17432         "BOOLEAN", HFILL }},
17433     { &hf_h245_protectedCapability,
17434       { "protectedCapability", "h245.protectedCapability",
17435         FT_UINT32, BASE_DEC, NULL, 0,
17436         "CapabilityTableEntryNumber", HFILL }},
17437     { &hf_h245_fecScheme,
17438       { "fecScheme", "h245.fecScheme",
17439         FT_OID, BASE_NONE, NULL, 0,
17440         "OBJECT_IDENTIFIER", HFILL }},
17441     { &hf_h245_rfc2733rfc2198,
17442       { "rfc2733rfc2198", "h245.rfc2733rfc2198",
17443         FT_UINT64, BASE_DEC, NULL, 0,
17444         "MaxRedundancy", HFILL }},
17445     { &hf_h245_rfc2733sameport,
17446       { "rfc2733sameport", "h245.rfc2733sameport",
17447         FT_UINT64, BASE_DEC, NULL, 0,
17448         "MaxRedundancy", HFILL }},
17449     { &hf_h245_rfc2733diffport,
17450       { "rfc2733diffport", "h245.rfc2733diffport",
17451         FT_UINT64, BASE_DEC, NULL, 0,
17452         "MaxRedundancy", HFILL }},
17453     { &hf_h245_rfc2733Format,
17454       { "rfc2733Format", "h245.rfc2733Format",
17455         FT_UINT32, BASE_DEC, VALS(h245_Rfc2733Format_vals), 0,
17456         NULL, HFILL }},
17457     { &hf_h245_olc_fw_lcn,
17458       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
17459         FT_UINT32, BASE_DEC, NULL, 0,
17460         "OLC_fw_lcn", HFILL }},
17461     { &hf_h245_forwardLogicalChannelParameters,
17462       { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters_element",
17463         FT_NONE, BASE_NONE, NULL, 0,
17464         NULL, HFILL }},
17465     { &hf_h245_portNumber,
17466       { "portNumber", "h245.portNumber",
17467         FT_UINT32, BASE_DEC, NULL, 0,
17468         "INTEGER_0_65535", HFILL }},
17469     { &hf_h245_dataType,
17470       { "dataType", "h245.dataType",
17471         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17472         NULL, HFILL }},
17473     { &hf_h245_olc_forw_multiplexParameters,
17474       { "multiplexParameters", "h245.multiplexParameters",
17475         FT_UINT32, BASE_DEC, VALS(h245_OLC_forw_multiplexParameters_vals), 0,
17476         "OLC_forw_multiplexParameters", HFILL }},
17477     { &hf_h245_h222LogicalChannelParameters,
17478       { "h222LogicalChannelParameters", "h245.h222LogicalChannelParameters_element",
17479         FT_NONE, BASE_NONE, NULL, 0,
17480         NULL, HFILL }},
17481     { &hf_h245_olc_fw_h223_params,
17482       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters_element",
17483         FT_NONE, BASE_NONE, NULL, 0,
17484         "OLC_fw_h223_params", HFILL }},
17485     { &hf_h245_v76LogicalChannelParameters,
17486       { "v76LogicalChannelParameters", "h245.v76LogicalChannelParameters_element",
17487         FT_NONE, BASE_NONE, NULL, 0,
17488         NULL, HFILL }},
17489     { &hf_h245_h2250LogicalChannelParameters,
17490       { "h2250LogicalChannelParameters", "h245.h2250LogicalChannelParameters_element",
17491         FT_NONE, BASE_NONE, NULL, 0,
17492         NULL, HFILL }},
17493     { &hf_h245_forwardLogicalChannelDependency,
17494       { "forwardLogicalChannelDependency", "h245.forwardLogicalChannelDependency",
17495         FT_UINT32, BASE_DEC, NULL, 0,
17496         "LogicalChannelNumber", HFILL }},
17497     { &hf_h245_replacementFor,
17498       { "replacementFor", "h245.replacementFor",
17499         FT_UINT32, BASE_DEC, NULL, 0,
17500         "LogicalChannelNumber", HFILL }},
17501     { &hf_h245_reverseLogicalChannelParameters,
17502       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters_element",
17503         FT_NONE, BASE_NONE, NULL, 0,
17504         "OLC_reverseLogicalChannelParameters", HFILL }},
17505     { &hf_h245_olc_rev_multiplexParameter,
17506       { "multiplexParameters", "h245.multiplexParameters",
17507         FT_UINT32, BASE_DEC, VALS(h245_OLC_rev_multiplexParameters_vals), 0,
17508         "OLC_rev_multiplexParameters", HFILL }},
17509     { &hf_h245_olc_rev_h223_params,
17510       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters_element",
17511         FT_NONE, BASE_NONE, NULL, 0,
17512         "OLC_rev_h223_params", HFILL }},
17513     { &hf_h245_reverseLogicalChannelDependency,
17514       { "reverseLogicalChannelDependency", "h245.reverseLogicalChannelDependency",
17515         FT_UINT32, BASE_DEC, NULL, 0,
17516         "LogicalChannelNumber", HFILL }},
17517     { &hf_h245_separateStack,
17518       { "separateStack", "h245.separateStack_element",
17519         FT_NONE, BASE_NONE, NULL, 0,
17520         "NetworkAccessParameters", HFILL }},
17521     { &hf_h245_encryptionSync,
17522       { "encryptionSync", "h245.encryptionSync_element",
17523         FT_NONE, BASE_NONE, NULL, 0,
17524         NULL, HFILL }},
17525     { &hf_h245_distribution,
17526       { "distribution", "h245.distribution",
17527         FT_UINT32, BASE_DEC, VALS(h245_T_distribution_vals), 0,
17528         NULL, HFILL }},
17529     { &hf_h245_unicast,
17530       { "unicast", "h245.unicast_element",
17531         FT_NONE, BASE_NONE, NULL, 0,
17532         NULL, HFILL }},
17533     { &hf_h245_multicast,
17534       { "multicast", "h245.multicast_element",
17535         FT_NONE, BASE_NONE, NULL, 0,
17536         NULL, HFILL }},
17537     { &hf_h245_networkAddress,
17538       { "networkAddress", "h245.networkAddress",
17539         FT_UINT32, BASE_DEC, VALS(h245_T_networkAddress_vals), 0,
17540         NULL, HFILL }},
17541     { &hf_h245_q2931Address,
17542       { "q2931Address", "h245.q2931Address_element",
17543         FT_NONE, BASE_NONE, NULL, 0,
17544         NULL, HFILL }},
17545     { &hf_h245_e164Address,
17546       { "e164Address", "h245.e164Address",
17547         FT_STRING, BASE_NONE, NULL, 0,
17548         NULL, HFILL }},
17549     { &hf_h245_localAreaAddress,
17550       { "localAreaAddress", "h245.localAreaAddress",
17551         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17552         "TransportAddress", HFILL }},
17553     { &hf_h245_associateConference,
17554       { "associateConference", "h245.associateConference",
17555         FT_BOOLEAN, BASE_NONE, NULL, 0,
17556         "BOOLEAN", HFILL }},
17557     { &hf_h245_externalReference,
17558       { "externalReference", "h245.externalReference",
17559         FT_BYTES, BASE_NONE, NULL, 0,
17560         "OCTET_STRING_SIZE_1_255", HFILL }},
17561     { &hf_h245_t120SetupProcedure,
17562       { "t120SetupProcedure", "h245.t120SetupProcedure",
17563         FT_UINT32, BASE_DEC, VALS(h245_T_t120SetupProcedure_vals), 0,
17564         NULL, HFILL }},
17565     { &hf_h245_originateCall,
17566       { "originateCall", "h245.originateCall_element",
17567         FT_NONE, BASE_NONE, NULL, 0,
17568         NULL, HFILL }},
17569     { &hf_h245_waitForCall,
17570       { "waitForCall", "h245.waitForCall_element",
17571         FT_NONE, BASE_NONE, NULL, 0,
17572         NULL, HFILL }},
17573     { &hf_h245_issueQuery,
17574       { "issueQuery", "h245.issueQuery_element",
17575         FT_NONE, BASE_NONE, NULL, 0,
17576         NULL, HFILL }},
17577     { &hf_h245_address,
17578       { "address", "h245.address",
17579         FT_UINT32, BASE_DEC, VALS(h245_T_address_vals), 0,
17580         NULL, HFILL }},
17581     { &hf_h245_internationalNumber,
17582       { "internationalNumber", "h245.internationalNumber",
17583         FT_STRING, BASE_NONE, NULL, 0,
17584         "NumericString_SIZE_1_16", HFILL }},
17585     { &hf_h245_nsapAddress,
17586       { "nsapAddress", "h245.nsapAddress",
17587         FT_BYTES, BASE_NONE, NULL, 0,
17588         "OCTET_STRING_SIZE_1_20", HFILL }},
17589     { &hf_h245_subaddress,
17590       { "subaddress", "h245.subaddress",
17591         FT_BYTES, BASE_NONE, NULL, 0,
17592         "OCTET_STRING_SIZE_1_20", HFILL }},
17593     { &hf_h245_audioHeaderPresent,
17594       { "audioHeaderPresent", "h245.audioHeaderPresent",
17595         FT_BOOLEAN, BASE_NONE, NULL, 0,
17596         "BOOLEAN", HFILL }},
17597     { &hf_h245_nullData,
17598       { "nullData", "h245.nullData_element",
17599         FT_NONE, BASE_NONE, NULL, 0,
17600         NULL, HFILL }},
17601     { &hf_h245_videoData,
17602       { "videoData", "h245.videoData",
17603         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
17604         "VideoCapability", HFILL }},
17605     { &hf_h245_audioData,
17606       { "audioData", "h245.audioData",
17607         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
17608         "AudioCapability", HFILL }},
17609     { &hf_h245_data,
17610       { "data", "h245.data_element",
17611         FT_NONE, BASE_NONE, NULL, 0,
17612         "DataApplicationCapability", HFILL }},
17613     { &hf_h245_encryptionData,
17614       { "encryptionData", "h245.encryptionData",
17615         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
17616         "EncryptionMode", HFILL }},
17617     { &hf_h245_h235Control,
17618       { "h235Control", "h245.h235Control_element",
17619         FT_NONE, BASE_NONE, NULL, 0,
17620         "NonStandardParameter", HFILL }},
17621     { &hf_h245_h235Media,
17622       { "h235Media", "h245.h235Media_element",
17623         FT_NONE, BASE_NONE, NULL, 0,
17624         NULL, HFILL }},
17625     { &hf_h245_multiplexedStream,
17626       { "multiplexedStream", "h245.multiplexedStream_element",
17627         FT_NONE, BASE_NONE, NULL, 0,
17628         "MultiplexedStreamParameter", HFILL }},
17629     { &hf_h245_redundancyEncoding,
17630       { "redundancyEncoding", "h245.redundancyEncoding_element",
17631         FT_NONE, BASE_NONE, NULL, 0,
17632         NULL, HFILL }},
17633     { &hf_h245_multiplePayloadStream,
17634       { "multiplePayloadStream", "h245.multiplePayloadStream_element",
17635         FT_NONE, BASE_NONE, NULL, 0,
17636         NULL, HFILL }},
17637     { &hf_h245_depFec,
17638       { "depFec", "h245.depFec",
17639         FT_UINT32, BASE_DEC, VALS(h245_DepFECData_vals), 0,
17640         "DepFECData", HFILL }},
17641     { &hf_h245_fec,
17642       { "fec", "h245.fec",
17643         FT_UINT32, BASE_DEC, VALS(h245_FECData_vals), 0,
17644         "FECData", HFILL }},
17645     { &hf_h245_mediaType,
17646       { "mediaType", "h245.mediaType",
17647         FT_UINT32, BASE_DEC, VALS(h245_T_mediaType_vals), 0,
17648         NULL, HFILL }},
17649     { &hf_h245_resourceID,
17650       { "resourceID", "h245.resourceID",
17651         FT_UINT32, BASE_DEC, NULL, 0,
17652         "INTEGER_0_65535", HFILL }},
17653     { &hf_h245_subChannelID,
17654       { "subChannelID", "h245.subChannelID",
17655         FT_UINT32, BASE_DEC, NULL, 0,
17656         "INTEGER_0_8191", HFILL }},
17657     { &hf_h245_pcr_pid,
17658       { "pcr-pid", "h245.pcr_pid",
17659         FT_UINT32, BASE_DEC, NULL, 0,
17660         "INTEGER_0_8191", HFILL }},
17661     { &hf_h245_programDescriptors,
17662       { "programDescriptors", "h245.programDescriptors",
17663         FT_BYTES, BASE_NONE, NULL, 0,
17664         "OCTET_STRING", HFILL }},
17665     { &hf_h245_streamDescriptors,
17666       { "streamDescriptors", "h245.streamDescriptors",
17667         FT_BYTES, BASE_NONE, NULL, 0,
17668         "OCTET_STRING", HFILL }},
17669     { &hf_h245_adaptationLayerType,
17670       { "adaptationLayerType", "h245.adaptationLayerType",
17671         FT_UINT32, BASE_DEC, VALS(h245_T_adaptationLayerType_vals), 0,
17672         NULL, HFILL }},
17673     { &hf_h245_h223_al_type_al1Framed,
17674       { "al1Framed", "h245.al1Framed_element",
17675         FT_NONE, BASE_NONE, NULL, 0,
17676         "T_h223_al_type_al1Framed", HFILL }},
17677     { &hf_h245_h223_al_type_al1NotFramed,
17678       { "al1NotFramed", "h245.al1NotFramed_element",
17679         FT_NONE, BASE_NONE, NULL, 0,
17680         "T_h223_al_type_al1NotFramed", HFILL }},
17681     { &hf_h245_h223_al_type_al2WithoutSequenceNumbers,
17682       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers_element",
17683         FT_NONE, BASE_NONE, NULL, 0,
17684         "T_h223_al_type_al2WithoutSequenceNumbers", HFILL }},
17685     { &hf_h245_h223_al_type_al2WithSequenceNumbers,
17686       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers_element",
17687         FT_NONE, BASE_NONE, NULL, 0,
17688         "T_h223_al_type_al2WithSequenceNumbers", HFILL }},
17689     { &hf_h245_controlFieldOctets,
17690       { "controlFieldOctets", "h245.controlFieldOctets",
17691         FT_UINT32, BASE_DEC, NULL, 0,
17692         NULL, HFILL }},
17693     { &hf_h245_al3_sendBufferSize,
17694       { "sendBufferSize", "h245.sendBufferSize",
17695         FT_UINT32, BASE_DEC, NULL, 0,
17696         "T_al3_sendBufferSize", HFILL }},
17697     { &hf_h245_h223_al_type_al3,
17698       { "al3", "h245.al3_element",
17699         FT_NONE, BASE_NONE, NULL, 0,
17700         "T_h223_al_type_al3", HFILL }},
17701     { &hf_h245_h223_al_type_al1M,
17702       { "al1M", "h245.al1M_element",
17703         FT_NONE, BASE_NONE, NULL, 0,
17704         "T_h223_al_type_al1M", HFILL }},
17705     { &hf_h245_h223_al_type_al2M,
17706       { "al2M", "h245.al2M_element",
17707         FT_NONE, BASE_NONE, NULL, 0,
17708         "T_h223_al_type_al2M", HFILL }},
17709     { &hf_h245_h223_al_type_al3M,
17710       { "al3M", "h245.al3M_element",
17711         FT_NONE, BASE_NONE, NULL, 0,
17712         "T_h223_al_type_al3M", HFILL }},
17713     { &hf_h245_h223_lc_segmentableFlag,
17714       { "segmentableFlag", "h245.segmentableFlag",
17715         FT_BOOLEAN, BASE_NONE, NULL, 0,
17716         "T_h223_lc_segmentableFlag", HFILL }},
17717     { &hf_h245_transferMode,
17718       { "transferMode", "h245.transferMode",
17719         FT_UINT32, BASE_DEC, VALS(h245_T_transferMode_vals), 0,
17720         NULL, HFILL }},
17721     { &hf_h245_framed,
17722       { "framed", "h245.framed_element",
17723         FT_NONE, BASE_NONE, NULL, 0,
17724         NULL, HFILL }},
17725     { &hf_h245_unframed,
17726       { "unframed", "h245.unframed_element",
17727         FT_NONE, BASE_NONE, NULL, 0,
17728         NULL, HFILL }},
17729     { &hf_h245_aL1HeaderFEC,
17730       { "headerFEC", "h245.headerFEC",
17731         FT_UINT32, BASE_DEC, VALS(h245_AL1HeaderFEC_vals), 0,
17732         "AL1HeaderFEC", HFILL }},
17733     { &hf_h245_sebch16_7,
17734       { "sebch16-7", "h245.sebch16_7_element",
17735         FT_NONE, BASE_NONE, NULL, 0,
17736         NULL, HFILL }},
17737     { &hf_h245_golay24_12,
17738       { "golay24-12", "h245.golay24_12_element",
17739         FT_NONE, BASE_NONE, NULL, 0,
17740         NULL, HFILL }},
17741     { &hf_h245_crcLength2,
17742       { "crcLength", "h245.crcLength",
17743         FT_UINT32, BASE_DEC, VALS(h245_AL1CrcLength_vals), 0,
17744         "AL1CrcLength", HFILL }},
17745     { &hf_h245_crc4bit,
17746       { "crc4bit", "h245.crc4bit_element",
17747         FT_NONE, BASE_NONE, NULL, 0,
17748         NULL, HFILL }},
17749     { &hf_h245_crc12bit,
17750       { "crc12bit", "h245.crc12bit_element",
17751         FT_NONE, BASE_NONE, NULL, 0,
17752         NULL, HFILL }},
17753     { &hf_h245_crc20bit,
17754       { "crc20bit", "h245.crc20bit_element",
17755         FT_NONE, BASE_NONE, NULL, 0,
17756         NULL, HFILL }},
17757     { &hf_h245_crc28bit,
17758       { "crc28bit", "h245.crc28bit_element",
17759         FT_NONE, BASE_NONE, NULL, 0,
17760         NULL, HFILL }},
17761     { &hf_h245_crc8bit,
17762       { "crc8bit", "h245.crc8bit_element",
17763         FT_NONE, BASE_NONE, NULL, 0,
17764         NULL, HFILL }},
17765     { &hf_h245_crc16bit,
17766       { "crc16bit", "h245.crc16bit_element",
17767         FT_NONE, BASE_NONE, NULL, 0,
17768         NULL, HFILL }},
17769     { &hf_h245_crc32bit,
17770       { "crc32bit", "h245.crc32bit_element",
17771         FT_NONE, BASE_NONE, NULL, 0,
17772         NULL, HFILL }},
17773     { &hf_h245_crcNotUsed,
17774       { "crcNotUsed", "h245.crcNotUsed_element",
17775         FT_NONE, BASE_NONE, NULL, 0,
17776         NULL, HFILL }},
17777     { &hf_h245_rcpcCodeRate,
17778       { "rcpcCodeRate", "h245.rcpcCodeRate",
17779         FT_UINT32, BASE_DEC, NULL, 0,
17780         "INTEGER_8_32", HFILL }},
17781     { &hf_h245_noArq,
17782       { "noArq", "h245.noArq_element",
17783         FT_NONE, BASE_NONE, NULL, 0,
17784         NULL, HFILL }},
17785     { &hf_h245_typeIArq,
17786       { "typeIArq", "h245.typeIArq_element",
17787         FT_NONE, BASE_NONE, NULL, 0,
17788         "H223AnnexCArqParameters", HFILL }},
17789     { &hf_h245_typeIIArq,
17790       { "typeIIArq", "h245.typeIIArq_element",
17791         FT_NONE, BASE_NONE, NULL, 0,
17792         "H223AnnexCArqParameters", HFILL }},
17793     { &hf_h245_arqType,
17794       { "arqType", "h245.arqType",
17795         FT_UINT32, BASE_DEC, VALS(h245_ArqType_vals), 0,
17796         NULL, HFILL }},
17797     { &hf_h245_alsduSplitting,
17798       { "alsduSplitting", "h245.alsduSplitting",
17799         FT_BOOLEAN, BASE_NONE, NULL, 0,
17800         "BOOLEAN", HFILL }},
17801     { &hf_h245_rsCodeCorrection,
17802       { "rsCodeCorrection", "h245.rsCodeCorrection",
17803         FT_UINT32, BASE_DEC, NULL, 0,
17804         "INTEGER_0_127", HFILL }},
17805     { &hf_h245_aL2HeaderFEC,
17806       { "headerFEC", "h245.headerFEC",
17807         FT_UINT32, BASE_DEC, VALS(h245_AL2HeaderFEC_vals), 0,
17808         "AL2HeaderFEC", HFILL }},
17809     { &hf_h245_sebch16_5,
17810       { "sebch16-5", "h245.sebch16_5_element",
17811         FT_NONE, BASE_NONE, NULL, 0,
17812         NULL, HFILL }},
17813     { &hf_h245_headerFormat,
17814       { "headerFormat", "h245.headerFormat",
17815         FT_UINT32, BASE_DEC, VALS(h245_T_headerFormat_vals), 0,
17816         NULL, HFILL }},
17817     { &hf_h245_crlength2,
17818       { "crcLength", "h245.crcLength",
17819         FT_UINT32, BASE_DEC, VALS(h245_AL3CrcLength_vals), 0,
17820         "AL3CrcLength", HFILL }},
17821     { &hf_h245_numberOfRetransmissions,
17822       { "numberOfRetransmissions", "h245.numberOfRetransmissions",
17823         FT_UINT32, BASE_DEC, VALS(h245_T_numberOfRetransmissions_vals), 0,
17824         NULL, HFILL }},
17825     { &hf_h245_finite,
17826       { "finite", "h245.finite",
17827         FT_UINT32, BASE_DEC, NULL, 0,
17828         "INTEGER_0_16", HFILL }},
17829     { &hf_h245_infinite,
17830       { "infinite", "h245.infinite_element",
17831         FT_NONE, BASE_NONE, NULL, 0,
17832         NULL, HFILL }},
17833     { &hf_h245_sendBufferSize,
17834       { "sendBufferSize", "h245.sendBufferSize",
17835         FT_UINT32, BASE_DEC, NULL, 0,
17836         "INTEGER_0_16777215", HFILL }},
17837     { &hf_h245_hdlcParameters,
17838       { "hdlcParameters", "h245.hdlcParameters_element",
17839         FT_NONE, BASE_NONE, NULL, 0,
17840         "V76HDLCParameters", HFILL }},
17841     { &hf_h245_suspendResume,
17842       { "suspendResume", "h245.suspendResume",
17843         FT_UINT32, BASE_DEC, VALS(h245_T_suspendResume_vals), 0,
17844         NULL, HFILL }},
17845     { &hf_h245_noSuspendResume,
17846       { "noSuspendResume", "h245.noSuspendResume_element",
17847         FT_NONE, BASE_NONE, NULL, 0,
17848         NULL, HFILL }},
17849     { &hf_h245_suspendResumewAddress,
17850       { "suspendResumewAddress", "h245.suspendResumewAddress_element",
17851         FT_NONE, BASE_NONE, NULL, 0,
17852         NULL, HFILL }},
17853     { &hf_h245_suspendResumewoAddress,
17854       { "suspendResumewoAddress", "h245.suspendResumewoAddress_element",
17855         FT_NONE, BASE_NONE, NULL, 0,
17856         NULL, HFILL }},
17857     { &hf_h245_uIH,
17858       { "uIH", "h245.uIH",
17859         FT_BOOLEAN, BASE_NONE, NULL, 0,
17860         "BOOLEAN", HFILL }},
17861     { &hf_h245_v76_mode,
17862       { "mode", "h245.mode",
17863         FT_UINT32, BASE_DEC, VALS(h245_V76LCP_mode_vals), 0,
17864         "V76LCP_mode", HFILL }},
17865     { &hf_h245_eRM,
17866       { "eRM", "h245.eRM_element",
17867         FT_NONE, BASE_NONE, NULL, 0,
17868         NULL, HFILL }},
17869     { &hf_h245_windowSize,
17870       { "windowSize", "h245.windowSize",
17871         FT_UINT32, BASE_DEC, NULL, 0,
17872         "INTEGER_1_127", HFILL }},
17873     { &hf_h245_recovery,
17874       { "recovery", "h245.recovery",
17875         FT_UINT32, BASE_DEC, VALS(h245_T_recovery_vals), 0,
17876         NULL, HFILL }},
17877     { &hf_h245_rej,
17878       { "rej", "h245.rej_element",
17879         FT_NONE, BASE_NONE, NULL, 0,
17880         NULL, HFILL }},
17881     { &hf_h245_sREJ,
17882       { "sREJ", "h245.sREJ_element",
17883         FT_NONE, BASE_NONE, NULL, 0,
17884         NULL, HFILL }},
17885     { &hf_h245_mSREJ,
17886       { "mSREJ", "h245.mSREJ_element",
17887         FT_NONE, BASE_NONE, NULL, 0,
17888         NULL, HFILL }},
17889     { &hf_h245_uNERM,
17890       { "uNERM", "h245.uNERM_element",
17891         FT_NONE, BASE_NONE, NULL, 0,
17892         NULL, HFILL }},
17893     { &hf_h245_v75Parameters,
17894       { "v75Parameters", "h245.v75Parameters_element",
17895         FT_NONE, BASE_NONE, NULL, 0,
17896         NULL, HFILL }},
17897     { &hf_h245_crcLength,
17898       { "crcLength", "h245.crcLength",
17899         FT_UINT32, BASE_DEC, VALS(h245_CRCLength_vals), 0,
17900         NULL, HFILL }},
17901     { &hf_h245_n401,
17902       { "n401", "h245.n401",
17903         FT_UINT32, BASE_DEC, NULL, 0,
17904         "INTEGER_1_4095", HFILL }},
17905     { &hf_h245_loopbackTestProcedure,
17906       { "loopbackTestProcedure", "h245.loopbackTestProcedure",
17907         FT_BOOLEAN, BASE_NONE, NULL, 0,
17908         "BOOLEAN", HFILL }},
17909     { &hf_h245_sessionID_0_255,
17910       { "sessionID", "h245.sessionID",
17911         FT_UINT32, BASE_DEC, NULL, 0,
17912         "INTEGER_0_255", HFILL }},
17913     { &hf_h245_associatedSessionID,
17914       { "associatedSessionID", "h245.associatedSessionID",
17915         FT_UINT32, BASE_DEC, NULL, 0,
17916         "INTEGER_1_255", HFILL }},
17917     { &hf_h245_mediaChannel,
17918       { "mediaChannel", "h245.mediaChannel",
17919         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17920         NULL, HFILL }},
17921     { &hf_h245_mediaGuaranteedDelivery,
17922       { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery",
17923         FT_BOOLEAN, BASE_NONE, NULL, 0,
17924         "BOOLEAN", HFILL }},
17925     { &hf_h245_mediaControlChannel,
17926       { "mediaControlChannel", "h245.mediaControlChannel",
17927         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17928         NULL, HFILL }},
17929     { &hf_h245_mediaControlGuaranteedDelivery,
17930       { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery",
17931         FT_BOOLEAN, BASE_NONE, NULL, 0,
17932         "BOOLEAN", HFILL }},
17933     { &hf_h245_destination,
17934       { "destination", "h245.destination_element",
17935         FT_NONE, BASE_NONE, NULL, 0,
17936         "TerminalLabel", HFILL }},
17937     { &hf_h245_mediaPacketization,
17938       { "mediaPacketization", "h245.mediaPacketization",
17939         FT_UINT32, BASE_DEC, VALS(h245_T_mediaPacketization_vals), 0,
17940         NULL, HFILL }},
17941     { &hf_h245_h261aVideoPacketizationFlag,
17942       { "h261aVideoPacketization", "h245.h261aVideoPacketization_element",
17943         FT_NONE, BASE_NONE, NULL, 0,
17944         NULL, HFILL }},
17945     { &hf_h245_rtpPayloadType,
17946       { "rtpPayloadType", "h245.rtpPayloadType_element",
17947         FT_NONE, BASE_NONE, NULL, 0,
17948         NULL, HFILL }},
17949     { &hf_h245_source,
17950       { "source", "h245.source_element",
17951         FT_NONE, BASE_NONE, NULL, 0,
17952         "TerminalLabel", HFILL }},
17953     { &hf_h245_payloadDescriptor,
17954       { "payloadDescriptor", "h245.payloadDescriptor",
17955         FT_UINT32, BASE_DEC, VALS(h245_T_payloadDescriptor_vals), 0,
17956         NULL, HFILL }},
17957     { &hf_h245_rfc_number,
17958       { "rfc-number", "h245.rfc_number",
17959         FT_UINT32, BASE_DEC, VALS(h245_RFC_number_vals), 0,
17960         NULL, HFILL }},
17961     { &hf_h245_oid,
17962       { "oid", "h245.oid",
17963         FT_OID, BASE_NONE, NULL, 0,
17964         "OBJECT_IDENTIFIER", HFILL }},
17965     { &hf_h245_rtpPayloadType_01,
17966       { "payloadType", "h245.payloadType",
17967         FT_UINT32, BASE_DEC, NULL, 0,
17968         "T_rtpPayloadType", HFILL }},
17969     { &hf_h245_secondaryEncoding,
17970       { "secondaryEncoding", "h245.secondaryEncoding",
17971         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17972         "DataType", HFILL }},
17973     { &hf_h245_rtpRedundancyEncoding,
17974       { "rtpRedundancyEncoding", "h245.rtpRedundancyEncoding_element",
17975         FT_NONE, BASE_NONE, NULL, 0,
17976         NULL, HFILL }},
17977     { &hf_h245_primary,
17978       { "primary", "h245.primary_element",
17979         FT_NONE, BASE_NONE, NULL, 0,
17980         "RedundancyEncodingElement", HFILL }},
17981     { &hf_h245_secondary,
17982       { "secondary", "h245.secondary",
17983         FT_UINT32, BASE_DEC, NULL, 0,
17984         "SEQUENCE_OF_RedundancyEncodingElement", HFILL }},
17985     { &hf_h245_secondary_item,
17986       { "RedundancyEncodingElement", "h245.RedundancyEncodingElement_element",
17987         FT_NONE, BASE_NONE, NULL, 0,
17988         NULL, HFILL }},
17989     { &hf_h245_payloadType,
17990       { "payloadType", "h245.payloadType",
17991         FT_UINT32, BASE_DEC, NULL, 0,
17992         "INTEGER_0_127", HFILL }},
17993     { &hf_h245_elements,
17994       { "elements", "h245.elements",
17995         FT_UINT32, BASE_DEC, NULL, 0,
17996         "SEQUENCE_OF_MultiplePayloadStreamElement", HFILL }},
17997     { &hf_h245_elements_item,
17998       { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement_element",
17999         FT_NONE, BASE_NONE, NULL, 0,
18000         NULL, HFILL }},
18001     { &hf_h245_dep_rfc2733,
18002       { "rfc2733", "h245.rfc2733_element",
18003         FT_NONE, BASE_NONE, NULL, 0,
18004         "RFC2733Data", HFILL }},
18005     { &hf_h245_fec_data_mode,
18006       { "mode", "h245.mode",
18007         FT_UINT32, BASE_DEC, VALS(h245_FECdata_mode_vals), 0,
18008         "FECdata_mode", HFILL }},
18009     { &hf_h245_redundancyEncodingFlag,
18010       { "redundancyEncoding", "h245.redundancyEncoding_element",
18011         FT_NONE, BASE_NONE, NULL, 0,
18012         NULL, HFILL }},
18013     { &hf_h245_differentPort,
18014       { "differentPort", "h245.differentPort_element",
18015         FT_NONE, BASE_NONE, NULL, 0,
18016         NULL, HFILL }},
18017     { &hf_h245_protectedSessionID,
18018       { "protectedSessionID", "h245.protectedSessionID",
18019         FT_UINT32, BASE_DEC, NULL, 0,
18020         "INTEGER_1_255", HFILL }},
18021     { &hf_h245_protectedPayloadType,
18022       { "protectedPayloadType", "h245.protectedPayloadType",
18023         FT_UINT32, BASE_DEC, NULL, 0,
18024         "INTEGER_0_127", HFILL }},
18025     { &hf_h245_samePort,
18026       { "samePort", "h245.samePort_element",
18027         FT_NONE, BASE_NONE, NULL, 0,
18028         NULL, HFILL }},
18029     { &hf_h245_separateStream,
18030       { "separateStream", "h245.separateStream",
18031         FT_UINT32, BASE_DEC, VALS(h245_DepSeparateStream_vals), 0,
18032         "DepSeparateStream", HFILL }},
18033     { &hf_h245_rfc2733,
18034       { "rfc2733", "h245.rfc2733_element",
18035         FT_NONE, BASE_NONE, NULL, 0,
18036         NULL, HFILL }},
18037     { &hf_h245_pktMode,
18038       { "pktMode", "h245.pktMode",
18039         FT_UINT32, BASE_DEC, VALS(h245_T_pktMode_vals), 0,
18040         NULL, HFILL }},
18041     { &hf_h245_rfc2198coding,
18042       { "rfc2198coding", "h245.rfc2198coding_element",
18043         FT_NONE, BASE_NONE, NULL, 0,
18044         NULL, HFILL }},
18045     { &hf_h245_mode_rfc2733sameport,
18046       { "rfc2733sameport", "h245.rfc2733sameport_element",
18047         FT_NONE, BASE_NONE, NULL, 0,
18048         "T_mode_rfc2733sameport", HFILL }},
18049     { &hf_h245_mode_rfc2733diffport,
18050       { "rfc2733diffport", "h245.rfc2733diffport_element",
18051         FT_NONE, BASE_NONE, NULL, 0,
18052         "T_mode_rfc2733diffport", HFILL }},
18053     { &hf_h245_protectedChannel,
18054       { "protectedChannel", "h245.protectedChannel",
18055         FT_UINT32, BASE_DEC, NULL, 0,
18056         "LogicalChannelNumber", HFILL }},
18057     { &hf_h245_unicastAddress,
18058       { "unicastAddress", "h245.unicastAddress",
18059         FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0,
18060         NULL, HFILL }},
18061     { &hf_h245_multicastAddress,
18062       { "multicastAddress", "h245.multicastAddress",
18063         FT_UINT32, BASE_DEC, VALS(h245_MulticastAddress_vals), 0,
18064         NULL, HFILL }},
18065     { &hf_h245_iPAddress,
18066       { "iPAddress", "h245.iPAddress_element",
18067         FT_NONE, BASE_NONE, NULL, 0,
18068         NULL, HFILL }},
18069     { &hf_h245_ip4_network,
18070       { "network", "h245.network",
18071         FT_IPv4, BASE_NONE, NULL, 0,
18072         "Ipv4_network", HFILL }},
18073     { &hf_h245_tsapIdentifier,
18074       { "tsapIdentifier", "h245.tsapIdentifier",
18075         FT_UINT32, BASE_DEC, NULL, 0,
18076         NULL, HFILL }},
18077     { &hf_h245_iPXAddress,
18078       { "iPXAddress", "h245.iPXAddress_element",
18079         FT_NONE, BASE_NONE, NULL, 0,
18080         NULL, HFILL }},
18081     { &hf_h245_node,
18082       { "node", "h245.node",
18083         FT_BYTES, BASE_NONE, NULL, 0,
18084         "OCTET_STRING_SIZE_6", HFILL }},
18085     { &hf_h245_netnum,
18086       { "netnum", "h245.netnum",
18087         FT_BYTES, BASE_NONE, NULL, 0,
18088         "OCTET_STRING_SIZE_4", HFILL }},
18089     { &hf_h245_ipx_tsapIdentifier,
18090       { "tsapIdentifier", "h245.tsapIdentifier",
18091         FT_BYTES, BASE_NONE, NULL, 0,
18092         "OCTET_STRING_SIZE_2", HFILL }},
18093     { &hf_h245_iP6Address,
18094       { "iP6Address", "h245.iP6Address_element",
18095         FT_NONE, BASE_NONE, NULL, 0,
18096         NULL, HFILL }},
18097     { &hf_h245_ip6_network,
18098       { "network", "h245.network",
18099         FT_IPv6, BASE_NONE, NULL, 0,
18100         "T_ip6_network", HFILL }},
18101     { &hf_h245_ipv6_tsapIdentifier,
18102       { "tsapIdentifier", "h245.tsapIdentifier",
18103         FT_UINT32, BASE_DEC, NULL, 0,
18104         "T_ipv6_tsapIdentifier", HFILL }},
18105     { &hf_h245_netBios,
18106       { "netBios", "h245.netBios",
18107         FT_BYTES, BASE_NONE, NULL, 0,
18108         "OCTET_STRING_SIZE_16", HFILL }},
18109     { &hf_h245_iPSourceRouteAddress,
18110       { "iPSourceRouteAddress", "h245.iPSourceRouteAddress_element",
18111         FT_NONE, BASE_NONE, NULL, 0,
18112         NULL, HFILL }},
18113     { &hf_h245_routing,
18114       { "routing", "h245.routing",
18115         FT_UINT32, BASE_DEC, VALS(h245_T_routing_vals), 0,
18116         NULL, HFILL }},
18117     { &hf_h245_strict,
18118       { "strict", "h245.strict_element",
18119         FT_NONE, BASE_NONE, NULL, 0,
18120         NULL, HFILL }},
18121     { &hf_h245_loose,
18122       { "loose", "h245.loose_element",
18123         FT_NONE, BASE_NONE, NULL, 0,
18124         NULL, HFILL }},
18125     { &hf_h245_network,
18126       { "network", "h245.network",
18127         FT_BYTES, BASE_NONE, NULL, 0,
18128         "OCTET_STRING_SIZE_4", HFILL }},
18129     { &hf_h245_iPSrcRoute_tsapIdentifier,
18130       { "tsapIdentifier", "h245.tsapIdentifier",
18131         FT_UINT32, BASE_DEC, NULL, 0,
18132         "INTEGER_0_65535", HFILL }},
18133     { &hf_h245_route,
18134       { "route", "h245.route",
18135         FT_UINT32, BASE_DEC, NULL, 0,
18136         NULL, HFILL }},
18137     { &hf_h245_route_item,
18138       { "route item", "h245.route_item",
18139         FT_BYTES, BASE_NONE, NULL, 0,
18140         "OCTET_STRING_SIZE_4", HFILL }},
18141     { &hf_h245_nsap,
18142       { "nsap", "h245.nsap",
18143         FT_BYTES, BASE_NONE, NULL, 0,
18144         "OCTET_STRING_SIZE_1_20", HFILL }},
18145     { &hf_h245_nonStandardAddress,
18146       { "nonStandardAddress", "h245.nonStandardAddress_element",
18147         FT_NONE, BASE_NONE, NULL, 0,
18148         "NonStandardParameter", HFILL }},
18149     { &hf_h245_mIPAddress,
18150       { "iPAddress", "h245.iPAddress_element",
18151         FT_NONE, BASE_NONE, NULL, 0,
18152         "MIPAddress", HFILL }},
18153     { &hf_h245_mip4_network,
18154       { "network", "h245.network",
18155         FT_IPv4, BASE_NONE, NULL, 0,
18156         "OCTET_STRING_SIZE_4", HFILL }},
18157     { &hf_h245_multicast_tsapIdentifier,
18158       { "tsapIdentifier", "h245.tsapIdentifier",
18159         FT_UINT32, BASE_DEC, NULL, 0,
18160         "INTEGER_0_65535", HFILL }},
18161     { &hf_h245_mIP6Address,
18162       { "iP6Address", "h245.iP6Address_element",
18163         FT_NONE, BASE_NONE, NULL, 0,
18164         "MIP6Address", HFILL }},
18165     { &hf_h245_mip6_network,
18166       { "network", "h245.network",
18167         FT_IPv6, BASE_NONE, NULL, 0,
18168         "OCTET_STRING_SIZE_16", HFILL }},
18169     { &hf_h245_multicast_IPv6_tsapIdentifier,
18170       { "tsapIdentifier", "h245.tsapIdentifier",
18171         FT_UINT32, BASE_DEC, NULL, 0,
18172         "INTEGER_0_65535", HFILL }},
18173     { &hf_h245_synchFlag,
18174       { "synchFlag", "h245.synchFlag",
18175         FT_UINT32, BASE_DEC, NULL, 0,
18176         "INTEGER_0_255", HFILL }},
18177     { &hf_h245_h235Key,
18178       { "h235Key", "h245.h235Key",
18179         FT_BYTES, BASE_NONE, NULL, 0,
18180         "OCTET_STRING_SIZE_1_65535", HFILL }},
18181     { &hf_h245_escrowentry,
18182       { "escrowentry", "h245.escrowentry",
18183         FT_UINT32, BASE_DEC, NULL, 0,
18184         "SEQUENCE_SIZE_1_256_OF_EscrowData", HFILL }},
18185     { &hf_h245_escrowentry_item,
18186       { "EscrowData", "h245.EscrowData_element",
18187         FT_NONE, BASE_NONE, NULL, 0,
18188         NULL, HFILL }},
18189     { &hf_h245_genericParameter,
18190       { "genericParameter", "h245.genericParameter_element",
18191         FT_NONE, BASE_NONE, NULL, 0,
18192         NULL, HFILL }},
18193     { &hf_h245_escrowID,
18194       { "escrowID", "h245.escrowID",
18195         FT_OID, BASE_NONE, NULL, 0,
18196         "OBJECT_IDENTIFIER", HFILL }},
18197     { &hf_h245_escrowValue,
18198       { "escrowValue", "h245.escrowValue",
18199         FT_BYTES, BASE_NONE, NULL, 0,
18200         "BIT_STRING_SIZE_1_65535", HFILL }},
18201     { &hf_h245_olc_ack_fw_lcn,
18202       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18203         FT_UINT32, BASE_DEC, NULL, 0,
18204         "OLC_ack_fw_lcn", HFILL }},
18205     { &hf_h245_olc_ack_reverseLogicalChannelParameters,
18206       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters_element",
18207         FT_NONE, BASE_NONE, NULL, 0,
18208         "OLC_ack_reverseLogicalChannelParameters", HFILL }},
18209     { &hf_h245_reverseLogicalChannelNumber,
18210       { "reverseLogicalChannelNumber", "h245.reverseLogicalChannelNumber",
18211         FT_UINT32, BASE_DEC, NULL, 0,
18212         NULL, HFILL }},
18213     { &hf_h245_olc_ack_multiplexParameters,
18214       { "multiplexParameters", "h245.multiplexParameters",
18215         FT_UINT32, BASE_DEC, VALS(h245_T_olc_ack_multiplexParameters_vals), 0,
18216         "T_olc_ack_multiplexParameters", HFILL }},
18217     { &hf_h245_forwardMultiplexAckParameters,
18218       { "forwardMultiplexAckParameters", "h245.forwardMultiplexAckParameters",
18219         FT_UINT32, BASE_DEC, VALS(h245_T_forwardMultiplexAckParameters_vals), 0,
18220         NULL, HFILL }},
18221     { &hf_h245_h2250LogicalChannelAckParameters,
18222       { "h2250LogicalChannelAckParameters", "h245.h2250LogicalChannelAckParameters_element",
18223         FT_NONE, BASE_NONE, NULL, 0,
18224         NULL, HFILL }},
18225     { &hf_h245_forwardLogicalChannelNumber,
18226       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18227         FT_UINT32, BASE_DEC, NULL, 0,
18228         "LogicalChannelNumber", HFILL }},
18229     { &hf_h245_olc_rej_cause,
18230       { "cause", "h245.cause",
18231         FT_UINT32, BASE_DEC, VALS(h245_OpenLogicalChannelRejectCause_vals), 0,
18232         "OpenLogicalChannelRejectCause", HFILL }},
18233     { &hf_h245_unsuitableReverseParameters,
18234       { "unsuitableReverseParameters", "h245.unsuitableReverseParameters_element",
18235         FT_NONE, BASE_NONE, NULL, 0,
18236         NULL, HFILL }},
18237     { &hf_h245_dataTypeNotSupported,
18238       { "dataTypeNotSupported", "h245.dataTypeNotSupported_element",
18239         FT_NONE, BASE_NONE, NULL, 0,
18240         NULL, HFILL }},
18241     { &hf_h245_dataTypeNotAvailable,
18242       { "dataTypeNotAvailable", "h245.dataTypeNotAvailable_element",
18243         FT_NONE, BASE_NONE, NULL, 0,
18244         NULL, HFILL }},
18245     { &hf_h245_unknownDataType,
18246       { "unknownDataType", "h245.unknownDataType_element",
18247         FT_NONE, BASE_NONE, NULL, 0,
18248         NULL, HFILL }},
18249     { &hf_h245_dataTypeALCombinationNotSupported,
18250       { "dataTypeALCombinationNotSupported", "h245.dataTypeALCombinationNotSupported_element",
18251         FT_NONE, BASE_NONE, NULL, 0,
18252         NULL, HFILL }},
18253     { &hf_h245_multicastChannelNotAllowed,
18254       { "multicastChannelNotAllowed", "h245.multicastChannelNotAllowed_element",
18255         FT_NONE, BASE_NONE, NULL, 0,
18256         NULL, HFILL }},
18257     { &hf_h245_insufficientBandwidth,
18258       { "insufficientBandwidth", "h245.insufficientBandwidth_element",
18259         FT_NONE, BASE_NONE, NULL, 0,
18260         NULL, HFILL }},
18261     { &hf_h245_separateStackEstablishmentFailed,
18262       { "separateStackEstablishmentFailed", "h245.separateStackEstablishmentFailed_element",
18263         FT_NONE, BASE_NONE, NULL, 0,
18264         NULL, HFILL }},
18265     { &hf_h245_invalidSessionID,
18266       { "invalidSessionID", "h245.invalidSessionID_element",
18267         FT_NONE, BASE_NONE, NULL, 0,
18268         NULL, HFILL }},
18269     { &hf_h245_masterSlaveConflict,
18270       { "masterSlaveConflict", "h245.masterSlaveConflict_element",
18271         FT_NONE, BASE_NONE, NULL, 0,
18272         NULL, HFILL }},
18273     { &hf_h245_waitForCommunicationMode,
18274       { "waitForCommunicationMode", "h245.waitForCommunicationMode_element",
18275         FT_NONE, BASE_NONE, NULL, 0,
18276         NULL, HFILL }},
18277     { &hf_h245_invalidDependentChannel,
18278       { "invalidDependentChannel", "h245.invalidDependentChannel_element",
18279         FT_NONE, BASE_NONE, NULL, 0,
18280         NULL, HFILL }},
18281     { &hf_h245_replacementForRejected,
18282       { "replacementForRejected", "h245.replacementForRejected_element",
18283         FT_NONE, BASE_NONE, NULL, 0,
18284         NULL, HFILL }},
18285     { &hf_h245_securityDenied,
18286       { "securityDenied", "h245.securityDenied_element",
18287         FT_NONE, BASE_NONE, NULL, 0,
18288         NULL, HFILL }},
18289     { &hf_h245_qoSControlNotSupported,
18290       { "qoSControlNotSupported", "h245.qoSControlNotSupported_element",
18291         FT_NONE, BASE_NONE, NULL, 0,
18292         NULL, HFILL }},
18293     { &hf_h245_sessionID,
18294       { "sessionID", "h245.sessionID",
18295         FT_UINT32, BASE_DEC, NULL, 0,
18296         "INTEGER_1_255", HFILL }},
18297     { &hf_h245_ack_mediaChannel,
18298       { "mediaChannel", "h245.mediaChannel",
18299         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18300         "Ack_mediaChannel", HFILL }},
18301     { &hf_h245_ack_mediaControlChannel,
18302       { "mediaControlChannel", "h245.mediaControlChannel",
18303         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18304         "Ack_mediaControlChannel", HFILL }},
18305     { &hf_h245_flowControlToZero,
18306       { "flowControlToZero", "h245.flowControlToZero",
18307         FT_BOOLEAN, BASE_NONE, NULL, 0,
18308         "BOOLEAN", HFILL }},
18309     { &hf_h245_cLC_source,
18310       { "source", "h245.source",
18311         FT_UINT32, BASE_DEC, VALS(h245_T_cLC_source_vals), 0,
18312         "T_cLC_source", HFILL }},
18313     { &hf_h245_user,
18314       { "user", "h245.user_element",
18315         FT_NONE, BASE_NONE, NULL, 0,
18316         NULL, HFILL }},
18317     { &hf_h245_lcse,
18318       { "lcse", "h245.lcse_element",
18319         FT_NONE, BASE_NONE, NULL, 0,
18320         NULL, HFILL }},
18321     { &hf_h245_clc_reason,
18322       { "reason", "h245.reason",
18323         FT_UINT32, BASE_DEC, VALS(h245_Clc_reason_vals), 0,
18324         "Clc_reason", HFILL }},
18325     { &hf_h245_unknown,
18326       { "unknown", "h245.unknown_element",
18327         FT_NONE, BASE_NONE, NULL, 0,
18328         NULL, HFILL }},
18329     { &hf_h245_reopen,
18330       { "reopen", "h245.reopen_element",
18331         FT_NONE, BASE_NONE, NULL, 0,
18332         NULL, HFILL }},
18333     { &hf_h245_reservationFailure,
18334       { "reservationFailure", "h245.reservationFailure_element",
18335         FT_NONE, BASE_NONE, NULL, 0,
18336         NULL, HFILL }},
18337     { &hf_h245_networkErrorCode,
18338       { "networkErrorCode", "h245.networkErrorCode",
18339         FT_UINT32, BASE_DEC, NULL, 0,
18340         "INTEGER_0_255", HFILL }},
18341     { &hf_h245_qosCapability,
18342       { "qosCapability", "h245.qosCapability_element",
18343         FT_NONE, BASE_NONE, NULL, 0,
18344         NULL, HFILL }},
18345     { &hf_h245_reason,
18346       { "reason", "h245.reason",
18347         FT_UINT32, BASE_DEC, VALS(h245_T_reason_vals), 0,
18348         NULL, HFILL }},
18349     { &hf_h245_normal,
18350       { "normal", "h245.normal_element",
18351         FT_NONE, BASE_NONE, NULL, 0,
18352         NULL, HFILL }},
18353     { &hf_h245_req_chan_clos_rej_cause,
18354       { "cause", "h245.cause",
18355         FT_UINT32, BASE_DEC, VALS(h245_RequestChannelCloseRejectCause_vals), 0,
18356         "RequestChannelCloseRejectCause", HFILL }},
18357     { &hf_h245_multiplexEntryDescriptors,
18358       { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors",
18359         FT_UINT32, BASE_DEC, NULL, 0,
18360         "SET_SIZE_1_15_OF_MultiplexEntryDescriptor", HFILL }},
18361     { &hf_h245_multiplexEntryDescriptors_item,
18362       { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor_element",
18363         FT_NONE, BASE_NONE, NULL, 0,
18364         NULL, HFILL }},
18365     { &hf_h245_multiplexTableEntryNumber,
18366       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18367         FT_UINT32, BASE_DEC, NULL, 0,
18368         NULL, HFILL }},
18369     { &hf_h245_elementList,
18370       { "elementList", "h245.elementList",
18371         FT_UINT32, BASE_DEC, NULL, 0,
18372         NULL, HFILL }},
18373     { &hf_h245_elementList_item,
18374       { "MultiplexElement", "h245.MultiplexElement_element",
18375         FT_NONE, BASE_NONE, NULL, 0,
18376         NULL, HFILL }},
18377     { &hf_h245_me_type,
18378       { "type", "h245.type",
18379         FT_UINT32, BASE_DEC, VALS(h245_Me_type_vals), 0,
18380         "Me_type", HFILL }},
18381     { &hf_h245_logicalChannelNum,
18382       { "logicalChannelNumber", "h245.logicalChannelNumber",
18383         FT_UINT32, BASE_DEC, NULL, 0,
18384         "T_logicalChannelNum", HFILL }},
18385     { &hf_h245_subElementList,
18386       { "subElementList", "h245.subElementList",
18387         FT_UINT32, BASE_DEC, NULL, 0,
18388         NULL, HFILL }},
18389     { &hf_h245_subElementList_item,
18390       { "MultiplexElement", "h245.MultiplexElement_element",
18391         FT_NONE, BASE_NONE, NULL, 0,
18392         NULL, HFILL }},
18393     { &hf_h245_me_repeatCount,
18394       { "repeatCount", "h245.repeatCount",
18395         FT_UINT32, BASE_DEC, VALS(h245_ME_repeatCount_vals), 0,
18396         "ME_repeatCount", HFILL }},
18397     { &hf_h245_me_repeatCount_finite,
18398       { "finite", "h245.finite",
18399         FT_UINT32, BASE_DEC, NULL, 0,
18400         "ME_finiteRepeatCount", HFILL }},
18401     { &hf_h245_untilClosingFlag,
18402       { "untilClosingFlag", "h245.untilClosingFlag_element",
18403         FT_NONE, BASE_NONE, NULL, 0,
18404         NULL, HFILL }},
18405     { &hf_h245_multiplexTableEntryNumbers,
18406       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18407         FT_UINT32, BASE_DEC, NULL, 0,
18408         "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18409     { &hf_h245_multiplexTableEntryNumbers_item,
18410       { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18411         FT_UINT32, BASE_DEC, NULL, 0,
18412         NULL, HFILL }},
18413     { &hf_h245_sendRejectionDescriptions,
18414       { "rejectionDescriptions", "h245.rejectionDescriptions",
18415         FT_UINT32, BASE_DEC, NULL, 0,
18416         "SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions", HFILL }},
18417     { &hf_h245_sendRejectionDescriptions_item,
18418       { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions_element",
18419         FT_NONE, BASE_NONE, NULL, 0,
18420         NULL, HFILL }},
18421     { &hf_h245_mux_rej_cause,
18422       { "cause", "h245.cause",
18423         FT_UINT32, BASE_DEC, VALS(h245_MultiplexEntryRejectionDescriptionsCause_vals), 0,
18424         "MultiplexEntryRejectionDescriptionsCause", HFILL }},
18425     { &hf_h245_unspecifiedCause,
18426       { "unspecifiedCause", "h245.unspecifiedCause_element",
18427         FT_NONE, BASE_NONE, NULL, 0,
18428         NULL, HFILL }},
18429     { &hf_h245_descriptorTooComplex,
18430       { "descriptorTooComplex", "h245.descriptorTooComplex_element",
18431         FT_NONE, BASE_NONE, NULL, 0,
18432         NULL, HFILL }},
18433     { &hf_h245_entryNumbers,
18434       { "entryNumbers", "h245.entryNumbers",
18435         FT_UINT32, BASE_DEC, NULL, 0,
18436         "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18437     { &hf_h245_entryNumbers_item,
18438       { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18439         FT_UINT32, BASE_DEC, NULL, 0,
18440         NULL, HFILL }},
18441     { &hf_h245_rejectionDescriptions,
18442       { "rejectionDescriptions", "h245.rejectionDescriptions",
18443         FT_UINT32, BASE_DEC, NULL, 0,
18444         "SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions", HFILL }},
18445     { &hf_h245_rejectionDescriptions_item,
18446       { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions_element",
18447         FT_NONE, BASE_NONE, NULL, 0,
18448         NULL, HFILL }},
18449     { &hf_h245_req_mux_rej_cause,
18450       { "cause", "h245.cause",
18451         FT_UINT32, BASE_DEC, VALS(h245_RequestMultiplexEntryRejectionDescriptionsCause_vals), 0,
18452         "RequestMultiplexEntryRejectionDescriptionsCause", HFILL }},
18453     { &hf_h245_requestedModes,
18454       { "requestedModes", "h245.requestedModes",
18455         FT_UINT32, BASE_DEC, NULL, 0,
18456         "SEQUENCE_SIZE_1_256_OF_ModeDescription", HFILL }},
18457     { &hf_h245_requestedModes_item,
18458       { "ModeDescription", "h245.ModeDescription",
18459         FT_UINT32, BASE_DEC, NULL, 0,
18460         NULL, HFILL }},
18461     { &hf_h245_req_mode_ack_response,
18462       { "response", "h245.response",
18463         FT_UINT32, BASE_DEC, VALS(h245_Req_mode_ack_response_vals), 0,
18464         "Req_mode_ack_response", HFILL }},
18465     { &hf_h245_willTransmitMostPreferredMode,
18466       { "willTransmitMostPreferredMode", "h245.willTransmitMostPreferredMode_element",
18467         FT_NONE, BASE_NONE, NULL, 0,
18468         NULL, HFILL }},
18469     { &hf_h245_willTransmitLessPreferredMode,
18470       { "willTransmitLessPreferredMode", "h245.willTransmitLessPreferredMode_element",
18471         FT_NONE, BASE_NONE, NULL, 0,
18472         NULL, HFILL }},
18473     { &hf_h245_req_rej_cause,
18474       { "cause", "h245.cause",
18475         FT_UINT32, BASE_DEC, VALS(h245_RequestModeRejectCause_vals), 0,
18476         "RequestModeRejectCause", HFILL }},
18477     { &hf_h245_modeUnavailable,
18478       { "modeUnavailable", "h245.modeUnavailable_element",
18479         FT_NONE, BASE_NONE, NULL, 0,
18480         NULL, HFILL }},
18481     { &hf_h245_multipointConstraint,
18482       { "multipointConstraint", "h245.multipointConstraint_element",
18483         FT_NONE, BASE_NONE, NULL, 0,
18484         NULL, HFILL }},
18485     { &hf_h245_requestDenied,
18486       { "requestDenied", "h245.requestDenied_element",
18487         FT_NONE, BASE_NONE, NULL, 0,
18488         NULL, HFILL }},
18489     { &hf_h245_ModeDescription_item,
18490       { "ModeElement", "h245.ModeElement_element",
18491         FT_NONE, BASE_NONE, NULL, 0,
18492         NULL, HFILL }},
18493     { &hf_h245_videoMode,
18494       { "videoMode", "h245.videoMode",
18495         FT_UINT32, BASE_DEC, VALS(h245_VideoMode_vals), 0,
18496         NULL, HFILL }},
18497     { &hf_h245_audioMode,
18498       { "audioMode", "h245.audioMode",
18499         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18500         NULL, HFILL }},
18501     { &hf_h245_dataMode,
18502       { "dataMode", "h245.dataMode_element",
18503         FT_NONE, BASE_NONE, NULL, 0,
18504         NULL, HFILL }},
18505     { &hf_h245_encryptionMode,
18506       { "encryptionMode", "h245.encryptionMode",
18507         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
18508         NULL, HFILL }},
18509     { &hf_h245_h235Mode,
18510       { "h235Mode", "h245.h235Mode_element",
18511         FT_NONE, BASE_NONE, NULL, 0,
18512         NULL, HFILL }},
18513     { &hf_h245_multiplexedStreamMode,
18514       { "multiplexedStreamMode", "h245.multiplexedStreamMode_element",
18515         FT_NONE, BASE_NONE, NULL, 0,
18516         "MultiplexedStreamParameter", HFILL }},
18517     { &hf_h245_redundancyEncodingDTMode,
18518       { "redundancyEncodingDTMode", "h245.redundancyEncodingDTMode_element",
18519         FT_NONE, BASE_NONE, NULL, 0,
18520         NULL, HFILL }},
18521     { &hf_h245_multiplePayloadStreamMode,
18522       { "multiplePayloadStreamMode", "h245.multiplePayloadStreamMode_element",
18523         FT_NONE, BASE_NONE, NULL, 0,
18524         NULL, HFILL }},
18525     { &hf_h245_depFecMode,
18526       { "depFecMode", "h245.depFecMode",
18527         FT_UINT32, BASE_DEC, VALS(h245_DepFECMode_vals), 0,
18528         NULL, HFILL }},
18529     { &hf_h245_fecMode,
18530       { "fecMode", "h245.fecMode_element",
18531         FT_NONE, BASE_NONE, NULL, 0,
18532         NULL, HFILL }},
18533     { &hf_h245_type,
18534       { "type", "h245.type",
18535         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18536         "ModeElementType", HFILL }},
18537     { &hf_h245_h223ModeParameters,
18538       { "h223ModeParameters", "h245.h223ModeParameters_element",
18539         FT_NONE, BASE_NONE, NULL, 0,
18540         NULL, HFILL }},
18541     { &hf_h245_v76ModeParameters,
18542       { "v76ModeParameters", "h245.v76ModeParameters",
18543         FT_UINT32, BASE_DEC, VALS(h245_V76ModeParameters_vals), 0,
18544         NULL, HFILL }},
18545     { &hf_h245_h2250ModeParameters,
18546       { "h2250ModeParameters", "h245.h2250ModeParameters_element",
18547         FT_NONE, BASE_NONE, NULL, 0,
18548         NULL, HFILL }},
18549     { &hf_h245_genericModeParameters,
18550       { "genericModeParameters", "h245.genericModeParameters_element",
18551         FT_NONE, BASE_NONE, NULL, 0,
18552         "GenericCapability", HFILL }},
18553     { &hf_h245_multiplexedStreamModeParameters,
18554       { "multiplexedStreamModeParameters", "h245.multiplexedStreamModeParameters_element",
18555         FT_NONE, BASE_NONE, NULL, 0,
18556         NULL, HFILL }},
18557     { &hf_h245_logicalChannelNumber,
18558       { "logicalChannelNumber", "h245.logicalChannelNumber",
18559         FT_UINT32, BASE_DEC, NULL, 0,
18560         NULL, HFILL }},
18561     { &hf_h245_mediaMode,
18562       { "mediaMode", "h245.mediaMode",
18563         FT_UINT32, BASE_DEC, VALS(h245_T_mediaMode_vals), 0,
18564         NULL, HFILL }},
18565     { &hf_h245_prmary_dtmode,
18566       { "primary", "h245.primary_element",
18567         FT_NONE, BASE_NONE, NULL, 0,
18568         "RedundancyEncodingDTModeElement", HFILL }},
18569     { &hf_h245_secondaryDTM,
18570       { "secondary", "h245.secondary",
18571         FT_UINT32, BASE_DEC, NULL, 0,
18572         "SEQUENCE_OF_RedundancyEncodingDTModeElement", HFILL }},
18573     { &hf_h245_secondaryDTM_item,
18574       { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement_element",
18575         FT_NONE, BASE_NONE, NULL, 0,
18576         NULL, HFILL }},
18577     { &hf_h245_re_type,
18578       { "type", "h245.type",
18579         FT_UINT32, BASE_DEC, VALS(h245_Re_type_vals), 0,
18580         "Re_type", HFILL }},
18581     { &hf_h245_mpsmElements,
18582       { "elements", "h245.elements",
18583         FT_UINT32, BASE_DEC, NULL, 0,
18584         "SEQUENCE_OF_MultiplePayloadStreamElementMode", HFILL }},
18585     { &hf_h245_mpsmElements_item,
18586       { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode_element",
18587         FT_NONE, BASE_NONE, NULL, 0,
18588         NULL, HFILL }},
18589     { &hf_h245_rfc2733Mode,
18590       { "rfc2733Mode", "h245.rfc2733Mode_element",
18591         FT_NONE, BASE_NONE, NULL, 0,
18592         NULL, HFILL }},
18593     { &hf_h245_fec_mode,
18594       { "mode", "h245.mode",
18595         FT_UINT32, BASE_DEC, VALS(h245_FEC_mode_vals), 0,
18596         "FEC_mode", HFILL }},
18597     { &hf_h245_protectedElement,
18598       { "protectedElement", "h245.protectedElement",
18599         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18600         "ModeElementType", HFILL }},
18601     { &hf_h245_adaptationLayer,
18602       { "adaptationLayerType", "h245.adaptationLayerType",
18603         FT_UINT32, BASE_DEC, VALS(h245_AdaptationLayerType_vals), 0,
18604         NULL, HFILL }},
18605     { &hf_h245_al1Framed,
18606       { "al1Framed", "h245.al1Framed_element",
18607         FT_NONE, BASE_NONE, NULL, 0,
18608         NULL, HFILL }},
18609     { &hf_h245_al1NotFramed,
18610       { "al1NotFramed", "h245.al1NotFramed_element",
18611         FT_NONE, BASE_NONE, NULL, 0,
18612         NULL, HFILL }},
18613     { &hf_h245_al2WithoutSequenceNumbers,
18614       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers_element",
18615         FT_NONE, BASE_NONE, NULL, 0,
18616         NULL, HFILL }},
18617     { &hf_h245_al2WithSequenceNumbers,
18618       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers_element",
18619         FT_NONE, BASE_NONE, NULL, 0,
18620         NULL, HFILL }},
18621     { &hf_h245_al3,
18622       { "al3", "h245.al3_element",
18623         FT_NONE, BASE_NONE, NULL, 0,
18624         NULL, HFILL }},
18625     { &hf_h245_al1M,
18626       { "al1M", "h245.al1M_element",
18627         FT_NONE, BASE_NONE, NULL, 0,
18628         "H223AL1MParameters", HFILL }},
18629     { &hf_h245_al2M,
18630       { "al2M", "h245.al2M_element",
18631         FT_NONE, BASE_NONE, NULL, 0,
18632         "H223AL2MParameters", HFILL }},
18633     { &hf_h245_al3M,
18634       { "al3M", "h245.al3M_element",
18635         FT_NONE, BASE_NONE, NULL, 0,
18636         "H223AL3MParameters", HFILL }},
18637     { &hf_h245_segmentableFlag,
18638       { "segmentableFlag", "h245.segmentableFlag",
18639         FT_BOOLEAN, BASE_NONE, NULL, 0,
18640         "BOOLEAN", HFILL }},
18641     { &hf_h245_redundancyEncodingMode,
18642       { "redundancyEncodingMode", "h245.redundancyEncodingMode_element",
18643         FT_NONE, BASE_NONE, NULL, 0,
18644         NULL, HFILL }},
18645     { &hf_h245_secondaryEncodingMode,
18646       { "secondaryEncoding", "h245.secondaryEncoding",
18647         FT_UINT32, BASE_DEC, VALS(h245_T_secondaryEncodingMode_vals), 0,
18648         "T_secondaryEncodingMode", HFILL }},
18649     { &hf_h245_h261VideoMode,
18650       { "h261VideoMode", "h245.h261VideoMode_element",
18651         FT_NONE, BASE_NONE, NULL, 0,
18652         NULL, HFILL }},
18653     { &hf_h245_h262VideoMode,
18654       { "h262VideoMode", "h245.h262VideoMode_element",
18655         FT_NONE, BASE_NONE, NULL, 0,
18656         NULL, HFILL }},
18657     { &hf_h245_h263VideoMode,
18658       { "h263VideoMode", "h245.h263VideoMode_element",
18659         FT_NONE, BASE_NONE, NULL, 0,
18660         NULL, HFILL }},
18661     { &hf_h245_is11172VideoMode,
18662       { "is11172VideoMode", "h245.is11172VideoMode_element",
18663         FT_NONE, BASE_NONE, NULL, 0,
18664         NULL, HFILL }},
18665     { &hf_h245_genericVideoMode,
18666       { "genericVideoMode", "h245.genericVideoMode_element",
18667         FT_NONE, BASE_NONE, NULL, 0,
18668         "GenericCapability", HFILL }},
18669     { &hf_h245_h261_resolution,
18670       { "resolution", "h245.resolution",
18671         FT_UINT32, BASE_DEC, VALS(h245_H261Resolution_vals), 0,
18672         "H261Resolution", HFILL }},
18673     { &hf_h245_qcif,
18674       { "qcif", "h245.qcif_element",
18675         FT_NONE, BASE_NONE, NULL, 0,
18676         NULL, HFILL }},
18677     { &hf_h245_cif,
18678       { "cif", "h245.cif_element",
18679         FT_NONE, BASE_NONE, NULL, 0,
18680         NULL, HFILL }},
18681     { &hf_h245_profileAndLevel,
18682       { "profileAndLevel", "h245.profileAndLevel",
18683         FT_UINT32, BASE_DEC, VALS(h245_T_profileAndLevel_vals), 0,
18684         NULL, HFILL }},
18685     { &hf_h245_profileAndLevel_SPatMLMode,
18686       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML_element",
18687         FT_NONE, BASE_NONE, NULL, 0,
18688         NULL, HFILL }},
18689     { &hf_h245_profileAndLevel_MPatLLMode,
18690       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL_element",
18691         FT_NONE, BASE_NONE, NULL, 0,
18692         NULL, HFILL }},
18693     { &hf_h245_profileAndLevel_MPatMLMode,
18694       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML_element",
18695         FT_NONE, BASE_NONE, NULL, 0,
18696         NULL, HFILL }},
18697     { &hf_h245_profileAndLevel_MPatH_14Mode,
18698       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14_element",
18699         FT_NONE, BASE_NONE, NULL, 0,
18700         NULL, HFILL }},
18701     { &hf_h245_profileAndLevel_MPatHLMode,
18702       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL_element",
18703         FT_NONE, BASE_NONE, NULL, 0,
18704         NULL, HFILL }},
18705     { &hf_h245_profileAndLevel_SNRatLLMode,
18706       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL_element",
18707         FT_NONE, BASE_NONE, NULL, 0,
18708         NULL, HFILL }},
18709     { &hf_h245_profileAndLevel_SNRatMLMode,
18710       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML_element",
18711         FT_NONE, BASE_NONE, NULL, 0,
18712         NULL, HFILL }},
18713     { &hf_h245_profileAndLevel_SpatialatH_14Mode,
18714       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14_element",
18715         FT_NONE, BASE_NONE, NULL, 0,
18716         NULL, HFILL }},
18717     { &hf_h245_profileAndLevel_HPatMLMode,
18718       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML_element",
18719         FT_NONE, BASE_NONE, NULL, 0,
18720         NULL, HFILL }},
18721     { &hf_h245_profileAndLevel_HPatH_14Mode,
18722       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14_element",
18723         FT_NONE, BASE_NONE, NULL, 0,
18724         NULL, HFILL }},
18725     { &hf_h245_profileAndLevel_HPatHLMode,
18726       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL_element",
18727         FT_NONE, BASE_NONE, NULL, 0,
18728         NULL, HFILL }},
18729     { &hf_h245_h263_resolution,
18730       { "resolution", "h245.resolution",
18731         FT_UINT32, BASE_DEC, VALS(h245_H263Resolution_vals), 0,
18732         "H263Resolution", HFILL }},
18733     { &hf_h245_sqcif,
18734       { "sqcif", "h245.sqcif_element",
18735         FT_NONE, BASE_NONE, NULL, 0,
18736         NULL, HFILL }},
18737     { &hf_h245_cif4,
18738       { "cif4", "h245.cif4_element",
18739         FT_NONE, BASE_NONE, NULL, 0,
18740         NULL, HFILL }},
18741     { &hf_h245_cif16,
18742       { "cif16", "h245.cif16_element",
18743         FT_NONE, BASE_NONE, NULL, 0,
18744         NULL, HFILL }},
18745     { &hf_h245_custom_res,
18746       { "custom", "h245.custom_element",
18747         FT_NONE, BASE_NONE, NULL, 0,
18748         NULL, HFILL }},
18749     { &hf_h245_g711Alaw64k_mode,
18750       { "g711Alaw64k", "h245.g711Alaw64k_element",
18751         FT_NONE, BASE_NONE, NULL, 0,
18752         NULL, HFILL }},
18753     { &hf_h245_g711Alaw56k_mode,
18754       { "g711Alaw56k", "h245.g711Alaw56k_element",
18755         FT_NONE, BASE_NONE, NULL, 0,
18756         NULL, HFILL }},
18757     { &hf_h245_g711Ulaw64k_mode,
18758       { "g711Ulaw64k", "h245.g711Ulaw64k_element",
18759         FT_NONE, BASE_NONE, NULL, 0,
18760         NULL, HFILL }},
18761     { &hf_h245_g711Ulaw56k_mode,
18762       { "g711Ulaw56k", "h245.g711Ulaw56k_element",
18763         FT_NONE, BASE_NONE, NULL, 0,
18764         NULL, HFILL }},
18765     { &hf_h245_g722_64k_mode,
18766       { "g722-64k", "h245.g722_64k_element",
18767         FT_NONE, BASE_NONE, NULL, 0,
18768         NULL, HFILL }},
18769     { &hf_h245_g722_56k_mode,
18770       { "g722-56k", "h245.g722_56k_element",
18771         FT_NONE, BASE_NONE, NULL, 0,
18772         NULL, HFILL }},
18773     { &hf_h245_g722_48k_mode,
18774       { "g722-48k", "h245.g722_48k_element",
18775         FT_NONE, BASE_NONE, NULL, 0,
18776         NULL, HFILL }},
18777     { &hf_h245_g728_mode,
18778       { "g728", "h245.g728_element",
18779         FT_NONE, BASE_NONE, NULL, 0,
18780         NULL, HFILL }},
18781     { &hf_h245_g729_mode,
18782       { "g729", "h245.g729_element",
18783         FT_NONE, BASE_NONE, NULL, 0,
18784         NULL, HFILL }},
18785     { &hf_h245_g729AnnexA_mode,
18786       { "g729AnnexA", "h245.g729AnnexA_element",
18787         FT_NONE, BASE_NONE, NULL, 0,
18788         NULL, HFILL }},
18789     { &hf_h245_g7231_mode,
18790       { "g7231", "h245.g7231",
18791         FT_UINT32, BASE_DEC, VALS(h245_Mode_g7231_vals), 0,
18792         "Mode_g7231", HFILL }},
18793     { &hf_h245_noSilenceSuppressionLowRate,
18794       { "noSilenceSuppressionLowRate", "h245.noSilenceSuppressionLowRate_element",
18795         FT_NONE, BASE_NONE, NULL, 0,
18796         NULL, HFILL }},
18797     { &hf_h245_noSilenceSuppressionHighRate,
18798       { "noSilenceSuppressionHighRate", "h245.noSilenceSuppressionHighRate_element",
18799         FT_NONE, BASE_NONE, NULL, 0,
18800         NULL, HFILL }},
18801     { &hf_h245_silenceSuppressionLowRate,
18802       { "silenceSuppressionLowRate", "h245.silenceSuppressionLowRate_element",
18803         FT_NONE, BASE_NONE, NULL, 0,
18804         NULL, HFILL }},
18805     { &hf_h245_silenceSuppressionHighRate,
18806       { "silenceSuppressionHighRate", "h245.silenceSuppressionHighRate_element",
18807         FT_NONE, BASE_NONE, NULL, 0,
18808         NULL, HFILL }},
18809     { &hf_h245_is11172AudioMode,
18810       { "is11172AudioMode", "h245.is11172AudioMode_element",
18811         FT_NONE, BASE_NONE, NULL, 0,
18812         NULL, HFILL }},
18813     { &hf_h245_is13818AudioMode,
18814       { "is13818AudioMode", "h245.is13818AudioMode_element",
18815         FT_NONE, BASE_NONE, NULL, 0,
18816         NULL, HFILL }},
18817     { &hf_h245_g7231AnnexCMode,
18818       { "g7231AnnexCMode", "h245.g7231AnnexCMode_element",
18819         FT_NONE, BASE_NONE, NULL, 0,
18820         NULL, HFILL }},
18821     { &hf_h245_genericAudioMode,
18822       { "genericAudioMode", "h245.genericAudioMode_element",
18823         FT_NONE, BASE_NONE, NULL, 0,
18824         "GenericCapability", HFILL }},
18825     { &hf_h245_vbd_mode,
18826       { "vbd", "h245.vbd_element",
18827         FT_NONE, BASE_NONE, NULL, 0,
18828         "VBDMode", HFILL }},
18829     { &hf_h245_audioLayer,
18830       { "audioLayer", "h245.audioLayer",
18831         FT_UINT32, BASE_DEC, VALS(h245_T_audioLayer_vals), 0,
18832         NULL, HFILL }},
18833     { &hf_h245_audioLayer1Mode,
18834       { "audioLayer1", "h245.audioLayer1_element",
18835         FT_NONE, BASE_NONE, NULL, 0,
18836         NULL, HFILL }},
18837     { &hf_h245_audioLayer2Mode,
18838       { "audioLayer2", "h245.audioLayer2_element",
18839         FT_NONE, BASE_NONE, NULL, 0,
18840         NULL, HFILL }},
18841     { &hf_h245_audioLayer3Mode,
18842       { "audioLayer3", "h245.audioLayer3_element",
18843         FT_NONE, BASE_NONE, NULL, 0,
18844         NULL, HFILL }},
18845     { &hf_h245_audioSampling,
18846       { "audioSampling", "h245.audioSampling",
18847         FT_UINT32, BASE_DEC, VALS(h245_T_audioSampling_vals), 0,
18848         NULL, HFILL }},
18849     { &hf_h245_audioSampling32kMode,
18850       { "audioSampling32k", "h245.audioSampling32k_element",
18851         FT_NONE, BASE_NONE, NULL, 0,
18852         NULL, HFILL }},
18853     { &hf_h245_audioSampling44k1Mode,
18854       { "audioSampling44k1", "h245.audioSampling44k1_element",
18855         FT_NONE, BASE_NONE, NULL, 0,
18856         NULL, HFILL }},
18857     { &hf_h245_audioSampling48kMode,
18858       { "audioSampling48k", "h245.audioSampling48k_element",
18859         FT_NONE, BASE_NONE, NULL, 0,
18860         NULL, HFILL }},
18861     { &hf_h245_is11172multichannelType,
18862       { "multichannelType", "h245.multichannelType",
18863         FT_UINT32, BASE_DEC, VALS(h245_IS11172_multichannelType_vals), 0,
18864         "IS11172_multichannelType", HFILL }},
18865     { &hf_h245_singleChannelMode,
18866       { "singleChannel", "h245.singleChannel_element",
18867         FT_NONE, BASE_NONE, NULL, 0,
18868         NULL, HFILL }},
18869     { &hf_h245_twoChannelStereo,
18870       { "twoChannelStereo", "h245.twoChannelStereo_element",
18871         FT_NONE, BASE_NONE, NULL, 0,
18872         NULL, HFILL }},
18873     { &hf_h245_twoChannelDual,
18874       { "twoChannelDual", "h245.twoChannelDual_element",
18875         FT_NONE, BASE_NONE, NULL, 0,
18876         NULL, HFILL }},
18877     { &hf_h245_audioLayerMode,
18878       { "audioLayer", "h245.audioLayer",
18879         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioLayer_vals), 0,
18880         "IS13818AudioLayer", HFILL }},
18881     { &hf_h245_audioSamplingMode,
18882       { "audioSampling", "h245.audioSampling",
18883         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioSampling_vals), 0,
18884         "IS13818AudioSampling", HFILL }},
18885     { &hf_h245_audioSampling16kMode,
18886       { "audioSampling16k", "h245.audioSampling16k_element",
18887         FT_NONE, BASE_NONE, NULL, 0,
18888         NULL, HFILL }},
18889     { &hf_h245_audioSampling22k05Mode,
18890       { "audioSampling22k05", "h245.audioSampling22k05_element",
18891         FT_NONE, BASE_NONE, NULL, 0,
18892         NULL, HFILL }},
18893     { &hf_h245_audioSampling24kMode,
18894       { "audioSampling24k", "h245.audioSampling24k_element",
18895         FT_NONE, BASE_NONE, NULL, 0,
18896         NULL, HFILL }},
18897     { &hf_h245_is13818MultichannelType,
18898       { "multichannelType", "h245.multichannelType",
18899         FT_UINT32, BASE_DEC, VALS(h245_IS13818MultichannelType_vals), 0,
18900         "IS13818MultichannelType", HFILL }},
18901     { &hf_h245_threeChannels2_1Mode,
18902       { "threeChannels2-1", "h245.threeChannels2_1_element",
18903         FT_NONE, BASE_NONE, NULL, 0,
18904         NULL, HFILL }},
18905     { &hf_h245_threeChannels3_0Mode,
18906       { "threeChannels3-0", "h245.threeChannels3_0_element",
18907         FT_NONE, BASE_NONE, NULL, 0,
18908         NULL, HFILL }},
18909     { &hf_h245_fourChannels2_0_2_0Mode,
18910       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0_element",
18911         FT_NONE, BASE_NONE, NULL, 0,
18912         NULL, HFILL }},
18913     { &hf_h245_fourChannels2_2Mode,
18914       { "fourChannels2-2", "h245.fourChannels2_2_element",
18915         FT_NONE, BASE_NONE, NULL, 0,
18916         NULL, HFILL }},
18917     { &hf_h245_fourChannels3_1Mode,
18918       { "fourChannels3-1", "h245.fourChannels3_1_element",
18919         FT_NONE, BASE_NONE, NULL, 0,
18920         NULL, HFILL }},
18921     { &hf_h245_fiveChannels3_0_2_0Mode,
18922       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0_element",
18923         FT_NONE, BASE_NONE, NULL, 0,
18924         NULL, HFILL }},
18925     { &hf_h245_fiveChannels3_2Mode,
18926       { "fiveChannels3-2", "h245.fiveChannels3_2_element",
18927         FT_NONE, BASE_NONE, NULL, 0,
18928         NULL, HFILL }},
18929     { &hf_h245_vbd_type,
18930       { "type", "h245.type",
18931         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18932         "AudioMode", HFILL }},
18933     { &hf_h245_datamodeapplication,
18934       { "application", "h245.application",
18935         FT_UINT32, BASE_DEC, VALS(h245_DataModeApplication_vals), 0,
18936         "DataModeApplication", HFILL }},
18937     { &hf_h245_t84DataProtocolCapability,
18938       { "t84", "h245.t84",
18939         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
18940         "DataProtocolCapability", HFILL }},
18941     { &hf_h245_t38faxDataProtocolCapability,
18942       { "t38fax", "h245.t38fax_element",
18943         FT_NONE, BASE_NONE, NULL, 0,
18944         "T38faxApp", HFILL }},
18945     { &hf_h245_genericDataMode,
18946       { "genericDataMode", "h245.genericDataMode_element",
18947         FT_NONE, BASE_NONE, NULL, 0,
18948         "GenericCapability", HFILL }},
18949     { &hf_h245_bitRate_0_4294967295,
18950       { "bitRate", "h245.bitRate",
18951         FT_UINT32, BASE_DEC, NULL, 0,
18952         "INTEGER_0_4294967295", HFILL }},
18953     { &hf_h245_h233Encryption,
18954       { "h233Encryption", "h245.h233Encryption_element",
18955         FT_NONE, BASE_NONE, NULL, 0,
18956         NULL, HFILL }},
18957     { &hf_h245_mlr_type,
18958       { "type", "h245.type",
18959         FT_UINT32, BASE_DEC, VALS(h245_Mlr_type_vals), 0,
18960         "Mlr_type", HFILL }},
18961     { &hf_h245_systemLoop,
18962       { "systemLoop", "h245.systemLoop_element",
18963         FT_NONE, BASE_NONE, NULL, 0,
18964         NULL, HFILL }},
18965     { &hf_h245_mediaLoop,
18966       { "mediaLoop", "h245.mediaLoop",
18967         FT_UINT32, BASE_DEC, NULL, 0,
18968         "LogicalChannelNumber", HFILL }},
18969     { &hf_h245_logicalChannelLoop,
18970       { "logicalChannelLoop", "h245.logicalChannelLoop",
18971         FT_UINT32, BASE_DEC, NULL, 0,
18972         "LogicalChannelNumber", HFILL }},
18973     { &hf_h245_mla_type,
18974       { "type", "h245.type",
18975         FT_UINT32, BASE_DEC, VALS(h245_Mla_type_vals), 0,
18976         "Mla_type", HFILL }},
18977     { &hf_h245_mlrej_type,
18978       { "type", "h245.type",
18979         FT_UINT32, BASE_DEC, VALS(h245_Mlrej_type_vals), 0,
18980         "Mlrej_type", HFILL }},
18981     { &hf_h245_maintloop_rej_cause,
18982       { "cause", "h245.cause",
18983         FT_UINT32, BASE_DEC, VALS(h245_MaintenanceLoopRejectCause_vals), 0,
18984         "MaintenanceLoopRejectCause", HFILL }},
18985     { &hf_h245_canNotPerformLoop,
18986       { "canNotPerformLoop", "h245.canNotPerformLoop_element",
18987         FT_NONE, BASE_NONE, NULL, 0,
18988         NULL, HFILL }},
18989     { &hf_h245_communicationModeTable,
18990       { "communicationModeTable", "h245.communicationModeTable",
18991         FT_UINT32, BASE_DEC, NULL, 0,
18992         "SET_SIZE_1_256_OF_CommunicationModeTableEntry", HFILL }},
18993     { &hf_h245_communicationModeTable_item,
18994       { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry_element",
18995         FT_NONE, BASE_NONE, NULL, 0,
18996         NULL, HFILL }},
18997     { &hf_h245_terminalLabel,
18998       { "terminalLabel", "h245.terminalLabel_element",
18999         FT_NONE, BASE_NONE, NULL, 0,
19000         NULL, HFILL }},
19001     { &hf_h245_sessionDescription,
19002       { "sessionDescription", "h245.sessionDescription",
19003         FT_STRING, BASE_NONE, NULL, 0,
19004         "BMPString_SIZE_1_128", HFILL }},
19005     { &hf_h245_entryDataType,
19006       { "dataType", "h245.dataType",
19007         FT_UINT32, BASE_DEC, VALS(h245_T_entryDataType_vals), 0,
19008         "T_entryDataType", HFILL }},
19009     { &hf_h245_cm_mediaChannel,
19010       { "mediaChannel", "h245.mediaChannel",
19011         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
19012         "Cm_mediaChannel", HFILL }},
19013     { &hf_h245_cm_mediaControlChannel,
19014       { "mediaControlChannel", "h245.mediaControlChannel",
19015         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
19016         "TransportAddress", HFILL }},
19017     { &hf_h245_sessionDependency,
19018       { "sessionDependency", "h245.sessionDependency",
19019         FT_UINT32, BASE_DEC, NULL, 0,
19020         "INTEGER_1_255", HFILL }},
19021     { &hf_h245_terminalListRequest,
19022       { "terminalListRequest", "h245.terminalListRequest_element",
19023         FT_NONE, BASE_NONE, NULL, 0,
19024         NULL, HFILL }},
19025     { &hf_h245_makeMeChair,
19026       { "makeMeChair", "h245.makeMeChair_element",
19027         FT_NONE, BASE_NONE, NULL, 0,
19028         NULL, HFILL }},
19029     { &hf_h245_cancelMakeMeChair,
19030       { "cancelMakeMeChair", "h245.cancelMakeMeChair_element",
19031         FT_NONE, BASE_NONE, NULL, 0,
19032         NULL, HFILL }},
19033     { &hf_h245_dropTerminal,
19034       { "dropTerminal", "h245.dropTerminal_element",
19035         FT_NONE, BASE_NONE, NULL, 0,
19036         "TerminalLabel", HFILL }},
19037     { &hf_h245_requestTerminalID,
19038       { "requestTerminalID", "h245.requestTerminalID_element",
19039         FT_NONE, BASE_NONE, NULL, 0,
19040         "TerminalLabel", HFILL }},
19041     { &hf_h245_enterH243Password,
19042       { "enterH243Password", "h245.enterH243Password_element",
19043         FT_NONE, BASE_NONE, NULL, 0,
19044         NULL, HFILL }},
19045     { &hf_h245_enterH243TerminalID,
19046       { "enterH243TerminalID", "h245.enterH243TerminalID_element",
19047         FT_NONE, BASE_NONE, NULL, 0,
19048         NULL, HFILL }},
19049     { &hf_h245_enterH243ConferenceID,
19050       { "enterH243ConferenceID", "h245.enterH243ConferenceID_element",
19051         FT_NONE, BASE_NONE, NULL, 0,
19052         NULL, HFILL }},
19053     { &hf_h245_enterExtensionAddress,
19054       { "enterExtensionAddress", "h245.enterExtensionAddress_element",
19055         FT_NONE, BASE_NONE, NULL, 0,
19056         NULL, HFILL }},
19057     { &hf_h245_requestChairTokenOwner,
19058       { "requestChairTokenOwner", "h245.requestChairTokenOwner_element",
19059         FT_NONE, BASE_NONE, NULL, 0,
19060         NULL, HFILL }},
19061     { &hf_h245_requestTerminalCertificate,
19062       { "requestTerminalCertificate", "h245.requestTerminalCertificate_element",
19063         FT_NONE, BASE_NONE, NULL, 0,
19064         NULL, HFILL }},
19065     { &hf_h245_certSelectionCriteria,
19066       { "certSelectionCriteria", "h245.certSelectionCriteria",
19067         FT_UINT32, BASE_DEC, NULL, 0,
19068         NULL, HFILL }},
19069     { &hf_h245_sRandom,
19070       { "sRandom", "h245.sRandom",
19071         FT_UINT32, BASE_DEC, NULL, 0,
19072         "INTEGER_1_4294967295", HFILL }},
19073     { &hf_h245_broadcastMyLogicalChannel,
19074       { "broadcastMyLogicalChannel", "h245.broadcastMyLogicalChannel",
19075         FT_UINT32, BASE_DEC, NULL, 0,
19076         "LogicalChannelNumber", HFILL }},
19077     { &hf_h245_makeTerminalBroadcaster,
19078       { "makeTerminalBroadcaster", "h245.makeTerminalBroadcaster_element",
19079         FT_NONE, BASE_NONE, NULL, 0,
19080         "TerminalLabel", HFILL }},
19081     { &hf_h245_sendThisSource,
19082       { "sendThisSource", "h245.sendThisSource_element",
19083         FT_NONE, BASE_NONE, NULL, 0,
19084         "TerminalLabel", HFILL }},
19085     { &hf_h245_requestAllTerminalIDs,
19086       { "requestAllTerminalIDs", "h245.requestAllTerminalIDs_element",
19087         FT_NONE, BASE_NONE, NULL, 0,
19088         NULL, HFILL }},
19089     { &hf_h245_remoteMCRequest,
19090       { "remoteMCRequest", "h245.remoteMCRequest",
19091         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCRequest_vals), 0,
19092         NULL, HFILL }},
19093     { &hf_h245_CertSelectionCriteria_item,
19094       { "Criteria", "h245.Criteria_element",
19095         FT_NONE, BASE_NONE, NULL, 0,
19096         NULL, HFILL }},
19097     { &hf_h245_field,
19098       { "field", "h245.field",
19099         FT_OID, BASE_NONE, NULL, 0,
19100         "OBJECT_IDENTIFIER", HFILL }},
19101     { &hf_h245_criteriaValue,
19102       { "value", "h245.value",
19103         FT_BYTES, BASE_NONE, NULL, 0,
19104         "OCTET_STRING_SIZE_1_65535", HFILL }},
19105     { &hf_h245_mcuNumber,
19106       { "mcuNumber", "h245.mcuNumber",
19107         FT_UINT32, BASE_DEC, NULL, 0,
19108         NULL, HFILL }},
19109     { &hf_h245_terminalNumber,
19110       { "terminalNumber", "h245.terminalNumber",
19111         FT_UINT32, BASE_DEC, NULL, 0,
19112         NULL, HFILL }},
19113     { &hf_h245_mCTerminalIDResponse,
19114       { "mCTerminalIDResponse", "h245.mCTerminalIDResponse_element",
19115         FT_NONE, BASE_NONE, NULL, 0,
19116         NULL, HFILL }},
19117     { &hf_h245_terminalID,
19118       { "terminalID", "h245.terminalID",
19119         FT_BYTES, BASE_NONE, NULL, 0,
19120         NULL, HFILL }},
19121     { &hf_h245_terminalIDResponse,
19122       { "terminalIDResponse", "h245.terminalIDResponse_element",
19123         FT_NONE, BASE_NONE, NULL, 0,
19124         NULL, HFILL }},
19125     { &hf_h245_conferenceIDResponse,
19126       { "conferenceIDResponse", "h245.conferenceIDResponse_element",
19127         FT_NONE, BASE_NONE, NULL, 0,
19128         NULL, HFILL }},
19129     { &hf_h245_conferenceID,
19130       { "conferenceID", "h245.conferenceID",
19131         FT_BYTES, BASE_NONE, NULL, 0,
19132         NULL, HFILL }},
19133     { &hf_h245_passwordResponse,
19134       { "passwordResponse", "h245.passwordResponse_element",
19135         FT_NONE, BASE_NONE, NULL, 0,
19136         NULL, HFILL }},
19137     { &hf_h245_password,
19138       { "password", "h245.password",
19139         FT_BYTES, BASE_NONE, NULL, 0,
19140         NULL, HFILL }},
19141     { &hf_h245_terminalListResponse,
19142       { "terminalListResponse", "h245.terminalListResponse",
19143         FT_UINT32, BASE_DEC, NULL, 0,
19144         "SET_SIZE_1_256_OF_TerminalLabel", HFILL }},
19145     { &hf_h245_terminalListResponse_item,
19146       { "TerminalLabel", "h245.TerminalLabel_element",
19147         FT_NONE, BASE_NONE, NULL, 0,
19148         NULL, HFILL }},
19149     { &hf_h245_videoCommandReject,
19150       { "videoCommandReject", "h245.videoCommandReject_element",
19151         FT_NONE, BASE_NONE, NULL, 0,
19152         NULL, HFILL }},
19153     { &hf_h245_terminalDropReject,
19154       { "terminalDropReject", "h245.terminalDropReject_element",
19155         FT_NONE, BASE_NONE, NULL, 0,
19156         NULL, HFILL }},
19157     { &hf_h245_makeMeChairResponse,
19158       { "makeMeChairResponse", "h245.makeMeChairResponse",
19159         FT_UINT32, BASE_DEC, VALS(h245_T_makeMeChairResponse_vals), 0,
19160         NULL, HFILL }},
19161     { &hf_h245_grantedChairToken,
19162       { "grantedChairToken", "h245.grantedChairToken_element",
19163         FT_NONE, BASE_NONE, NULL, 0,
19164         NULL, HFILL }},
19165     { &hf_h245_deniedChairToken,
19166       { "deniedChairToken", "h245.deniedChairToken_element",
19167         FT_NONE, BASE_NONE, NULL, 0,
19168         NULL, HFILL }},
19169     { &hf_h245_extensionAddressResponse,
19170       { "extensionAddressResponse", "h245.extensionAddressResponse_element",
19171         FT_NONE, BASE_NONE, NULL, 0,
19172         NULL, HFILL }},
19173     { &hf_h245_extensionAddress,
19174       { "extensionAddress", "h245.extensionAddress",
19175         FT_BYTES, BASE_NONE, NULL, 0,
19176         "TerminalID", HFILL }},
19177     { &hf_h245_chairTokenOwnerResponse,
19178       { "chairTokenOwnerResponse", "h245.chairTokenOwnerResponse_element",
19179         FT_NONE, BASE_NONE, NULL, 0,
19180         NULL, HFILL }},
19181     { &hf_h245_terminalCertificateResponse,
19182       { "terminalCertificateResponse", "h245.terminalCertificateResponse_element",
19183         FT_NONE, BASE_NONE, NULL, 0,
19184         NULL, HFILL }},
19185     { &hf_h245_certificateResponse,
19186       { "certificateResponse", "h245.certificateResponse",
19187         FT_BYTES, BASE_NONE, NULL, 0,
19188         "OCTET_STRING_SIZE_1_65535", HFILL }},
19189     { &hf_h245_broadcastMyLogicalChannelResponse,
19190       { "broadcastMyLogicalChannelResponse", "h245.broadcastMyLogicalChannelResponse",
19191         FT_UINT32, BASE_DEC, VALS(h245_T_broadcastMyLogicalChannelResponse_vals), 0,
19192         NULL, HFILL }},
19193     { &hf_h245_grantedBroadcastMyLogicalChannel,
19194       { "grantedBroadcastMyLogicalChannel", "h245.grantedBroadcastMyLogicalChannel_element",
19195         FT_NONE, BASE_NONE, NULL, 0,
19196         NULL, HFILL }},
19197     { &hf_h245_deniedBroadcastMyLogicalChannel,
19198       { "deniedBroadcastMyLogicalChannel", "h245.deniedBroadcastMyLogicalChannel_element",
19199         FT_NONE, BASE_NONE, NULL, 0,
19200         NULL, HFILL }},
19201     { &hf_h245_makeTerminalBroadcasterResponse,
19202       { "makeTerminalBroadcasterResponse", "h245.makeTerminalBroadcasterResponse",
19203         FT_UINT32, BASE_DEC, VALS(h245_T_makeTerminalBroadcasterResponse_vals), 0,
19204         NULL, HFILL }},
19205     { &hf_h245_grantedMakeTerminalBroadcaster,
19206       { "grantedMakeTerminalBroadcaster", "h245.grantedMakeTerminalBroadcaster_element",
19207         FT_NONE, BASE_NONE, NULL, 0,
19208         NULL, HFILL }},
19209     { &hf_h245_deniedMakeTerminalBroadcaster,
19210       { "deniedMakeTerminalBroadcaster", "h245.deniedMakeTerminalBroadcaster_element",
19211         FT_NONE, BASE_NONE, NULL, 0,
19212         NULL, HFILL }},
19213     { &hf_h245_sendThisSourceResponse,
19214       { "sendThisSourceResponse", "h245.sendThisSourceResponse",
19215         FT_UINT32, BASE_DEC, VALS(h245_T_sendThisSourceResponse_vals), 0,
19216         NULL, HFILL }},
19217     { &hf_h245_grantedSendThisSource,
19218       { "grantedSendThisSource", "h245.grantedSendThisSource_element",
19219         FT_NONE, BASE_NONE, NULL, 0,
19220         NULL, HFILL }},
19221     { &hf_h245_deniedSendThisSource,
19222       { "deniedSendThisSource", "h245.deniedSendThisSource_element",
19223         FT_NONE, BASE_NONE, NULL, 0,
19224         NULL, HFILL }},
19225     { &hf_h245_requestAllTerminalIDsResponse,
19226       { "requestAllTerminalIDsResponse", "h245.requestAllTerminalIDsResponse_element",
19227         FT_NONE, BASE_NONE, NULL, 0,
19228         NULL, HFILL }},
19229     { &hf_h245_remoteMCResponse,
19230       { "remoteMCResponse", "h245.remoteMCResponse",
19231         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCResponse_vals), 0,
19232         NULL, HFILL }},
19233     { &hf_h245_terminalInformation,
19234       { "terminalInformation", "h245.terminalInformation",
19235         FT_UINT32, BASE_DEC, NULL, 0,
19236         "SEQUENCE_OF_TerminalInformation", HFILL }},
19237     { &hf_h245_terminalInformation_item,
19238       { "TerminalInformation", "h245.TerminalInformation_element",
19239         FT_NONE, BASE_NONE, NULL, 0,
19240         NULL, HFILL }},
19241     { &hf_h245_masterActivate,
19242       { "masterActivate", "h245.masterActivate_element",
19243         FT_NONE, BASE_NONE, NULL, 0,
19244         NULL, HFILL }},
19245     { &hf_h245_slaveActivate,
19246       { "slaveActivate", "h245.slaveActivate_element",
19247         FT_NONE, BASE_NONE, NULL, 0,
19248         NULL, HFILL }},
19249     { &hf_h245_deActivate,
19250       { "deActivate", "h245.deActivate_element",
19251         FT_NONE, BASE_NONE, NULL, 0,
19252         NULL, HFILL }},
19253     { &hf_h245_accept,
19254       { "accept", "h245.accept_element",
19255         FT_NONE, BASE_NONE, NULL, 0,
19256         NULL, HFILL }},
19257     { &hf_h245_reject,
19258       { "reject", "h245.reject",
19259         FT_UINT32, BASE_DEC, VALS(h245_T_reject_vals), 0,
19260         NULL, HFILL }},
19261     { &hf_h245_functionNotSupportedFlag,
19262       { "functionNotSupported", "h245.functionNotSupported_element",
19263         FT_NONE, BASE_NONE, NULL, 0,
19264         NULL, HFILL }},
19265     { &hf_h245_callInformationReq,
19266       { "callInformation", "h245.callInformation_element",
19267         FT_NONE, BASE_NONE, NULL, 0,
19268         "CallInformationReq", HFILL }},
19269     { &hf_h245_maxNumberOfAdditionalConnections,
19270       { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections",
19271         FT_UINT32, BASE_DEC, NULL, 0,
19272         "INTEGER_1_65535", HFILL }},
19273     { &hf_h245_addConnectionReq,
19274       { "addConnection", "h245.addConnection_element",
19275         FT_NONE, BASE_NONE, NULL, 0,
19276         "AddConnectionReq", HFILL }},
19277     { &hf_h245_dialingInformation,
19278       { "dialingInformation", "h245.dialingInformation",
19279         FT_UINT32, BASE_DEC, VALS(h245_DialingInformation_vals), 0,
19280         NULL, HFILL }},
19281     { &hf_h245_removeConnectionReq,
19282       { "removeConnection", "h245.removeConnection_element",
19283         FT_NONE, BASE_NONE, NULL, 0,
19284         "RemoveConnectionReq", HFILL }},
19285     { &hf_h245_connectionIdentifier,
19286       { "connectionIdentifier", "h245.connectionIdentifier_element",
19287         FT_NONE, BASE_NONE, NULL, 0,
19288         NULL, HFILL }},
19289     { &hf_h245_maximumHeaderIntervalReq,
19290       { "maximumHeaderInterval", "h245.maximumHeaderInterval_element",
19291         FT_NONE, BASE_NONE, NULL, 0,
19292         "MaximumHeaderIntervalReq", HFILL }},
19293     { &hf_h245_requestType,
19294       { "requestType", "h245.requestType",
19295         FT_UINT32, BASE_DEC, VALS(h245_T_requestType_vals), 0,
19296         NULL, HFILL }},
19297     { &hf_h245_currentIntervalInformation,
19298       { "currentIntervalInformation", "h245.currentIntervalInformation_element",
19299         FT_NONE, BASE_NONE, NULL, 0,
19300         NULL, HFILL }},
19301     { &hf_h245_requestedInterval,
19302       { "requestedInterval", "h245.requestedInterval",
19303         FT_UINT32, BASE_DEC, NULL, 0,
19304         "INTEGER_0_65535", HFILL }},
19305     { &hf_h245_callInformationResp,
19306       { "callInformation", "h245.callInformation_element",
19307         FT_NONE, BASE_NONE, NULL, 0,
19308         "CallInformationResp", HFILL }},
19309     { &hf_h245_callAssociationNumber,
19310       { "callAssociationNumber", "h245.callAssociationNumber",
19311         FT_UINT32, BASE_DEC, NULL, 0,
19312         "INTEGER_0_4294967295", HFILL }},
19313     { &hf_h245_addConnectionResp,
19314       { "addConnection", "h245.addConnection_element",
19315         FT_NONE, BASE_NONE, NULL, 0,
19316         "AddConnectionResp", HFILL }},
19317     { &hf_h245_responseCode,
19318       { "responseCode", "h245.responseCode",
19319         FT_UINT32, BASE_DEC, VALS(h245_T_responseCode_vals), 0,
19320         NULL, HFILL }},
19321     { &hf_h245_accepted,
19322       { "accepted", "h245.accepted_element",
19323         FT_NONE, BASE_NONE, NULL, 0,
19324         NULL, HFILL }},
19325     { &hf_h245_rejected,
19326       { "rejected", "h245.rejected",
19327         FT_UINT32, BASE_DEC, VALS(h245_T_rejected_vals), 0,
19328         NULL, HFILL }},
19329     { &hf_h245_connectionsNotAvailable,
19330       { "connectionsNotAvailable", "h245.connectionsNotAvailable_element",
19331         FT_NONE, BASE_NONE, NULL, 0,
19332         NULL, HFILL }},
19333     { &hf_h245_userRejected,
19334       { "userRejected", "h245.userRejected_element",
19335         FT_NONE, BASE_NONE, NULL, 0,
19336         NULL, HFILL }},
19337     { &hf_h245_removeConnectionResp,
19338       { "removeConnection", "h245.removeConnection_element",
19339         FT_NONE, BASE_NONE, NULL, 0,
19340         "RemoveConnectionResp", HFILL }},
19341     { &hf_h245_maximumHeaderIntervalResp,
19342       { "maximumHeaderInterval", "h245.maximumHeaderInterval_element",
19343         FT_NONE, BASE_NONE, NULL, 0,
19344         "MaximumHeaderIntervalResp", HFILL }},
19345     { &hf_h245_currentInterval,
19346       { "currentInterval", "h245.currentInterval",
19347         FT_UINT32, BASE_DEC, NULL, 0,
19348         "INTEGER_0_65535", HFILL }},
19349     { &hf_h245_crcDesired,
19350       { "crcDesired", "h245.crcDesired_element",
19351         FT_NONE, BASE_NONE, NULL, 0,
19352         NULL, HFILL }},
19353     { &hf_h245_excessiveError,
19354       { "excessiveError", "h245.excessiveError_element",
19355         FT_NONE, BASE_NONE, NULL, 0,
19356         NULL, HFILL }},
19357     { &hf_h245_differential,
19358       { "differential", "h245.differential",
19359         FT_UINT32, BASE_DEC, NULL, 0,
19360         "SET_SIZE_1_65535_OF_DialingInformationNumber", HFILL }},
19361     { &hf_h245_differential_item,
19362       { "DialingInformationNumber", "h245.DialingInformationNumber_element",
19363         FT_NONE, BASE_NONE, NULL, 0,
19364         NULL, HFILL }},
19365     { &hf_h245_infoNotAvailable,
19366       { "infoNotAvailable", "h245.infoNotAvailable",
19367         FT_UINT32, BASE_DEC, NULL, 0,
19368         "INTEGER_1_65535", HFILL }},
19369     { &hf_h245_networkAddressNum,
19370       { "networkAddress", "h245.networkAddress",
19371         FT_STRING, BASE_NONE, NULL, 0,
19372         "NumericString_SIZE_0_40", HFILL }},
19373     { &hf_h245_subAddress,
19374       { "subAddress", "h245.subAddress",
19375         FT_STRING, BASE_NONE, NULL, 0,
19376         "IA5String_SIZE_1_40", HFILL }},
19377     { &hf_h245_networkType,
19378       { "networkType", "h245.networkType",
19379         FT_UINT32, BASE_DEC, NULL, 0,
19380         "SET_SIZE_1_255_OF_DialingInformationNetworkType", HFILL }},
19381     { &hf_h245_networkType_item,
19382       { "DialingInformationNetworkType", "h245.DialingInformationNetworkType",
19383         FT_UINT32, BASE_DEC, VALS(h245_DialingInformationNetworkType_vals), 0,
19384         NULL, HFILL }},
19385     { &hf_h245_n_isdn,
19386       { "n-isdn", "h245.n_isdn_element",
19387         FT_NONE, BASE_NONE, NULL, 0,
19388         NULL, HFILL }},
19389     { &hf_h245_gstn,
19390       { "gstn", "h245.gstn_element",
19391         FT_NONE, BASE_NONE, NULL, 0,
19392         NULL, HFILL }},
19393     { &hf_h245_mobile,
19394       { "mobile", "h245.mobile_element",
19395         FT_NONE, BASE_NONE, NULL, 0,
19396         NULL, HFILL }},
19397     { &hf_h245_channelTag,
19398       { "channelTag", "h245.channelTag",
19399         FT_UINT32, BASE_DEC, NULL, 0,
19400         "INTEGER_0_4294967295", HFILL }},
19401     { &hf_h245_sequenceNum,
19402       { "sequenceNumber", "h245.sequenceNumber",
19403         FT_UINT32, BASE_DEC, NULL, 0,
19404         "INTEGER_0_4294967295", HFILL }},
19405     { &hf_h245_maximumBitRate,
19406       { "maximumBitRate", "h245.maximumBitRate",
19407         FT_UINT32, BASE_DEC, NULL, 0,
19408         NULL, HFILL }},
19409     { &hf_h245_rejectReason,
19410       { "rejectReason", "h245.rejectReason",
19411         FT_UINT32, BASE_DEC, VALS(h245_LogicalChannelRateRejectReason_vals), 0,
19412         "LogicalChannelRateRejectReason", HFILL }},
19413     { &hf_h245_currentMaximumBitRate,
19414       { "currentMaximumBitRate", "h245.currentMaximumBitRate",
19415         FT_UINT32, BASE_DEC, NULL, 0,
19416         "MaximumBitRate", HFILL }},
19417     { &hf_h245_undefinedReason,
19418       { "undefinedReason", "h245.undefinedReason_element",
19419         FT_NONE, BASE_NONE, NULL, 0,
19420         NULL, HFILL }},
19421     { &hf_h245_insufficientResources,
19422       { "insufficientResources", "h245.insufficientResources_element",
19423         FT_NONE, BASE_NONE, NULL, 0,
19424         NULL, HFILL }},
19425     { &hf_h245_specificRequest,
19426       { "specificRequest", "h245.specificRequest_element",
19427         FT_NONE, BASE_NONE, NULL, 0,
19428         NULL, HFILL }},
19429     { &hf_h245_multiplexCapabilityBool,
19430       { "multiplexCapability", "h245.multiplexCapability",
19431         FT_BOOLEAN, BASE_NONE, NULL, 0,
19432         "BOOLEAN", HFILL }},
19433     { &hf_h245_capabilityTableEntryNumbers,
19434       { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers",
19435         FT_UINT32, BASE_DEC, NULL, 0,
19436         "SET_SIZE_1_65535_OF_CapabilityTableEntryNumber", HFILL }},
19437     { &hf_h245_capabilityTableEntryNumbers_item,
19438       { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
19439         FT_UINT32, BASE_DEC, NULL, 0,
19440         NULL, HFILL }},
19441     { &hf_h245_capabilityDescriptorNumbers,
19442       { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers",
19443         FT_UINT32, BASE_DEC, NULL, 0,
19444         "SET_SIZE_1_256_OF_CapabilityDescriptorNumber", HFILL }},
19445     { &hf_h245_capabilityDescriptorNumbers_item,
19446       { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber",
19447         FT_UINT32, BASE_DEC, NULL, 0,
19448         NULL, HFILL }},
19449     { &hf_h245_genericRequestFlag,
19450       { "genericRequest", "h245.genericRequest_element",
19451         FT_NONE, BASE_NONE, NULL, 0,
19452         NULL, HFILL }},
19453     { &hf_h245_encryptionSE,
19454       { "encryptionSE", "h245.encryptionSE",
19455         FT_BYTES, BASE_NONE, NULL, 0,
19456         "OCTET_STRING", HFILL }},
19457     { &hf_h245_encryptionIVRequest,
19458       { "encryptionIVRequest", "h245.encryptionIVRequest_element",
19459         FT_NONE, BASE_NONE, NULL, 0,
19460         NULL, HFILL }},
19461     { &hf_h245_encryptionAlgorithmID,
19462       { "encryptionAlgorithmID", "h245.encryptionAlgorithmID_element",
19463         FT_NONE, BASE_NONE, NULL, 0,
19464         NULL, HFILL }},
19465     { &hf_h245_h233AlgorithmIdentifier,
19466       { "h233AlgorithmIdentifier", "h245.h233AlgorithmIdentifier",
19467         FT_UINT32, BASE_DEC, NULL, 0,
19468         "SequenceNumber", HFILL }},
19469     { &hf_h245_associatedAlgorithm,
19470       { "associatedAlgorithm", "h245.associatedAlgorithm_element",
19471         FT_NONE, BASE_NONE, NULL, 0,
19472         "NonStandardParameter", HFILL }},
19473     { &hf_h245_wholeMultiplex,
19474       { "wholeMultiplex", "h245.wholeMultiplex_element",
19475         FT_NONE, BASE_NONE, NULL, 0,
19476         NULL, HFILL }},
19477     { &hf_h245_scope,
19478       { "scope", "h245.scope",
19479         FT_UINT32, BASE_DEC, VALS(h245_Scope_vals), 0,
19480         NULL, HFILL }},
19481     { &hf_h245_res_maximumBitRate,
19482       { "maximumBitRate", "h245.maximumBitRate",
19483         FT_UINT32, BASE_DEC, NULL, 0,
19484         "INTEGER_0_16777215", HFILL }},
19485     { &hf_h245_noRestriction,
19486       { "noRestriction", "h245.noRestriction_element",
19487         FT_NONE, BASE_NONE, NULL, 0,
19488         NULL, HFILL }},
19489     { &hf_h245_restriction,
19490       { "restriction", "h245.restriction",
19491         FT_UINT32, BASE_DEC, VALS(h245_Restriction_vals), 0,
19492         NULL, HFILL }},
19493     { &hf_h245_disconnect,
19494       { "disconnect", "h245.disconnect_element",
19495         FT_NONE, BASE_NONE, NULL, 0,
19496         NULL, HFILL }},
19497     { &hf_h245_gstnOptions,
19498       { "gstnOptions", "h245.gstnOptions",
19499         FT_UINT32, BASE_DEC, VALS(h245_T_gstnOptions_vals), 0,
19500         NULL, HFILL }},
19501     { &hf_h245_telephonyMode,
19502       { "telephonyMode", "h245.telephonyMode_element",
19503         FT_NONE, BASE_NONE, NULL, 0,
19504         NULL, HFILL }},
19505     { &hf_h245_v8bis,
19506       { "v8bis", "h245.v8bis_element",
19507         FT_NONE, BASE_NONE, NULL, 0,
19508         NULL, HFILL }},
19509     { &hf_h245_v34DSVD,
19510       { "v34DSVD", "h245.v34DSVD_element",
19511         FT_NONE, BASE_NONE, NULL, 0,
19512         NULL, HFILL }},
19513     { &hf_h245_v34DuplexFAX,
19514       { "v34DuplexFAX", "h245.v34DuplexFAX_element",
19515         FT_NONE, BASE_NONE, NULL, 0,
19516         NULL, HFILL }},
19517     { &hf_h245_v34H324,
19518       { "v34H324", "h245.v34H324_element",
19519         FT_NONE, BASE_NONE, NULL, 0,
19520         NULL, HFILL }},
19521     { &hf_h245_isdnOptions,
19522       { "isdnOptions", "h245.isdnOptions",
19523         FT_UINT32, BASE_DEC, VALS(h245_T_isdnOptions_vals), 0,
19524         NULL, HFILL }},
19525     { &hf_h245_v140,
19526       { "v140", "h245.v140_element",
19527         FT_NONE, BASE_NONE, NULL, 0,
19528         NULL, HFILL }},
19529     { &hf_h245_terminalOnHold,
19530       { "terminalOnHold", "h245.terminalOnHold_element",
19531         FT_NONE, BASE_NONE, NULL, 0,
19532         NULL, HFILL }},
19533     { &hf_h245_cancelBroadcastMyLogicalChannel,
19534       { "cancelBroadcastMyLogicalChannel", "h245.cancelBroadcastMyLogicalChannel",
19535         FT_UINT32, BASE_DEC, NULL, 0,
19536         "LogicalChannelNumber", HFILL }},
19537     { &hf_h245_cancelMakeTerminalBroadcaster,
19538       { "cancelMakeTerminalBroadcaster", "h245.cancelMakeTerminalBroadcaster_element",
19539         FT_NONE, BASE_NONE, NULL, 0,
19540         NULL, HFILL }},
19541     { &hf_h245_cancelSendThisSource,
19542       { "cancelSendThisSource", "h245.cancelSendThisSource_element",
19543         FT_NONE, BASE_NONE, NULL, 0,
19544         NULL, HFILL }},
19545     { &hf_h245_dropConference,
19546       { "dropConference", "h245.dropConference_element",
19547         FT_NONE, BASE_NONE, NULL, 0,
19548         NULL, HFILL }},
19549     { &hf_h245_substituteConferenceIDCommand,
19550       { "substituteConferenceIDCommand", "h245.substituteConferenceIDCommand_element",
19551         FT_NONE, BASE_NONE, NULL, 0,
19552         NULL, HFILL }},
19553     { &hf_h245_conferenceIdentifier,
19554       { "conferenceIdentifier", "h245.conferenceIdentifier",
19555         FT_BYTES, BASE_NONE, NULL, 0,
19556         "OCTET_STRING_SIZE_16", HFILL }},
19557     { &hf_h245_masterToSlave,
19558       { "masterToSlave", "h245.masterToSlave_element",
19559         FT_NONE, BASE_NONE, NULL, 0,
19560         NULL, HFILL }},
19561     { &hf_h245_slaveToMaster,
19562       { "slaveToMaster", "h245.slaveToMaster_element",
19563         FT_NONE, BASE_NONE, NULL, 0,
19564         NULL, HFILL }},
19565     { &hf_h245_mc_type,
19566       { "type", "h245.type",
19567         FT_UINT32, BASE_DEC, VALS(h245_Mc_type_vals), 0,
19568         "Mc_type", HFILL }},
19569     { &hf_h245_equaliseDelay,
19570       { "equaliseDelay", "h245.equaliseDelay_element",
19571         FT_NONE, BASE_NONE, NULL, 0,
19572         NULL, HFILL }},
19573     { &hf_h245_zeroDelay,
19574       { "zeroDelay", "h245.zeroDelay_element",
19575         FT_NONE, BASE_NONE, NULL, 0,
19576         NULL, HFILL }},
19577     { &hf_h245_multipointModeCommand,
19578       { "multipointModeCommand", "h245.multipointModeCommand_element",
19579         FT_NONE, BASE_NONE, NULL, 0,
19580         NULL, HFILL }},
19581     { &hf_h245_cancelMultipointModeCommand,
19582       { "cancelMultipointModeCommand", "h245.cancelMultipointModeCommand_element",
19583         FT_NONE, BASE_NONE, NULL, 0,
19584         NULL, HFILL }},
19585     { &hf_h245_videoFreezePicture,
19586       { "videoFreezePicture", "h245.videoFreezePicture_element",
19587         FT_NONE, BASE_NONE, NULL, 0,
19588         NULL, HFILL }},
19589     { &hf_h245_videoFastUpdatePicture,
19590       { "videoFastUpdatePicture", "h245.videoFastUpdatePicture_element",
19591         FT_NONE, BASE_NONE, NULL, 0,
19592         NULL, HFILL }},
19593     { &hf_h245_videoFastUpdateGOB,
19594       { "videoFastUpdateGOB", "h245.videoFastUpdateGOB_element",
19595         FT_NONE, BASE_NONE, NULL, 0,
19596         NULL, HFILL }},
19597     { &hf_h245_firstGOB,
19598       { "firstGOB", "h245.firstGOB",
19599         FT_UINT32, BASE_DEC, NULL, 0,
19600         "INTEGER_0_17", HFILL }},
19601     { &hf_h245_numberOfGOBs,
19602       { "numberOfGOBs", "h245.numberOfGOBs",
19603         FT_UINT32, BASE_DEC, NULL, 0,
19604         "INTEGER_1_18", HFILL }},
19605     { &hf_h245_videoTemporalSpatialTradeOff,
19606       { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff",
19607         FT_UINT32, BASE_DEC, NULL, 0,
19608         "INTEGER_0_31", HFILL }},
19609     { &hf_h245_videoSendSyncEveryGOB,
19610       { "videoSendSyncEveryGOB", "h245.videoSendSyncEveryGOB_element",
19611         FT_NONE, BASE_NONE, NULL, 0,
19612         NULL, HFILL }},
19613     { &hf_h245_videoSendSyncEveryGOBCancel,
19614       { "videoSendSyncEveryGOBCancel", "h245.videoSendSyncEveryGOBCancel_element",
19615         FT_NONE, BASE_NONE, NULL, 0,
19616         NULL, HFILL }},
19617     { &hf_h245_videoFastUpdateMB,
19618       { "videoFastUpdateMB", "h245.videoFastUpdateMB_element",
19619         FT_NONE, BASE_NONE, NULL, 0,
19620         NULL, HFILL }},
19621     { &hf_h245_firstGOB_0_255,
19622       { "firstGOB", "h245.firstGOB",
19623         FT_UINT32, BASE_DEC, NULL, 0,
19624         "INTEGER_0_255", HFILL }},
19625     { &hf_h245_firstMB_1_8192,
19626       { "firstMB", "h245.firstMB",
19627         FT_UINT32, BASE_DEC, NULL, 0,
19628         "INTEGER_1_8192", HFILL }},
19629     { &hf_h245_numberOfMBs,
19630       { "numberOfMBs", "h245.numberOfMBs",
19631         FT_UINT32, BASE_DEC, NULL, 0,
19632         "INTEGER_1_8192", HFILL }},
19633     { &hf_h245_maxH223MUXPDUsize,
19634       { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize",
19635         FT_UINT32, BASE_DEC, NULL, 0,
19636         "INTEGER_1_65535", HFILL }},
19637     { &hf_h245_encryptionUpdate,
19638       { "encryptionUpdate", "h245.encryptionUpdate_element",
19639         FT_NONE, BASE_NONE, NULL, 0,
19640         "EncryptionSync", HFILL }},
19641     { &hf_h245_encryptionUpdateRequest,
19642       { "encryptionUpdateRequest", "h245.encryptionUpdateRequest_element",
19643         FT_NONE, BASE_NONE, NULL, 0,
19644         NULL, HFILL }},
19645     { &hf_h245_switchReceiveMediaOff,
19646       { "switchReceiveMediaOff", "h245.switchReceiveMediaOff_element",
19647         FT_NONE, BASE_NONE, NULL, 0,
19648         NULL, HFILL }},
19649     { &hf_h245_switchReceiveMediaOn,
19650       { "switchReceiveMediaOn", "h245.switchReceiveMediaOn_element",
19651         FT_NONE, BASE_NONE, NULL, 0,
19652         NULL, HFILL }},
19653     { &hf_h245_progressiveRefinementStart,
19654       { "progressiveRefinementStart", "h245.progressiveRefinementStart_element",
19655         FT_NONE, BASE_NONE, NULL, 0,
19656         NULL, HFILL }},
19657     { &hf_h245_repeatCount,
19658       { "repeatCount", "h245.repeatCount",
19659         FT_UINT32, BASE_DEC, VALS(h245_T_repeatCount_vals), 0,
19660         NULL, HFILL }},
19661     { &hf_h245_doOneProgression,
19662       { "doOneProgression", "h245.doOneProgression_element",
19663         FT_NONE, BASE_NONE, NULL, 0,
19664         NULL, HFILL }},
19665     { &hf_h245_doContinuousProgressions,
19666       { "doContinuousProgressions", "h245.doContinuousProgressions_element",
19667         FT_NONE, BASE_NONE, NULL, 0,
19668         NULL, HFILL }},
19669     { &hf_h245_doOneIndependentProgression,
19670       { "doOneIndependentProgression", "h245.doOneIndependentProgression_element",
19671         FT_NONE, BASE_NONE, NULL, 0,
19672         NULL, HFILL }},
19673     { &hf_h245_doContinuousIndependentProgressions,
19674       { "doContinuousIndependentProgressions", "h245.doContinuousIndependentProgressions_element",
19675         FT_NONE, BASE_NONE, NULL, 0,
19676         NULL, HFILL }},
19677     { &hf_h245_progressiveRefinementAbortOne,
19678       { "progressiveRefinementAbortOne", "h245.progressiveRefinementAbortOne_element",
19679         FT_NONE, BASE_NONE, NULL, 0,
19680         NULL, HFILL }},
19681     { &hf_h245_progressiveRefinementAbortContinuous,
19682       { "progressiveRefinementAbortContinuous", "h245.progressiveRefinementAbortContinuous_element",
19683         FT_NONE, BASE_NONE, NULL, 0,
19684         NULL, HFILL }},
19685     { &hf_h245_videoBadMBs,
19686       { "videoBadMBs", "h245.videoBadMBs_element",
19687         FT_NONE, BASE_NONE, NULL, 0,
19688         NULL, HFILL }},
19689     { &hf_h245_firstMB,
19690       { "firstMB", "h245.firstMB",
19691         FT_UINT32, BASE_DEC, NULL, 0,
19692         "INTEGER_1_9216", HFILL }},
19693     { &hf_h245_numberOfMBs1_1_9216,
19694       { "numberOfMBs", "h245.numberOfMBs",
19695         FT_UINT32, BASE_DEC, NULL, 0,
19696         "INTEGER_1_9216", HFILL }},
19697     { &hf_h245_temporalReference,
19698       { "temporalReference", "h245.temporalReference",
19699         FT_UINT32, BASE_DEC, NULL, 0,
19700         "INTEGER_0_1023", HFILL }},
19701     { &hf_h245_lostPicture,
19702       { "lostPicture", "h245.lostPicture",
19703         FT_UINT32, BASE_DEC, NULL, 0,
19704         "SEQUENCE_OF_PictureReference", HFILL }},
19705     { &hf_h245_lostPicture_item,
19706       { "PictureReference", "h245.PictureReference",
19707         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19708         NULL, HFILL }},
19709     { &hf_h245_lostPartialPicture,
19710       { "lostPartialPicture", "h245.lostPartialPicture_element",
19711         FT_NONE, BASE_NONE, NULL, 0,
19712         NULL, HFILL }},
19713     { &hf_h245_pictureReference,
19714       { "pictureReference", "h245.pictureReference",
19715         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19716         NULL, HFILL }},
19717     { &hf_h245_recoveryReferencePicture,
19718       { "recoveryReferencePicture", "h245.recoveryReferencePicture",
19719         FT_UINT32, BASE_DEC, NULL, 0,
19720         "SEQUENCE_OF_PictureReference", HFILL }},
19721     { &hf_h245_recoveryReferencePicture_item,
19722       { "PictureReference", "h245.PictureReference",
19723         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19724         NULL, HFILL }},
19725     { &hf_h245_encryptionUpdateCommand,
19726       { "encryptionUpdateCommand", "h245.encryptionUpdateCommand_element",
19727         FT_NONE, BASE_NONE, NULL, 0,
19728         NULL, HFILL }},
19729     { &hf_h245_encryptionUpdateAck,
19730       { "encryptionUpdateAck", "h245.encryptionUpdateAck_element",
19731         FT_NONE, BASE_NONE, NULL, 0,
19732         NULL, HFILL }},
19733     { &hf_h245_direction,
19734       { "direction", "h245.direction",
19735         FT_UINT32, BASE_DEC, VALS(h245_EncryptionUpdateDirection_vals), 0,
19736         "EncryptionUpdateDirection", HFILL }},
19737     { &hf_h245_secureChannel,
19738       { "secureChannel", "h245.secureChannel",
19739         FT_BOOLEAN, BASE_NONE, NULL, 0,
19740         "BOOLEAN", HFILL }},
19741     { &hf_h245_sharedSecret,
19742       { "sharedSecret", "h245.sharedSecret",
19743         FT_BOOLEAN, BASE_NONE, NULL, 0,
19744         "BOOLEAN", HFILL }},
19745     { &hf_h245_certProtectedKey,
19746       { "certProtectedKey", "h245.certProtectedKey",
19747         FT_BOOLEAN, BASE_NONE, NULL, 0,
19748         "BOOLEAN", HFILL }},
19749     { &hf_h245_keyProtectionMethod,
19750       { "keyProtectionMethod", "h245.keyProtectionMethod_element",
19751         FT_NONE, BASE_NONE, NULL, 0,
19752         NULL, HFILL }},
19753     { &hf_h245_pictureNumber,
19754       { "pictureNumber", "h245.pictureNumber",
19755         FT_UINT32, BASE_DEC, NULL, 0,
19756         "INTEGER_0_1023", HFILL }},
19757     { &hf_h245_longTermPictureIndex,
19758       { "longTermPictureIndex", "h245.longTermPictureIndex",
19759         FT_UINT32, BASE_DEC, NULL, 0,
19760         "INTEGER_0_255", HFILL }},
19761     { &hf_h245_h223ModeChange,
19762       { "h223ModeChange", "h245.h223ModeChange",
19763         FT_UINT32, BASE_DEC, VALS(h245_T_h223ModeChange_vals), 0,
19764         NULL, HFILL }},
19765     { &hf_h245_toLevel0,
19766       { "toLevel0", "h245.toLevel0_element",
19767         FT_NONE, BASE_NONE, NULL, 0,
19768         NULL, HFILL }},
19769     { &hf_h245_toLevel1,
19770       { "toLevel1", "h245.toLevel1_element",
19771         FT_NONE, BASE_NONE, NULL, 0,
19772         NULL, HFILL }},
19773     { &hf_h245_toLevel2,
19774       { "toLevel2", "h245.toLevel2_element",
19775         FT_NONE, BASE_NONE, NULL, 0,
19776         NULL, HFILL }},
19777     { &hf_h245_toLevel2withOptionalHeader,
19778       { "toLevel2withOptionalHeader", "h245.toLevel2withOptionalHeader_element",
19779         FT_NONE, BASE_NONE, NULL, 0,
19780         NULL, HFILL }},
19781     { &hf_h245_h223AnnexADoubleFlag,
19782       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
19783         FT_UINT32, BASE_DEC, VALS(h245_T_h223AnnexADoubleFlag_vals), 0,
19784         NULL, HFILL }},
19785     { &hf_h245_start,
19786       { "start", "h245.start_element",
19787         FT_NONE, BASE_NONE, NULL, 0,
19788         NULL, HFILL }},
19789     { &hf_h245_stop,
19790       { "stop", "h245.stop_element",
19791         FT_NONE, BASE_NONE, NULL, 0,
19792         NULL, HFILL }},
19793     { &hf_h245_bitRate,
19794       { "bitRate", "h245.bitRate",
19795         FT_UINT32, BASE_DEC, NULL, 0,
19796         "INTEGER_1_65535", HFILL }},
19797     { &hf_h245_bitRateLockedToPCRClock,
19798       { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock",
19799         FT_BOOLEAN, BASE_NONE, NULL, 0,
19800         "BOOLEAN", HFILL }},
19801     { &hf_h245_bitRateLockedToNetworkClock,
19802       { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock",
19803         FT_BOOLEAN, BASE_NONE, NULL, 0,
19804         "BOOLEAN", HFILL }},
19805     { &hf_h245_cmd_aal,
19806       { "aal", "h245.aal",
19807         FT_UINT32, BASE_DEC, VALS(h245_Cmd_aal_vals), 0,
19808         "Cmd_aal", HFILL }},
19809     { &hf_h245_cmd_aal1,
19810       { "aal1", "h245.aal1_element",
19811         FT_NONE, BASE_NONE, NULL, 0,
19812         "Cmd_aal1", HFILL }},
19813     { &hf_h245_cmd_clockRecovery,
19814       { "clockRecovery", "h245.clockRecovery",
19815         FT_UINT32, BASE_DEC, VALS(h245_Cmd_clockRecovery_vals), 0,
19816         "Cmd_clockRecovery", HFILL }},
19817     { &hf_h245_nullClockRecoveryflag,
19818       { "nullClockRecovery", "h245.nullClockRecovery_element",
19819         FT_NONE, BASE_NONE, NULL, 0,
19820         NULL, HFILL }},
19821     { &hf_h245_srtsClockRecovery,
19822       { "srtsClockRecovery", "h245.srtsClockRecovery_element",
19823         FT_NONE, BASE_NONE, NULL, 0,
19824         NULL, HFILL }},
19825     { &hf_h245_adaptiveClockRecoveryFlag,
19826       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery_element",
19827         FT_NONE, BASE_NONE, NULL, 0,
19828         NULL, HFILL }},
19829     { &hf_h245_cmd_errorCorrection,
19830       { "errorCorrection", "h245.errorCorrection",
19831         FT_UINT32, BASE_DEC, VALS(h245_Cmd_errorCorrection_vals), 0,
19832         "Cmd_errorCorrection", HFILL }},
19833     { &hf_h245_nullErrorCorrectionFlag,
19834       { "nullErrorCorrection", "h245.nullErrorCorrection_element",
19835         FT_NONE, BASE_NONE, NULL, 0,
19836         NULL, HFILL }},
19837     { &hf_h245_longInterleaverFlag,
19838       { "longInterleaver", "h245.longInterleaver_element",
19839         FT_NONE, BASE_NONE, NULL, 0,
19840         NULL, HFILL }},
19841     { &hf_h245_shortInterleaverFlag,
19842       { "shortInterleaver", "h245.shortInterleaver_element",
19843         FT_NONE, BASE_NONE, NULL, 0,
19844         NULL, HFILL }},
19845     { &hf_h245_errorCorrectionOnlyFlag,
19846       { "errorCorrectionOnly", "h245.errorCorrectionOnly_element",
19847         FT_NONE, BASE_NONE, NULL, 0,
19848         NULL, HFILL }},
19849     { &hf_h245_cmd_aal5,
19850       { "aal5", "h245.aal5_element",
19851         FT_NONE, BASE_NONE, NULL, 0,
19852         "Cmd_aal5", HFILL }},
19853     { &hf_h245_cmd_multiplex,
19854       { "multiplex", "h245.multiplex",
19855         FT_UINT32, BASE_DEC, VALS(h245_Cmd_multiplex_vals), 0,
19856         "Cmd_multiplex", HFILL }},
19857     { &hf_h245_noMultiplex,
19858       { "noMultiplex", "h245.noMultiplex_element",
19859         FT_NONE, BASE_NONE, NULL, 0,
19860         NULL, HFILL }},
19861     { &hf_h245_transportStream,
19862       { "transportStream", "h245.transportStream_element",
19863         FT_NONE, BASE_NONE, NULL, 0,
19864         NULL, HFILL }},
19865     { &hf_h245_programStreamFlag,
19866       { "programStream", "h245.programStream_element",
19867         FT_NONE, BASE_NONE, NULL, 0,
19868         NULL, HFILL }},
19869     { &hf_h245_cmd_reverseParameters,
19870       { "reverseParameters", "h245.reverseParameters_element",
19871         FT_NONE, BASE_NONE, NULL, 0,
19872         "Cmd_reverseParameters", HFILL }},
19873     { &hf_h245_cmdr_multiplex,
19874       { "multiplex", "h245.multiplex",
19875         FT_UINT32, BASE_DEC, VALS(h245_CmdR_multiplex_vals), 0,
19876         "CmdR_multiplex", HFILL }},
19877     { &hf_h245_sampleSize,
19878       { "sampleSize", "h245.sampleSize",
19879         FT_UINT32, BASE_DEC, NULL, 0,
19880         "INTEGER_1_255", HFILL }},
19881     { &hf_h245_samplesPerFrame,
19882       { "samplesPerFrame", "h245.samplesPerFrame",
19883         FT_UINT32, BASE_DEC, NULL, 0,
19884         "INTEGER_1_255", HFILL }},
19885     { &hf_h245_status,
19886       { "status", "h245.status",
19887         FT_UINT32, BASE_DEC, VALS(h245_T_status_vals), 0,
19888         NULL, HFILL }},
19889     { &hf_h245_synchronized,
19890       { "synchronized", "h245.synchronized_element",
19891         FT_NONE, BASE_NONE, NULL, 0,
19892         NULL, HFILL }},
19893     { &hf_h245_reconfiguration,
19894       { "reconfiguration", "h245.reconfiguration_element",
19895         FT_NONE, BASE_NONE, NULL, 0,
19896         NULL, HFILL }},
19897     { &hf_h245_fns_cause,
19898       { "cause", "h245.cause",
19899         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotSupportedCause_vals), 0,
19900         "FunctionNotSupportedCause", HFILL }},
19901     { &hf_h245_syntaxError,
19902       { "syntaxError", "h245.syntaxError_element",
19903         FT_NONE, BASE_NONE, NULL, 0,
19904         NULL, HFILL }},
19905     { &hf_h245_semanticError,
19906       { "semanticError", "h245.semanticError_element",
19907         FT_NONE, BASE_NONE, NULL, 0,
19908         NULL, HFILL }},
19909     { &hf_h245_unknownFunction,
19910       { "unknownFunction", "h245.unknownFunction_element",
19911         FT_NONE, BASE_NONE, NULL, 0,
19912         NULL, HFILL }},
19913     { &hf_h245_returnedFunction,
19914       { "returnedFunction", "h245.returnedFunction",
19915         FT_BYTES, BASE_NONE, NULL, 0,
19916         NULL, HFILL }},
19917     { &hf_h245_sbeNumber,
19918       { "sbeNumber", "h245.sbeNumber",
19919         FT_UINT32, BASE_DEC, NULL, 0,
19920         "INTEGER_0_9", HFILL }},
19921     { &hf_h245_terminalNumberAssign,
19922       { "terminalNumberAssign", "h245.terminalNumberAssign_element",
19923         FT_NONE, BASE_NONE, NULL, 0,
19924         "TerminalLabel", HFILL }},
19925     { &hf_h245_terminalJoinedConference,
19926       { "terminalJoinedConference", "h245.terminalJoinedConference_element",
19927         FT_NONE, BASE_NONE, NULL, 0,
19928         "TerminalLabel", HFILL }},
19929     { &hf_h245_terminalLeftConference,
19930       { "terminalLeftConference", "h245.terminalLeftConference_element",
19931         FT_NONE, BASE_NONE, NULL, 0,
19932         "TerminalLabel", HFILL }},
19933     { &hf_h245_seenByAtLeastOneOther,
19934       { "seenByAtLeastOneOther", "h245.seenByAtLeastOneOther_element",
19935         FT_NONE, BASE_NONE, NULL, 0,
19936         NULL, HFILL }},
19937     { &hf_h245_cancelSeenByAtLeastOneOther,
19938       { "cancelSeenByAtLeastOneOther", "h245.cancelSeenByAtLeastOneOther_element",
19939         FT_NONE, BASE_NONE, NULL, 0,
19940         NULL, HFILL }},
19941     { &hf_h245_seenByAll,
19942       { "seenByAll", "h245.seenByAll_element",
19943         FT_NONE, BASE_NONE, NULL, 0,
19944         NULL, HFILL }},
19945     { &hf_h245_cancelSeenByAll,
19946       { "cancelSeenByAll", "h245.cancelSeenByAll_element",
19947         FT_NONE, BASE_NONE, NULL, 0,
19948         NULL, HFILL }},
19949     { &hf_h245_terminalYouAreSeeing,
19950       { "terminalYouAreSeeing", "h245.terminalYouAreSeeing_element",
19951         FT_NONE, BASE_NONE, NULL, 0,
19952         "TerminalLabel", HFILL }},
19953     { &hf_h245_requestForFloor,
19954       { "requestForFloor", "h245.requestForFloor_element",
19955         FT_NONE, BASE_NONE, NULL, 0,
19956         NULL, HFILL }},
19957     { &hf_h245_withdrawChairToken,
19958       { "withdrawChairToken", "h245.withdrawChairToken_element",
19959         FT_NONE, BASE_NONE, NULL, 0,
19960         NULL, HFILL }},
19961     { &hf_h245_floorRequested,
19962       { "floorRequested", "h245.floorRequested_element",
19963         FT_NONE, BASE_NONE, NULL, 0,
19964         "TerminalLabel", HFILL }},
19965     { &hf_h245_terminalYouAreSeeingInSubPictureNumber,
19966       { "terminalYouAreSeeingInSubPictureNumber", "h245.terminalYouAreSeeingInSubPictureNumber_element",
19967         FT_NONE, BASE_NONE, NULL, 0,
19968         NULL, HFILL }},
19969     { &hf_h245_videoIndicateCompose,
19970       { "videoIndicateCompose", "h245.videoIndicateCompose_element",
19971         FT_NONE, BASE_NONE, NULL, 0,
19972         NULL, HFILL }},
19973     { &hf_h245_masterMCU,
19974       { "masterMCU", "h245.masterMCU_element",
19975         FT_NONE, BASE_NONE, NULL, 0,
19976         NULL, HFILL }},
19977     { &hf_h245_cancelMasterMCU,
19978       { "cancelMasterMCU", "h245.cancelMasterMCU_element",
19979         FT_NONE, BASE_NONE, NULL, 0,
19980         NULL, HFILL }},
19981     { &hf_h245_subPictureNumber,
19982       { "subPictureNumber", "h245.subPictureNumber",
19983         FT_UINT32, BASE_DEC, NULL, 0,
19984         "INTEGER_0_255", HFILL }},
19985     { &hf_h245_compositionNumber,
19986       { "compositionNumber", "h245.compositionNumber",
19987         FT_UINT32, BASE_DEC, NULL, 0,
19988         "INTEGER_0_255", HFILL }},
19989     { &hf_h245_mi_type,
19990       { "type", "h245.type",
19991         FT_UINT32, BASE_DEC, VALS(h245_Mi_type_vals), 0,
19992         "Mi_type", HFILL }},
19993     { &hf_h245_logicalChannelActive,
19994       { "logicalChannelActive", "h245.logicalChannelActive_element",
19995         FT_NONE, BASE_NONE, NULL, 0,
19996         NULL, HFILL }},
19997     { &hf_h245_logicalChannelInactive,
19998       { "logicalChannelInactive", "h245.logicalChannelInactive_element",
19999         FT_NONE, BASE_NONE, NULL, 0,
20000         NULL, HFILL }},
20001     { &hf_h245_multipointConference,
20002       { "multipointConference", "h245.multipointConference_element",
20003         FT_NONE, BASE_NONE, NULL, 0,
20004         NULL, HFILL }},
20005     { &hf_h245_cancelMultipointConference,
20006       { "cancelMultipointConference", "h245.cancelMultipointConference_element",
20007         FT_NONE, BASE_NONE, NULL, 0,
20008         NULL, HFILL }},
20009     { &hf_h245_multipointZeroComm,
20010       { "multipointZeroComm", "h245.multipointZeroComm_element",
20011         FT_NONE, BASE_NONE, NULL, 0,
20012         NULL, HFILL }},
20013     { &hf_h245_cancelMultipointZeroComm,
20014       { "cancelMultipointZeroComm", "h245.cancelMultipointZeroComm_element",
20015         FT_NONE, BASE_NONE, NULL, 0,
20016         NULL, HFILL }},
20017     { &hf_h245_multipointSecondaryStatus,
20018       { "multipointSecondaryStatus", "h245.multipointSecondaryStatus_element",
20019         FT_NONE, BASE_NONE, NULL, 0,
20020         NULL, HFILL }},
20021     { &hf_h245_cancelMultipointSecondaryStatus,
20022       { "cancelMultipointSecondaryStatus", "h245.cancelMultipointSecondaryStatus_element",
20023         FT_NONE, BASE_NONE, NULL, 0,
20024         NULL, HFILL }},
20025     { &hf_h245_videoIndicateReadyToActivate,
20026       { "videoIndicateReadyToActivate", "h245.videoIndicateReadyToActivate_element",
20027         FT_NONE, BASE_NONE, NULL, 0,
20028         NULL, HFILL }},
20029     { &hf_h245_videoNotDecodedMBs,
20030       { "videoNotDecodedMBs", "h245.videoNotDecodedMBs_element",
20031         FT_NONE, BASE_NONE, NULL, 0,
20032         NULL, HFILL }},
20033     { &hf_h245_temporalReference_0_255,
20034       { "temporalReference", "h245.temporalReference",
20035         FT_UINT32, BASE_DEC, NULL, 0,
20036         "INTEGER_0_255", HFILL }},
20037     { &hf_h245_estimatedReceivedJitterMantissa,
20038       { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa",
20039         FT_UINT32, BASE_DEC, NULL, 0,
20040         "INTEGER_0_3", HFILL }},
20041     { &hf_h245_estimatedReceivedJitterExponent,
20042       { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent",
20043         FT_UINT32, BASE_DEC, NULL, 0,
20044         "INTEGER_0_7", HFILL }},
20045     { &hf_h245_skippedFrameCount,
20046       { "skippedFrameCount", "h245.skippedFrameCount",
20047         FT_UINT32, BASE_DEC, NULL, 0,
20048         "INTEGER_0_15", HFILL }},
20049     { &hf_h245_additionalDecoderBuffer,
20050       { "additionalDecoderBuffer", "h245.additionalDecoderBuffer",
20051         FT_UINT32, BASE_DEC, NULL, 0,
20052         "INTEGER_0_262143", HFILL }},
20053     { &hf_h245_logicalChannelNumber1,
20054       { "logicalChannelNumber1", "h245.logicalChannelNumber1",
20055         FT_UINT32, BASE_DEC, NULL, 0,
20056         "LogicalChannelNumber", HFILL }},
20057     { &hf_h245_logicalChannelNumber2,
20058       { "logicalChannelNumber2", "h245.logicalChannelNumber2",
20059         FT_UINT32, BASE_DEC, NULL, 0,
20060         "LogicalChannelNumber", HFILL }},
20061     { &hf_h245_skew,
20062       { "skew", "h245.skew",
20063         FT_UINT32, BASE_DEC, NULL, 0,
20064         "INTEGER_0_4095", HFILL }},
20065     { &hf_h245_maximumSkew,
20066       { "maximumSkew", "h245.maximumSkew",
20067         FT_UINT32, BASE_DEC, NULL, 0,
20068         "INTEGER_0_4095", HFILL }},
20069     { &hf_h245_signalAddress,
20070       { "signalAddress", "h245.signalAddress",
20071         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
20072         "TransportAddress", HFILL }},
20073     { &hf_h245_vendor,
20074       { "vendor", "h245.vendor",
20075         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
20076         "NonStandardIdentifier", HFILL }},
20077     { &hf_h245_productNumber,
20078       { "productNumber", "h245.productNumber",
20079         FT_STRING, BASE_NONE, NULL, 0,
20080         "OCTET_STRING_SIZE_1_256", HFILL }},
20081     { &hf_h245_versionNumber,
20082       { "versionNumber", "h245.versionNumber",
20083         FT_STRING, BASE_NONE, NULL, 0,
20084         "OCTET_STRING_SIZE_1_256", HFILL }},
20085     { &hf_h245_ind_aal,
20086       { "aal", "h245.aal",
20087         FT_UINT32, BASE_DEC, VALS(h245_Ind_aal_vals), 0,
20088         "Ind_aal", HFILL }},
20089     { &hf_h245_ind_aal1,
20090       { "aal1", "h245.aal1_element",
20091         FT_NONE, BASE_NONE, NULL, 0,
20092         "Ind_aal1", HFILL }},
20093     { &hf_h245_ind_clockRecovery,
20094       { "clockRecovery", "h245.clockRecovery",
20095         FT_UINT32, BASE_DEC, VALS(h245_Ind_clockRecovery_vals), 0,
20096         "Ind_clockRecovery", HFILL }},
20097     { &hf_h245_ind_errorCorrection,
20098       { "errorCorrection", "h245.errorCorrection",
20099         FT_UINT32, BASE_DEC, VALS(h245_Ind_errorCorrection_vals), 0,
20100         "Ind_errorCorrection", HFILL }},
20101     { &hf_h245_ind_aal5,
20102       { "aal5", "h245.aal5_element",
20103         FT_NONE, BASE_NONE, NULL, 0,
20104         "Ind_aal5", HFILL }},
20105     { &hf_h245_ind_multiplex,
20106       { "multiplex", "h245.multiplex",
20107         FT_UINT32, BASE_DEC, VALS(h245_Ind_multiplex_vals), 0,
20108         "Ind_multiplex", HFILL }},
20109     { &hf_h245_ind_reverseParameters,
20110       { "reverseParameters", "h245.reverseParameters_element",
20111         FT_NONE, BASE_NONE, NULL, 0,
20112         "Ind_reverseParameters", HFILL }},
20113     { &hf_h245_indr_multiplex,
20114       { "multiplex", "h245.multiplex",
20115         FT_UINT32, BASE_DEC, VALS(h245_IndR_multiplex_vals), 0,
20116         "IndR_multiplex", HFILL }},
20117     { &hf_h245_iv8,
20118       { "iv8", "h245.iv8",
20119         FT_BYTES, BASE_NONE, NULL, 0,
20120         NULL, HFILL }},
20121     { &hf_h245_iv16,
20122       { "iv16", "h245.iv16",
20123         FT_BYTES, BASE_NONE, NULL, 0,
20124         NULL, HFILL }},
20125     { &hf_h245_iv,
20126       { "iv", "h245.iv",
20127         FT_BYTES, BASE_NONE, NULL, 0,
20128         "OCTET_STRING", HFILL }},
20129     { &hf_h245_alphanumeric,
20130       { "alphanumeric", "h245.alphanumeric",
20131         FT_STRING, BASE_NONE, NULL, 0,
20132         "GeneralString", HFILL }},
20133     { &hf_h245_userInputSupportIndication,
20134       { "userInputSupportIndication", "h245.userInputSupportIndication",
20135         FT_UINT32, BASE_DEC, VALS(h245_T_userInputSupportIndication_vals), 0,
20136         NULL, HFILL }},
20137     { &hf_h245_signal,
20138       { "signal", "h245.signal_element",
20139         FT_NONE, BASE_NONE, NULL, 0,
20140         NULL, HFILL }},
20141     { &hf_h245_signalType,
20142       { "signalType", "h245.signalType",
20143         FT_STRING, BASE_NONE, NULL, 0,
20144         NULL, HFILL }},
20145     { &hf_h245_duration,
20146       { "duration", "h245.duration",
20147         FT_UINT32, BASE_DEC, NULL, 0,
20148         "INTEGER_1_65535", HFILL }},
20149     { &hf_h245_rtp,
20150       { "rtp", "h245.rtp_element",
20151         FT_NONE, BASE_NONE, NULL, 0,
20152         NULL, HFILL }},
20153     { &hf_h245_timestamp,
20154       { "timestamp", "h245.timestamp",
20155         FT_UINT32, BASE_DEC, NULL, 0,
20156         "INTEGER_0_4294967295", HFILL }},
20157     { &hf_h245_expirationTime,
20158       { "expirationTime", "h245.expirationTime",
20159         FT_UINT32, BASE_DEC, NULL, 0,
20160         "INTEGER_0_4294967295", HFILL }},
20161     { &hf_h245_rtpPayloadIndication,
20162       { "rtpPayloadIndication", "h245.rtpPayloadIndication_element",
20163         FT_NONE, BASE_NONE, NULL, 0,
20164         NULL, HFILL }},
20165     { &hf_h245_paramS,
20166       { "paramS", "h245.paramS_element",
20167         FT_NONE, BASE_NONE, NULL, 0,
20168         NULL, HFILL }},
20169     { &hf_h245_encryptedSignalType,
20170       { "encryptedSignalType", "h245.encryptedSignalType",
20171         FT_BYTES, BASE_NONE, NULL, 0,
20172         "OCTET_STRING_SIZE_1", HFILL }},
20173     { &hf_h245_algorithmOID,
20174       { "algorithmOID", "h245.algorithmOID",
20175         FT_OID, BASE_NONE, NULL, 0,
20176         "OBJECT_IDENTIFIER", HFILL }},
20177     { &hf_h245_signalUpdate,
20178       { "signalUpdate", "h245.signalUpdate_element",
20179         FT_NONE, BASE_NONE, NULL, 0,
20180         NULL, HFILL }},
20181     { &hf_h245_si_rtp,
20182       { "rtp", "h245.rtp_element",
20183         FT_NONE, BASE_NONE, NULL, 0,
20184         "Si_rtp", HFILL }},
20185     { &hf_h245_extendedAlphanumeric,
20186       { "extendedAlphanumeric", "h245.extendedAlphanumeric_element",
20187         FT_NONE, BASE_NONE, NULL, 0,
20188         NULL, HFILL }},
20189     { &hf_h245_encrypted,
20190       { "encrypted", "h245.encrypted",
20191         FT_BYTES, BASE_NONE, NULL, 0,
20192         "OCTET_STRING", HFILL }},
20193     { &hf_h245_encryptedAlphanumeric,
20194       { "encryptedAlphanumeric", "h245.encryptedAlphanumeric_element",
20195         FT_NONE, BASE_NONE, NULL, 0,
20196         NULL, HFILL }},
20197
20198 /*--- End of included file: packet-h245-hfarr.c ---*/
20199 #line 475 "./asn1/h245/packet-h245-template.c"
20200   };
20201
20202   /* List of subtrees */
20203   static gint *ett[] = {
20204           &ett_h245,
20205           &ett_h245_returnedFunction,
20206
20207 /*--- Included file: packet-h245-ettarr.c ---*/
20208 #line 1 "./asn1/h245/packet-h245-ettarr.c"
20209     &ett_h245_MultimediaSystemControlMessage,
20210     &ett_h245_RequestMessage,
20211     &ett_h245_ResponseMessage,
20212     &ett_h245_CommandMessage,
20213     &ett_h245_IndicationMessage,
20214     &ett_h245_GenericMessage,
20215     &ett_h245_T_messageContent,
20216     &ett_h245_NonStandardMessage,
20217     &ett_h245_NonStandardParameter,
20218     &ett_h245_NonStandardIdentifier,
20219     &ett_h245_H221NonStandardID,
20220     &ett_h245_MasterSlaveDetermination,
20221     &ett_h245_MasterSlaveDeterminationAck,
20222     &ett_h245_T_decision,
20223     &ett_h245_MasterSlaveDeterminationReject,
20224     &ett_h245_MasterSlaveDeterminationRejectCause,
20225     &ett_h245_MasterSlaveDeterminationRelease,
20226     &ett_h245_TerminalCapabilitySet,
20227     &ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry,
20228     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor,
20229     &ett_h245_SEQUENCE_OF_GenericInformation,
20230     &ett_h245_CapabilityTableEntry,
20231     &ett_h245_CapabilityDescriptor,
20232     &ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet,
20233     &ett_h245_AlternativeCapabilitySet,
20234     &ett_h245_TerminalCapabilitySetAck,
20235     &ett_h245_TerminalCapabilitySetReject,
20236     &ett_h245_TerminalCapabilitySetRejectCause,
20237     &ett_h245_T_tableEntryCapacityExceeded,
20238     &ett_h245_TerminalCapabilitySetRelease,
20239     &ett_h245_Capability,
20240     &ett_h245_T_h233EncryptionReceiveCapability,
20241     &ett_h245_H235SecurityCapability,
20242     &ett_h245_MultiplexCapability,
20243     &ett_h245_H222Capability,
20244     &ett_h245_SET_OF_VCCapability,
20245     &ett_h245_VCCapability,
20246     &ett_h245_T_aal1,
20247     &ett_h245_T_aal5,
20248     &ett_h245_T_availableBitRates,
20249     &ett_h245_Avb_type,
20250     &ett_h245_T_rangeOfBitRates,
20251     &ett_h245_T_aal1ViaGateway,
20252     &ett_h245_SET_SIZE_1_256_OF_Q2931Address,
20253     &ett_h245_H223Capability,
20254     &ett_h245_T_h223MultiplexTableCapability,
20255     &ett_h245_T_enhanced,
20256     &ett_h245_T_mobileOperationTransmitCapability,
20257     &ett_h245_T_mobileMultilinkFrameCapability,
20258     &ett_h245_H223AnnexCCapability,
20259     &ett_h245_V76Capability,
20260     &ett_h245_V75Capability,
20261     &ett_h245_H2250Capability,
20262     &ett_h245_T_mcCapability,
20263     &ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability,
20264     &ett_h245_MediaPacketizationCapability,
20265     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType,
20266     &ett_h245_RSVPParameters,
20267     &ett_h245_QOSMode,
20268     &ett_h245_ATMParameters,
20269     &ett_h245_ServicePriorityValue,
20270     &ett_h245_ServicePriority,
20271     &ett_h245_AuthorizationParameters,
20272     &ett_h245_QOSType,
20273     &ett_h245_QOSClass,
20274     &ett_h245_QOSDescriptor,
20275     &ett_h245_GenericTransportParameters,
20276     &ett_h245_QOSCapability,
20277     &ett_h245_MediaTransportType,
20278     &ett_h245_T_atm_AAL5_compressed,
20279     &ett_h245_MediaChannelCapability,
20280     &ett_h245_TransportCapability,
20281     &ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability,
20282     &ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability,
20283     &ett_h245_RedundancyEncodingCapability,
20284     &ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber,
20285     &ett_h245_RedundancyEncodingMethod,
20286     &ett_h245_RTPH263VideoRedundancyEncoding,
20287     &ett_h245_T_frameToThreadMapping,
20288     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping,
20289     &ett_h245_T_containedThreads,
20290     &ett_h245_RTPH263VideoRedundancyFrameMapping,
20291     &ett_h245_T_frameSequence,
20292     &ett_h245_MultipointCapability,
20293     &ett_h245_SEQUENCE_OF_MediaDistributionCapability,
20294     &ett_h245_MediaDistributionCapability,
20295     &ett_h245_SEQUENCE_OF_DataApplicationCapability,
20296     &ett_h245_VideoCapability,
20297     &ett_h245_ExtendedVideoCapability,
20298     &ett_h245_SEQUENCE_OF_VideoCapability,
20299     &ett_h245_SEQUENCE_OF_GenericCapability,
20300     &ett_h245_H261VideoCapability,
20301     &ett_h245_H262VideoCapability,
20302     &ett_h245_H263VideoCapability,
20303     &ett_h245_EnhancementLayerInfo,
20304     &ett_h245_SET_SIZE_1_14_OF_EnhancementOptions,
20305     &ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters,
20306     &ett_h245_BEnhancementParameters,
20307     &ett_h245_EnhancementOptions,
20308     &ett_h245_H263Options,
20309     &ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency,
20310     &ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat,
20311     &ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos,
20312     &ett_h245_TransparencyParameters,
20313     &ett_h245_RefPictureSelection,
20314     &ett_h245_T_additionalPictureMemory,
20315     &ett_h245_T_videoBackChannelSend,
20316     &ett_h245_T_enhancedReferencePicSelect,
20317     &ett_h245_T_subPictureRemovalParameters,
20318     &ett_h245_CustomPictureClockFrequency,
20319     &ett_h245_CustomPictureFormat,
20320     &ett_h245_T_mPI,
20321     &ett_h245_T_customPCF,
20322     &ett_h245_T_customPCF_item,
20323     &ett_h245_T_pixelAspectInformation,
20324     &ett_h245_T_pixelAspectCode,
20325     &ett_h245_T_extendedPAR,
20326     &ett_h245_T_extendedPAR_item,
20327     &ett_h245_H263VideoModeCombos,
20328     &ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags,
20329     &ett_h245_H263ModeComboFlags,
20330     &ett_h245_H263Version3Options,
20331     &ett_h245_IS11172VideoCapability,
20332     &ett_h245_AudioCapability,
20333     &ett_h245_T_g7231,
20334     &ett_h245_G729Extensions,
20335     &ett_h245_G7231AnnexCCapability,
20336     &ett_h245_G723AnnexCAudioMode,
20337     &ett_h245_IS11172AudioCapability,
20338     &ett_h245_IS13818AudioCapability,
20339     &ett_h245_GSMAudioCapability,
20340     &ett_h245_VBDCapability,
20341     &ett_h245_DataApplicationCapability,
20342     &ett_h245_Application,
20343     &ett_h245_T_t84,
20344     &ett_h245_Nlpid,
20345     &ett_h245_T_t38fax,
20346     &ett_h245_DataProtocolCapability,
20347     &ett_h245_T_v76wCompression,
20348     &ett_h245_CompressionType,
20349     &ett_h245_V42bis,
20350     &ett_h245_T84Profile,
20351     &ett_h245_T_t84Restricted,
20352     &ett_h245_T38FaxProfile,
20353     &ett_h245_T38FaxRateManagement,
20354     &ett_h245_T38FaxUdpOptions,
20355     &ett_h245_T_t38FaxUdpEC,
20356     &ett_h245_T38FaxTcpOptions,
20357     &ett_h245_EncryptionAuthenticationAndIntegrity,
20358     &ett_h245_EncryptionCapability,
20359     &ett_h245_MediaEncryptionAlgorithm,
20360     &ett_h245_AuthenticationCapability,
20361     &ett_h245_IntegrityCapability,
20362     &ett_h245_UserInputCapability,
20363     &ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter,
20364     &ett_h245_ConferenceCapability,
20365     &ett_h245_SEQUENCE_OF_NonStandardParameter,
20366     &ett_h245_GenericCapability,
20367     &ett_h245_T_collapsing,
20368     &ett_h245_T_nonCollapsing,
20369     &ett_h245_CapabilityIdentifier,
20370     &ett_h245_GenericParameter,
20371     &ett_h245_SEQUENCE_OF_ParameterIdentifier,
20372     &ett_h245_ParameterIdentifier,
20373     &ett_h245_ParameterValue,
20374     &ett_h245_SEQUENCE_OF_GenericParameter,
20375     &ett_h245_MultiplexedStreamCapability,
20376     &ett_h245_MultiplexFormat,
20377     &ett_h245_AudioTelephonyEventCapability,
20378     &ett_h245_AudioToneCapability,
20379     &ett_h245_NoPTAudioTelephonyEventCapability,
20380     &ett_h245_NoPTAudioToneCapability,
20381     &ett_h245_MultiplePayloadStreamCapability,
20382     &ett_h245_DepFECCapability,
20383     &ett_h245_FECC_rfc2733,
20384     &ett_h245_T_separateStreamBool,
20385     &ett_h245_FECCapability,
20386     &ett_h245_Rfc2733Format,
20387     &ett_h245_OpenLogicalChannel,
20388     &ett_h245_T_forwardLogicalChannelParameters,
20389     &ett_h245_OLC_forw_multiplexParameters,
20390     &ett_h245_OLC_reverseLogicalChannelParameters,
20391     &ett_h245_OLC_rev_multiplexParameters,
20392     &ett_h245_NetworkAccessParameters,
20393     &ett_h245_T_distribution,
20394     &ett_h245_T_networkAddress,
20395     &ett_h245_T_t120SetupProcedure,
20396     &ett_h245_Q2931Address,
20397     &ett_h245_T_address,
20398     &ett_h245_V75Parameters,
20399     &ett_h245_DataType,
20400     &ett_h245_H235Media,
20401     &ett_h245_T_mediaType,
20402     &ett_h245_MultiplexedStreamParameter,
20403     &ett_h245_H222LogicalChannelParameters,
20404     &ett_h245_H223LogicalChannelParameters,
20405     &ett_h245_T_adaptationLayerType,
20406     &ett_h245_Al3,
20407     &ett_h245_H223AL1MParameters,
20408     &ett_h245_T_transferMode,
20409     &ett_h245_AL1HeaderFEC,
20410     &ett_h245_AL1CrcLength,
20411     &ett_h245_ArqType,
20412     &ett_h245_H223AL2MParameters,
20413     &ett_h245_AL2HeaderFEC,
20414     &ett_h245_H223AL3MParameters,
20415     &ett_h245_T_headerFormat,
20416     &ett_h245_AL3CrcLength,
20417     &ett_h245_H223AnnexCArqParameters,
20418     &ett_h245_T_numberOfRetransmissions,
20419     &ett_h245_V76LogicalChannelParameters,
20420     &ett_h245_T_suspendResume,
20421     &ett_h245_V76LCP_mode,
20422     &ett_h245_T_eRM,
20423     &ett_h245_T_recovery,
20424     &ett_h245_V76HDLCParameters,
20425     &ett_h245_CRCLength,
20426     &ett_h245_H2250LogicalChannelParameters,
20427     &ett_h245_T_mediaPacketization,
20428     &ett_h245_RTPPayloadType,
20429     &ett_h245_T_payloadDescriptor,
20430     &ett_h245_RedundancyEncoding,
20431     &ett_h245_T_rtpRedundancyEncoding,
20432     &ett_h245_SEQUENCE_OF_RedundancyEncodingElement,
20433     &ett_h245_RedundancyEncodingElement,
20434     &ett_h245_MultiplePayloadStream,
20435     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement,
20436     &ett_h245_MultiplePayloadStreamElement,
20437     &ett_h245_DepFECData,
20438     &ett_h245_RFC2733Data,
20439     &ett_h245_FECdata_mode,
20440     &ett_h245_DepSeparateStream,
20441     &ett_h245_T_differentPort,
20442     &ett_h245_T_samePort,
20443     &ett_h245_FECData,
20444     &ett_h245_T_rfc2733,
20445     &ett_h245_T_pktMode,
20446     &ett_h245_T_mode_rfc2733sameport,
20447     &ett_h245_T_mode_rfc2733diffport,
20448     &ett_h245_TransportAddress,
20449     &ett_h245_UnicastAddress,
20450     &ett_h245_T_iPAddress,
20451     &ett_h245_T_iPXAddress,
20452     &ett_h245_T_iP6Address,
20453     &ett_h245_T_iPSourceRouteAddress,
20454     &ett_h245_T_routing,
20455     &ett_h245_T_route,
20456     &ett_h245_MulticastAddress,
20457     &ett_h245_MIPAddress,
20458     &ett_h245_MIP6Address,
20459     &ett_h245_EncryptionSync,
20460     &ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData,
20461     &ett_h245_EscrowData,
20462     &ett_h245_OpenLogicalChannelAck,
20463     &ett_h245_OLC_ack_reverseLogicalChannelParameters,
20464     &ett_h245_T_olc_ack_multiplexParameters,
20465     &ett_h245_T_forwardMultiplexAckParameters,
20466     &ett_h245_OpenLogicalChannelReject,
20467     &ett_h245_OpenLogicalChannelRejectCause,
20468     &ett_h245_OpenLogicalChannelConfirm,
20469     &ett_h245_H2250LogicalChannelAckParameters,
20470     &ett_h245_CloseLogicalChannel,
20471     &ett_h245_T_cLC_source,
20472     &ett_h245_Clc_reason,
20473     &ett_h245_CloseLogicalChannelAck,
20474     &ett_h245_RequestChannelClose,
20475     &ett_h245_T_reason,
20476     &ett_h245_RequestChannelCloseAck,
20477     &ett_h245_RequestChannelCloseReject,
20478     &ett_h245_RequestChannelCloseRejectCause,
20479     &ett_h245_RequestChannelCloseRelease,
20480     &ett_h245_MultiplexEntrySend,
20481     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor,
20482     &ett_h245_MultiplexEntryDescriptor,
20483     &ett_h245_T_elementList,
20484     &ett_h245_MultiplexElement,
20485     &ett_h245_Me_type,
20486     &ett_h245_T_subElementList,
20487     &ett_h245_ME_repeatCount,
20488     &ett_h245_MultiplexEntrySendAck,
20489     &ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber,
20490     &ett_h245_MultiplexEntrySendReject,
20491     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions,
20492     &ett_h245_MultiplexEntryRejectionDescriptions,
20493     &ett_h245_MultiplexEntryRejectionDescriptionsCause,
20494     &ett_h245_MultiplexEntrySendRelease,
20495     &ett_h245_RequestMultiplexEntry,
20496     &ett_h245_RequestMultiplexEntryAck,
20497     &ett_h245_RequestMultiplexEntryReject,
20498     &ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions,
20499     &ett_h245_RequestMultiplexEntryRejectionDescriptions,
20500     &ett_h245_RequestMultiplexEntryRejectionDescriptionsCause,
20501     &ett_h245_RequestMultiplexEntryRelease,
20502     &ett_h245_RequestMode,
20503     &ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription,
20504     &ett_h245_RequestModeAck,
20505     &ett_h245_Req_mode_ack_response,
20506     &ett_h245_RequestModeReject,
20507     &ett_h245_RequestModeRejectCause,
20508     &ett_h245_RequestModeRelease,
20509     &ett_h245_ModeDescription,
20510     &ett_h245_ModeElementType,
20511     &ett_h245_ModeElement,
20512     &ett_h245_H235Mode,
20513     &ett_h245_T_mediaMode,
20514     &ett_h245_MultiplexedStreamModeParameters,
20515     &ett_h245_RedundancyEncodingDTMode,
20516     &ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement,
20517     &ett_h245_RedundancyEncodingDTModeElement,
20518     &ett_h245_Re_type,
20519     &ett_h245_MultiplePayloadStreamMode,
20520     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode,
20521     &ett_h245_MultiplePayloadStreamElementMode,
20522     &ett_h245_DepFECMode,
20523     &ett_h245_T_rfc2733Mode,
20524     &ett_h245_FEC_mode,
20525     &ett_h245_FECMode,
20526     &ett_h245_H223ModeParameters,
20527     &ett_h245_AdaptationLayerType,
20528     &ett_h245_V76ModeParameters,
20529     &ett_h245_H2250ModeParameters,
20530     &ett_h245_RedundancyEncodingMode,
20531     &ett_h245_T_secondaryEncodingMode,
20532     &ett_h245_VideoMode,
20533     &ett_h245_H261VideoMode,
20534     &ett_h245_H261Resolution,
20535     &ett_h245_H262VideoMode,
20536     &ett_h245_T_profileAndLevel,
20537     &ett_h245_H263VideoMode,
20538     &ett_h245_H263Resolution,
20539     &ett_h245_IS11172VideoMode,
20540     &ett_h245_AudioMode,
20541     &ett_h245_Mode_g7231,
20542     &ett_h245_IS11172AudioMode,
20543     &ett_h245_T_audioLayer,
20544     &ett_h245_T_audioSampling,
20545     &ett_h245_IS11172_multichannelType,
20546     &ett_h245_IS13818AudioMode,
20547     &ett_h245_IS13818AudioLayer,
20548     &ett_h245_IS13818AudioSampling,
20549     &ett_h245_IS13818MultichannelType,
20550     &ett_h245_G7231AnnexCMode,
20551     &ett_h245_VBDMode,
20552     &ett_h245_DataMode,
20553     &ett_h245_DataModeApplication,
20554     &ett_h245_T38faxApp,
20555     &ett_h245_EncryptionMode,
20556     &ett_h245_RoundTripDelayRequest,
20557     &ett_h245_RoundTripDelayResponse,
20558     &ett_h245_MaintenanceLoopRequest,
20559     &ett_h245_Mlr_type,
20560     &ett_h245_MaintenanceLoopAck,
20561     &ett_h245_Mla_type,
20562     &ett_h245_MaintenanceLoopReject,
20563     &ett_h245_Mlrej_type,
20564     &ett_h245_MaintenanceLoopRejectCause,
20565     &ett_h245_MaintenanceLoopOffCommand,
20566     &ett_h245_CommunicationModeCommand,
20567     &ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry,
20568     &ett_h245_CommunicationModeRequest,
20569     &ett_h245_CommunicationModeResponse,
20570     &ett_h245_CommunicationModeTableEntry,
20571     &ett_h245_T_entryDataType,
20572     &ett_h245_ConferenceRequest,
20573     &ett_h245_T_requestTerminalCertificate,
20574     &ett_h245_CertSelectionCriteria,
20575     &ett_h245_Criteria,
20576     &ett_h245_TerminalLabel,
20577     &ett_h245_ConferenceResponse,
20578     &ett_h245_T_mCTerminalIDResponse,
20579     &ett_h245_T_terminalIDResponse,
20580     &ett_h245_T_conferenceIDResponse,
20581     &ett_h245_T_passwordResponse,
20582     &ett_h245_SET_SIZE_1_256_OF_TerminalLabel,
20583     &ett_h245_T_makeMeChairResponse,
20584     &ett_h245_T_extensionAddressResponse,
20585     &ett_h245_T_chairTokenOwnerResponse,
20586     &ett_h245_T_terminalCertificateResponse,
20587     &ett_h245_T_broadcastMyLogicalChannelResponse,
20588     &ett_h245_T_makeTerminalBroadcasterResponse,
20589     &ett_h245_T_sendThisSourceResponse,
20590     &ett_h245_RequestAllTerminalIDsResponse,
20591     &ett_h245_SEQUENCE_OF_TerminalInformation,
20592     &ett_h245_TerminalInformation,
20593     &ett_h245_RemoteMCRequest,
20594     &ett_h245_RemoteMCResponse,
20595     &ett_h245_T_reject,
20596     &ett_h245_MultilinkRequest,
20597     &ett_h245_CallInformationReq,
20598     &ett_h245_AddConnectionReq,
20599     &ett_h245_RemoveConnectionReq,
20600     &ett_h245_MaximumHeaderIntervalReq,
20601     &ett_h245_T_requestType,
20602     &ett_h245_MultilinkResponse,
20603     &ett_h245_CallInformationResp,
20604     &ett_h245_AddConnectionResp,
20605     &ett_h245_T_responseCode,
20606     &ett_h245_T_rejected,
20607     &ett_h245_RemoveConnectionResp,
20608     &ett_h245_MaximumHeaderIntervalResp,
20609     &ett_h245_MultilinkIndication,
20610     &ett_h245_T_crcDesired,
20611     &ett_h245_T_excessiveError,
20612     &ett_h245_DialingInformation,
20613     &ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber,
20614     &ett_h245_DialingInformationNumber,
20615     &ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType,
20616     &ett_h245_DialingInformationNetworkType,
20617     &ett_h245_ConnectionIdentifier,
20618     &ett_h245_LogicalChannelRateRequest,
20619     &ett_h245_LogicalChannelRateAcknowledge,
20620     &ett_h245_LogicalChannelRateReject,
20621     &ett_h245_LogicalChannelRateRejectReason,
20622     &ett_h245_LogicalChannelRateRelease,
20623     &ett_h245_SendTerminalCapabilitySet,
20624     &ett_h245_T_specificRequest,
20625     &ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber,
20626     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber,
20627     &ett_h245_EncryptionCommand,
20628     &ett_h245_T_encryptionAlgorithmID,
20629     &ett_h245_FlowControlCommand,
20630     &ett_h245_Scope,
20631     &ett_h245_Restriction,
20632     &ett_h245_EndSessionCommand,
20633     &ett_h245_T_gstnOptions,
20634     &ett_h245_T_isdnOptions,
20635     &ett_h245_ConferenceCommand,
20636     &ett_h245_SubstituteConferenceIDCommand,
20637     &ett_h245_EncryptionUpdateDirection,
20638     &ett_h245_MiscellaneousCommand,
20639     &ett_h245_Mc_type,
20640     &ett_h245_T_videoFastUpdateGOB,
20641     &ett_h245_T_videoFastUpdateMB,
20642     &ett_h245_T_progressiveRefinementStart,
20643     &ett_h245_T_repeatCount,
20644     &ett_h245_T_videoBadMBs,
20645     &ett_h245_SEQUENCE_OF_PictureReference,
20646     &ett_h245_T_lostPartialPicture,
20647     &ett_h245_T_encryptionUpdateCommand,
20648     &ett_h245_T_encryptionUpdateAck,
20649     &ett_h245_KeyProtectionMethod,
20650     &ett_h245_EncryptionUpdateRequest,
20651     &ett_h245_PictureReference,
20652     &ett_h245_H223MultiplexReconfiguration,
20653     &ett_h245_T_h223ModeChange,
20654     &ett_h245_T_h223AnnexADoubleFlag,
20655     &ett_h245_NewATMVCCommand,
20656     &ett_h245_Cmd_aal,
20657     &ett_h245_Cmd_aal1,
20658     &ett_h245_Cmd_clockRecovery,
20659     &ett_h245_Cmd_errorCorrection,
20660     &ett_h245_Cmd_aal5,
20661     &ett_h245_Cmd_multiplex,
20662     &ett_h245_Cmd_reverseParameters,
20663     &ett_h245_CmdR_multiplex,
20664     &ett_h245_MobileMultilinkReconfigurationCommand,
20665     &ett_h245_T_status,
20666     &ett_h245_FunctionNotUnderstood,
20667     &ett_h245_FunctionNotSupported,
20668     &ett_h245_FunctionNotSupportedCause,
20669     &ett_h245_ConferenceIndication,
20670     &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
20671     &ett_h245_VideoIndicateCompose,
20672     &ett_h245_MiscellaneousIndication,
20673     &ett_h245_Mi_type,
20674     &ett_h245_T_videoNotDecodedMBs,
20675     &ett_h245_JitterIndication,
20676     &ett_h245_H223SkewIndication,
20677     &ett_h245_H2250MaximumSkewIndication,
20678     &ett_h245_MCLocationIndication,
20679     &ett_h245_VendorIdentification,
20680     &ett_h245_NewATMVCIndication,
20681     &ett_h245_Ind_aal,
20682     &ett_h245_Ind_aal1,
20683     &ett_h245_Ind_clockRecovery,
20684     &ett_h245_Ind_errorCorrection,
20685     &ett_h245_Ind_aal5,
20686     &ett_h245_Ind_multiplex,
20687     &ett_h245_Ind_reverseParameters,
20688     &ett_h245_IndR_multiplex,
20689     &ett_h245_Params,
20690     &ett_h245_UserInputIndication,
20691     &ett_h245_T_userInputSupportIndication,
20692     &ett_h245_T_signal,
20693     &ett_h245_T_rtp,
20694     &ett_h245_T_signalUpdate,
20695     &ett_h245_Si_rtp,
20696     &ett_h245_T_extendedAlphanumeric,
20697     &ett_h245_EncryptedAlphanumeric,
20698     &ett_h245_FlowControlIndication,
20699     &ett_h245_MobileMultilinkReconfigurationIndication,
20700
20701 /*--- End of included file: packet-h245-ettarr.c ---*/
20702 #line 482 "./asn1/h245/packet-h245-template.c"
20703   };
20704   module_t *h245_module;
20705
20706   /* Register protocol */
20707   proto_h245 = proto_register_protocol(PNAME, PSNAME, PFNAME);
20708   h223_pending_olc_reqs[P2P_DIR_SENT] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal );
20709   h223_pending_olc_reqs[P2P_DIR_RECV] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal );
20710   h245_pending_olc_reqs = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), wmem_str_hash, g_str_equal);
20711
20712   register_init_routine(h223_lc_init);
20713   /* Register fields and subtrees */
20714   proto_register_field_array(proto_h245, hf, array_length(hf));
20715   proto_register_subtree_array(ett, array_length(ett));
20716
20717   /* From Ronnie Sahlbergs original H245 dissector */
20718
20719   h245_module = prefs_register_protocol(proto_h245, NULL);
20720   prefs_register_bool_preference(h245_module, "reassembly",
20721                 "Reassemble H.245 messages spanning multiple TCP segments",
20722                 "Whether the H.245 dissector should reassemble messages spanning multiple TCP segments."
20723                 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
20724                 &h245_reassembly);
20725   prefs_register_bool_preference(h245_module, "shorttypes",
20726                 "Show short message types",
20727                 "Whether the dissector should show short names or the long names from the standard",
20728                 &h245_shorttypes);
20729   prefs_register_bool_preference(h245_module, "prepand",
20730     "Show h245 info in reversed order",
20731     "Whether the dissector should print items of h245 Info column in reversed order",
20732     &info_col_fmt_prepend);
20733   MultimediaSystemControlMessage_handle = register_dissector("h245dg", dissect_h245_h245, proto_h245);
20734   h245_handle = register_dissector("h245", dissect_h245, proto_h245);
20735
20736   nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", proto_h245, FT_STRING, BASE_NONE);
20737   nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", proto_h245, FT_UINT32, BASE_HEX);
20738   gef_name_dissector_table = register_dissector_table("h245.gef.name", "H.245 Generic Extensible Framework Name", proto_h245, FT_STRING, BASE_NONE);
20739   gef_content_dissector_table = register_dissector_table("h245.gef.content", "H.245 Generic Extensible Framework Content", proto_h245, FT_STRING, BASE_NONE);
20740
20741   h245_tap = register_tap("h245");
20742   h245dg_tap = register_tap("h245dg");
20743
20744   oid_add_from_string("h239ControlCapability","0.0.8.239.1.1");
20745   oid_add_from_string("h239ExtendedVideoCapability","0.0.8.239.1.2");
20746   oid_add_from_string("generic-message","0.0.8.239.2");
20747   oid_add_from_string("h245 version 3","0.0.8.245.0.3");
20748   oid_add_from_string("h245 version 4","0.0.8.245.0.4");
20749   oid_add_from_string("h245 version 5","0.0.8.245.0.5");
20750   oid_add_from_string("h245 version 6","0.0.8.245.0.6");
20751   oid_add_from_string("h245 version 7","0.0.8.245.0.7");
20752   oid_add_from_string("h245 version 8","0.0.8.245.0.8");
20753   oid_add_from_string("h245 version 9","0.0.8.245.0.9");
20754   oid_add_from_string("h245 version 10","0.0.8.245.0.10");
20755   oid_add_from_string("h245 version 11","0.0.8.245.0.11");
20756   oid_add_from_string("h245 version 12","0.0.8.245.0.12");
20757   oid_add_from_string("h245 version 13","0.0.8.245.0.13");
20758   /* This capability is defined in Annex E. */
20759   oid_add_from_string("ISO/IEC 14496-2 MPEG-4 video","0.0.8.245.1.0.0");
20760   /* This capability is defined in Annex H. */
20761   oid_add_from_string("ISO/IEC 14496-3 MPEG-4 audio","0.0.8.245.1.1.0");
20762   /* This capability is defined in Annex I. */
20763   oid_add_from_string("AMR","0.0.8.245.1.1.1");
20764   /* This capability is defined in Annex J. */
20765   oid_add_from_string("acelp","0.0.8.245.1.1.2");
20766   /* This capability is defined in Annex K. */
20767   oid_add_from_string("us1","0.0.8.245.1.1.3");
20768   /* This capability is defined in Annex L. */
20769   oid_add_from_string("is127evrc","0.0.8.245.1.1.4");
20770   /* This capability is defined in Annex M. */
20771   oid_add_from_string("ISO/IEC 13818-7","0.0.8.245.1.1.5");
20772   /* This capability is defined in Annex N. */
20773   oid_add_from_string("rfc3389","0.0.8.245.1.1.6");
20774   /* This capability is defined in Annex O. */
20775   oid_add_from_string("L-16","0.0.8.245.1.1.7");
20776   /* This capability is defined in Annex P. */
20777   oid_add_from_string("bounded-audio-stream","0.0.8.245.1.1.8");
20778   /* This capability is defined in Annex R. */
20779   oid_add_from_string("AMR-NB","0.0.8.245.1.1.9");
20780   /* This capability is defined in Annex R. */
20781   oid_add_from_string("AMR-WB","0.0.8.245.1.1.10");
20782   /* This capability is defined in Annex S. */
20783   oid_add_from_string("ilbc","0.0.8.245.1.1.11");
20784
20785   oid_add_from_string("ISO/IEC 14496-1","0.0.8.245.1.2.0");
20786   oid_add_from_string("Nx64","0.0.8.245.1.2.1");
20787   oid_add_from_string("logical-channel-bit-ratemanagement","0.0.8.245.1.3.0");
20788
20789   oid_add_from_string("h264 generic-capabilities","0.0.8.241.0.0.1");
20790   oid_add_from_string("iPpacketization_h241AnnexA(single NAL unit mode)","0.0.8.241.0.0.0.0");
20791   oid_add_from_string("iPpacketization_RFC3984NonInterleaved","0.0.8.241.0.0.0.1");
20792   oid_add_from_string("iPpacketization_RFC3984Interleaved","0.0.8.241.0.0.0.2");
20793 }
20794
20795
20796 /*--- proto_reg_handoff_h245 ---------------------------------------*/
20797 void proto_reg_handoff_h245(void) {
20798         rtcp_handle = find_dissector("rtcp");
20799         data_handle = find_dissector("data");
20800         h263_handle = find_dissector("h263data");
20801         amr_handle = find_dissector("amr_if2_nb");
20802
20803
20804         dissector_add_for_decode_as_with_preference("tcp.port", h245_handle);
20805         dissector_add_for_decode_as_with_preference("udp.port", MultimediaSystemControlMessage_handle);
20806 }
20807
20808 static void init_h245_packet_info(h245_packet_info *pi)
20809 {
20810         if(pi == NULL) {
20811                 return;
20812         }
20813
20814         pi->msg_type = H245_OTHER;
20815                 pi->frame_label[0] = '\0';
20816                 g_snprintf(pi->comment, sizeof(pi->comment), "H245 ");
20817 }
20818