Coverage Report

Created: 2026-01-02 06:13

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-h245.c
Line
Count
Source
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 -q -L -p h245 -c ./h245.cnf -s ./packet-h245-template -D . -O ../.. MULTIMEDIA-SYSTEM-CONTROL.asn */
5
6
/* packet-h245_asn1.c
7
 * Routines for h245 packet dissection
8
 * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
9
 *
10
 * Wireshark - Network traffic analyzer
11
 * By Gerald Combs <gerald@wireshark.org>
12
 * Copyright 1998 Gerald Combs
13
 *
14
 * SPDX-License-Identifier: GPL-2.0-or-later
15
 *
16
 * To quote the author of the previous H245 dissector:
17
 *   "This is a complete replacement of the previous limited dissector
18
 * that Ronnie was crazy enough to write by hand. It was a lot of time
19
 * to hack it by hand, but it is incomplete and buggy and it is good when
20
 * it will go away."
21
 * Ronnie did a great job and all the VoIP users had made good use of it!
22
 * Credit to Tomas Kukosa for developing the asn2wrs compiler.
23
 *
24
 */
25
26
#include "config.h"
27
28
#include <epan/packet.h>
29
#include <epan/exceptions.h>
30
#include <epan/strutil.h>
31
#include <epan/addr_resolv.h>
32
#include <epan/prefs.h>
33
#include <epan/t35.h>
34
#include <epan/oids.h>
35
#include <epan/asn1.h>
36
#include <epan/proto_data.h>
37
#include <epan/tap.h>
38
#include <wsutil/pint.h>
39
#include <wsutil/array.h>
40
#include "packet-tpkt.h"
41
#include "packet-per.h"
42
#include "packet-h323.h"
43
#include "packet-h245.h"
44
#include "packet-rtp.h"
45
#include "packet-rtcp.h"
46
#include "packet-t38.h"
47
48
14
#define PNAME  "MULTIMEDIA-SYSTEM-CONTROL"
49
14
#define PSNAME "H.245"
50
14
#define PFNAME "h245"
51
52
void proto_register_h245(void);
53
void proto_reg_handoff_h245(void);
54
55
static dissector_handle_t rtcp_handle;
56
static dissector_table_t nsp_object_dissector_table;
57
static dissector_table_t nsp_h221_dissector_table;
58
static dissector_table_t gef_name_dissector_table;
59
static dissector_table_t gef_content_dissector_table;
60
static dissector_handle_t h245_handle;
61
static dissector_handle_t nsp_handle;
62
static dissector_handle_t data_handle;
63
static dissector_handle_t MultimediaSystemControlMessage_handle;
64
static dissector_handle_t h263_handle;
65
static dissector_handle_t amr_handle;
66
67
static void init_h245_packet_info(h245_packet_info *pi);
68
static int hf_h245_pdu_type;
69
static int hf_h245Manufacturer;
70
static int hf_h245_subMessageIdentifier_standard;
71
static int h245_tap;
72
static int h245dg_tap;
73
static int hf_h245_debug_dissector_try_string;
74
75
h245_packet_info *h245_pi=NULL;
76
77
static bool h245_reassembly = true;
78
static bool h245_shorttypes;
79
static bool info_col_fmt_prepend;
80
81
82
typedef enum _AudioCapability_enum {
83
  AudioCapability_nonStandard =   0,
84
  AudioCapability_g711Alaw64k =   1,
85
  AudioCapability_g711Alaw56k =   2,
86
  AudioCapability_g711Ulaw64k =   3,
87
  AudioCapability_g711Ulaw56k =   4,
88
  AudioCapability_g722_64k =   5,
89
  AudioCapability_g722_56k =   6,
90
  AudioCapability_g722_48k =   7,
91
  AudioCapability_g7231 =   8,
92
  AudioCapability_g728 =   9,
93
  AudioCapability_g729 =  10,
94
  AudioCapability_g729AnnexA =  11,
95
  AudioCapability_is11172AudioCapability =  12,
96
  AudioCapability_is13818AudioCapability =  13,
97
  AudioCapability_g729wAnnexB =  14,
98
  AudioCapability_g729AnnexAwAnnexB =  15,
99
  AudioCapability_g7231AnnexCCapability =  16,
100
  AudioCapability_gsmFullRate =  17,
101
  AudioCapability_gsmHalfRate =  18,
102
  AudioCapability_gsmEnhancedFullRate =  19,
103
  AudioCapability_genericAudioCapability =  20,
104
  AudioCapability_g729Extensions =  21,
105
  AudioCapability_vbd =  22,
106
  AudioCapability_audioTelephonyEvent =  23,
107
  AudioCapability_audioTone =  24
108
} AudioCapability_enum;
109
110
typedef enum _RequestMessage_enum {
111
  RequestMessage_nonStandard =   0,
112
  RequestMessage_masterSlaveDetermination =   1,
113
  RequestMessage_terminalCapabilitySet =   2,
114
  RequestMessage_openLogicalChannel =   3,
115
  RequestMessage_closeLogicalChannel =   4,
116
  RequestMessage_requestChannelClose =   5,
117
  RequestMessage_multiplexEntrySend =   6,
118
  RequestMessage_requestMultiplexEntry =   7,
119
  RequestMessage_requestMode =   8,
120
  RequestMessage_roundTripDelayRequest =   9,
121
  RequestMessage_maintenanceLoopRequest =  10,
122
  RequestMessage_communicationModeRequest =  11,
123
  RequestMessage_conferenceRequest =  12,
124
  RequestMessage_multilinkRequest =  13,
125
  RequestMessage_logicalChannelRateRequest =  14,
126
  RequestMessage_genericRequest =  15
127
} RequestMessage_enum;
128
129
typedef enum _ResponseMessage_enum {
130
  ResponseMessage_nonStandard =   0,
131
  ResponseMessage_masterSlaveDeterminationAck =   1,
132
  ResponseMessage_masterSlaveDeterminationReject =   2,
133
  ResponseMessage_terminalCapabilitySetAck =   3,
134
  ResponseMessage_terminalCapabilitySetReject =   4,
135
  ResponseMessage_openLogicalChannelAck =   5,
136
  ResponseMessage_openLogicalChannelReject =   6,
137
  ResponseMessage_closeLogicalChannelAck =   7,
138
  ResponseMessage_requestChannelCloseAck =   8,
139
  ResponseMessage_requestChannelCloseReject =   9,
140
  ResponseMessage_multiplexEntrySendAck =  10,
141
  ResponseMessage_multiplexEntrySendReject =  11,
142
  ResponseMessage_requestMultiplexEntryAck =  12,
143
  ResponseMessage_requestMultiplexEntryReject =  13,
144
  ResponseMessage_requestModeAck =  14,
145
  ResponseMessage_requestModeReject =  15,
146
  ResponseMessage_roundTripDelayResponse =  16,
147
  ResponseMessage_maintenanceLoopAck =  17,
148
  ResponseMessage_maintenanceLoopReject =  18,
149
  ResponseMessage_communicationModeResponse =  19,
150
  ResponseMessage_conferenceResponse =  20,
151
  ResponseMessage_multilinkResponse =  21,
152
  ResponseMessage_logicalChannelRateAcknowledge =  22,
153
  ResponseMessage_logicalChannelRateReject =  23,
154
  ResponseMessage_genericResponse =  24
155
} ResponseMessage_enum;
156
157
typedef enum _CommandMessage_enum {
158
  CommandMessage_nonStandard =   0,
159
  CommandMessage_maintenanceLoopOffCommand =   1,
160
  CommandMessage_sendTerminalCapabilitySet =   2,
161
  CommandMessage_encryptionCommand =   3,
162
  CommandMessage_flowControlCommand =   4,
163
  CommandMessage_endSessionCommand =   5,
164
  CommandMessage_miscellaneousCommand =   6,
165
  CommandMessage_communicationModeCommand =   7,
166
  CommandMessage_conferenceCommand =   8,
167
  CommandMessage_h223MultiplexReconfiguration =   9,
168
  CommandMessage_newATMVCCommand =  10,
169
  CommandMessage_mobileMultilinkReconfigurationCommand =  11,
170
  CommandMessage_genericCommand =  12
171
} CommandMessage_enum;
172
173
typedef enum _IndicationMessage_enum {
174
  IndicationMessage_nonStandard =   0,
175
  IndicationMessage_functionNotUnderstood =   1,
176
  IndicationMessage_masterSlaveDeterminationRelease =   2,
177
  IndicationMessage_terminalCapabilitySetRelease =   3,
178
  IndicationMessage_openLogicalChannelConfirm =   4,
179
  IndicationMessage_requestChannelCloseRelease =   5,
180
  IndicationMessage_multiplexEntrySendRelease =   6,
181
  IndicationMessage_requestMultiplexEntryRelease =   7,
182
  IndicationMessage_requestModeRelease =   8,
183
  IndicationMessage_miscellaneousIndication =   9,
184
  IndicationMessage_jitterIndication =  10,
185
  IndicationMessage_h223SkewIndication =  11,
186
  IndicationMessage_newATMVCIndication =  12,
187
  IndicationMessage_userInput =  13,
188
  IndicationMessage_h2250MaximumSkewIndication =  14,
189
  IndicationMessage_mcLocationIndication =  15,
190
  IndicationMessage_conferenceIndication =  16,
191
  IndicationMessage_vendorIdentification =  17,
192
  IndicationMessage_functionNotSupported =  18,
193
  IndicationMessage_multilinkIndication =  19,
194
  IndicationMessage_logicalChannelRateRelease =  20,
195
  IndicationMessage_flowControlIndication =  21,
196
  IndicationMessage_mobileMultilinkReconfigurationIndication =  22,
197
  IndicationMessage_genericIndication =  23
198
} IndicationMessage_enum;
199
200
static const value_string h245_RequestMessage_short_vals[] = {
201
  { RequestMessage_nonStandard              , "NSM" },
202
  { RequestMessage_masterSlaveDetermination , "MSD" },
203
  { RequestMessage_terminalCapabilitySet    , "TCS" },
204
  { RequestMessage_openLogicalChannel       , "OLC" },
205
  { RequestMessage_closeLogicalChannel      , "CLC" },
206
  { RequestMessage_requestChannelClose      , "RCC" },
207
  { RequestMessage_multiplexEntrySend       , "MES" },
208
  { RequestMessage_requestMultiplexEntry    , "RME" },
209
  { RequestMessage_requestMode              , "RM"  },
210
  { RequestMessage_roundTripDelayRequest    , "RTDR" },
211
  { RequestMessage_maintenanceLoopRequest   , "MLR" },
212
  { RequestMessage_communicationModeRequest , "CMR" },
213
  { RequestMessage_conferenceRequest        , "CR"  },
214
  { RequestMessage_multilinkRequest         , "MR"  },
215
  { RequestMessage_logicalChannelRateRequest, "LCRR" },
216
  { RequestMessage_genericRequest           , "GR"  },
217
  {  0, NULL }
218
};
219
static const value_string h245_ResponseMessage_short_vals[] = {
220
  { ResponseMessage_nonStandard                   , "NSM" },
221
  { ResponseMessage_masterSlaveDeterminationAck   , "MSDAck" },
222
  { ResponseMessage_masterSlaveDeterminationReject, "MSDReject" },
223
  { ResponseMessage_terminalCapabilitySetAck      , "TCSAck" },
224
  { ResponseMessage_terminalCapabilitySetReject   , "TCSReject" },
225
  { ResponseMessage_openLogicalChannelAck         , "OLCAck" },
226
  { ResponseMessage_openLogicalChannelReject      , "OLCReject" },
227
  { ResponseMessage_closeLogicalChannelAck        , "CLCAck" },
228
  { ResponseMessage_requestChannelCloseAck        , "RCCAck" },
229
  { ResponseMessage_requestChannelCloseReject     , "RCCReject" },
230
  { ResponseMessage_multiplexEntrySendAck         , "MESAck" },
231
  { ResponseMessage_multiplexEntrySendReject      , "MESReject" },
232
  { ResponseMessage_requestMultiplexEntryAck      , "RMEAck" },
233
  { ResponseMessage_requestMultiplexEntryReject   , "RMEReject" },
234
  { ResponseMessage_requestModeAck                , "RMAck" },
235
  { ResponseMessage_requestModeReject             , "RMReject" },
236
  { ResponseMessage_roundTripDelayResponse        , "RTDResponse" },
237
  { ResponseMessage_maintenanceLoopAck            , "MLAck" },
238
  { ResponseMessage_maintenanceLoopReject         , "MLReject" },
239
  { ResponseMessage_communicationModeResponse     , "CMResponse" },
240
  { ResponseMessage_conferenceResponse            , "CResponse" },
241
  { ResponseMessage_multilinkResponse             , "MResponse" },
242
  { ResponseMessage_logicalChannelRateAcknowledge , "LCRAck" },
243
  { ResponseMessage_logicalChannelRateReject      , "LCRReject" },
244
  { ResponseMessage_genericResponse               , "GR" },
245
  {  0, NULL }
246
};
247
static const value_string h245_IndicationMessage_short_vals[] = {
248
  { IndicationMessage_nonStandard                             , "NSM" },
249
  { IndicationMessage_functionNotUnderstood                   , "FNU" },
250
  { IndicationMessage_masterSlaveDeterminationRelease         , "MSDRelease" },
251
  { IndicationMessage_terminalCapabilitySetRelease            , "TCSRelease" },
252
  { IndicationMessage_openLogicalChannelConfirm               , "OLCConfirm" },
253
  { IndicationMessage_requestChannelCloseRelease              , "RCCRelease" },
254
  { IndicationMessage_multiplexEntrySendRelease               , "MESRelease" },
255
  { IndicationMessage_requestMultiplexEntryRelease            , "RMERelease" },
256
  { IndicationMessage_requestModeRelease                      , "RMRelease" },
257
  { IndicationMessage_miscellaneousIndication                 , "MI" },
258
  { IndicationMessage_jitterIndication                        , "JI" },
259
  { IndicationMessage_h223SkewIndication                      , "H223SI" },
260
  { IndicationMessage_newATMVCIndication                      , "NATMVCI" },
261
  { IndicationMessage_userInput                               , "UII" },
262
  { IndicationMessage_h2250MaximumSkewIndication              , "H2250MSI" },
263
  { IndicationMessage_mcLocationIndication                    , "MCLI" },
264
  { IndicationMessage_conferenceIndication                    , "CI" },
265
  { IndicationMessage_vendorIdentification                    , "VI" },
266
  { IndicationMessage_functionNotSupported                    , "FNS" },
267
  { IndicationMessage_multilinkIndication                     , "MultilinkIndication" },
268
  { IndicationMessage_logicalChannelRateRelease               , "LCRRelease" },
269
  { IndicationMessage_flowControlIndication                   , "FCIndication" },
270
  { IndicationMessage_mobileMultilinkReconfigurationIndication, "MMRI" },
271
  { IndicationMessage_genericIndication                       , "GI" },
272
  {  0, NULL }
273
};
274
static const value_string h245_CommandMessage_short_vals[] = {
275
  { CommandMessage_nonStandard                          , "NSM" },
276
  { CommandMessage_maintenanceLoopOffCommand            , "MLOC" },
277
  { CommandMessage_sendTerminalCapabilitySet            , "STCS" },
278
  { CommandMessage_encryptionCommand                    , "EC" },
279
  { CommandMessage_flowControlCommand                   , "FCC" },
280
  { CommandMessage_endSessionCommand                    , "ESC" },
281
  { CommandMessage_miscellaneousCommand                 , "MC" },
282
  { CommandMessage_communicationModeCommand             , "CMC" },
283
  { CommandMessage_conferenceCommand                    , "CC" },
284
  { CommandMessage_h223MultiplexReconfiguration         , "H223MR" },
285
  { CommandMessage_newATMVCCommand                      , "NATMVCC" },
286
  { CommandMessage_mobileMultilinkReconfigurationCommand, "MMRC" },
287
  { CommandMessage_genericCommand                       , "GC" },
288
  {  0, NULL }
289
};
290
291
static const value_string h245_AudioCapability_short_vals[] = {
292
  { AudioCapability_nonStandard           , "nonStd" },
293
  { AudioCapability_g711Alaw64k           , "g711A" },
294
  { AudioCapability_g711Alaw56k           , "g711A56k" },
295
  { AudioCapability_g711Ulaw64k           , "g711U" },
296
  { AudioCapability_g711Ulaw56k           , "g711U56k" },
297
  { AudioCapability_g722_64k              , "g722-64k" },
298
  { AudioCapability_g722_56k              , "g722-56k" },
299
  { AudioCapability_g722_48k              , "g722-48k" },
300
  { AudioCapability_g7231                 , "g7231" },
301
  { AudioCapability_g728                  , "g728" },
302
  { AudioCapability_g729                  , "g729" },
303
  { AudioCapability_g729AnnexA            , "g729A" },
304
  { AudioCapability_is11172AudioCapability, "is11172" },
305
  { AudioCapability_is13818AudioCapability, "is13818" },
306
  { AudioCapability_g729wAnnexB           , "g729B" },
307
  { AudioCapability_g729AnnexAwAnnexB     , "g729AB" },
308
  { AudioCapability_g7231AnnexCCapability , "g7231C" },
309
  { AudioCapability_gsmFullRate           , "gsmFR" },
310
  { AudioCapability_gsmHalfRate           , "gsmHR" },
311
  { AudioCapability_gsmEnhancedFullRate   , "gsmEFR" },
312
  { AudioCapability_genericAudioCapability, "generic" },
313
  { AudioCapability_g729Extensions        , "g729Ext" },
314
  { AudioCapability_vbd                   , "vbd" },
315
  { AudioCapability_audioTelephonyEvent   , "audioTelEvent" },
316
  { AudioCapability_audioTone             , "audioTone" },
317
  {  0, NULL }
318
};
319
320
/* To put the codec type only in COL_INFO when
321
   an OLC is read */
322
const char* codec_type;
323
static uint32_t rfc_number;
324
325
typedef struct _unicast_addr_t {
326
  address addr;
327
  uint8_t addr_buf[16];
328
  uint32_t port;
329
} unicast_addr_t;
330
331
typedef struct _channel_info_t {
332
  char data_type_str[32];
333
  unicast_addr_t *upcoming_addr;
334
  unicast_addr_t media_addr;
335
  unicast_addr_t media_control_addr;
336
  unsigned int rfc2198;
337
  bool srtp_flag;
338
  bool is_video;
339
} channel_info_t;
340
341
typedef struct _olc_info_t {
342
  uint16_t fwd_lc_num;
343
  channel_info_t fwd_lc;
344
  channel_info_t rev_lc;
345
} olc_info_t;
346
347
static wmem_map_t* h245_pending_olc_reqs;
348
static bool fast_start;
349
static olc_info_t *upcoming_olc;
350
static channel_info_t *upcoming_channel;
351
352
/* NonStandardParameter */
353
static const char *nsiOID;
354
static uint32_t h221NonStandard;
355
static uint32_t t35CountryCode;
356
static uint32_t t35Extension;
357
static uint32_t manufacturerCode;
358
359
static const value_string h245_RFC_number_vals[] = {
360
  {  2190,  "RFC 2190 - H.263 Video Streams" },
361
  {  2198,  "RFC 2198 - RTP Payload for Redundant Audio Data" },
362
  {  2429,  "RFC 2429 - 1998 Version of ITU-T Rec. H.263 Video (H.263+)" },
363
  {  3016,  "RFC 3016 - RTP Payload Format for MPEG-4 Audio/Visual Streams" },
364
  {  3267,  "RFC 3267 - Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB)" },
365
  {  3984,  "RFC 3984 - RTP Payload Format for H.264 Video" },
366
  {  0, NULL }
367
};
368
369
/* Table 7/H.239 subMessageIdentifier values */
370
static const value_string h245_h239subMessageIdentifier_vals[] = {
371
  {   1, "flowControlReleaseRequest" },
372
  {   2, "flowControlReleaseResponse" },
373
  {   3, "presentationTokenRequest" },
374
  {   4, "presentationTokenResponse" },
375
  {   5, "presentationTokenRelease" },
376
  {   6, "presentationTokenIndicateOwner" },
377
  { 0, NULL }
378
};
379
380
381
/* h223 multiplex codes */
382
static h223_set_mc_handle_t h223_set_mc_handle;
383
h223_mux_element *h223_me=NULL;
384
uint8_t h223_mc=0;
385
void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle )
386
14
{
387
14
  h223_set_mc_handle = handle;
388
14
}
389
390
/* h223 logical channels */
391
typedef struct {
392
  h223_lc_params *fw_channel_params;
393
  h223_lc_params *rev_channel_params;
394
} h223_pending_olc;
395
396
static wmem_map_t*          h223_pending_olc_reqs[2];
397
static dissector_handle_t   h245_lc_dissector;
398
static uint16_t             h245_lc_temp;
399
static uint16_t             h223_fw_lc_num;
400
static uint16_t             h223_rev_lc_num;
401
static h223_lc_params      *h223_lc_params_temp;
402
static h223_lc_params      *h223_fw_lc_params;
403
static h223_lc_params      *h223_rev_lc_params;
404
static h223_add_lc_handle_t h223_add_lc_handle;
405
406
static void h223_lc_init( void )
407
14
{
408
14
  h223_lc_params_temp = NULL;
409
14
  h245_lc_dissector = NULL;
410
14
  h223_fw_lc_num = 0;
411
14
}
412
413
void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle )
414
14
{
415
14
  h223_add_lc_handle = handle;
416
14
}
417
418
static const char *gen_olc_key(uint16_t lc_num, address *dst_addr, address *src_addr, wmem_allocator_t *scope)
419
0
{
420
0
  return wmem_strdup_printf(scope, "%s/%s/%u",
421
0
          address_to_str(scope, dst_addr),
422
0
          address_to_str(scope, src_addr),
423
0
          lc_num);
424
0
}
425
426
static void update_unicast_addr(unicast_addr_t *req_addr, unicast_addr_t *ack_addr)
427
0
{
428
0
  if (ack_addr->addr.type!=AT_NONE && ack_addr->port!=0) {
429
0
    memcpy(req_addr->addr_buf, ack_addr->addr_buf, sizeof(req_addr->addr_buf));
430
0
    set_address(&req_addr->addr, ack_addr->addr.type, ack_addr->addr.len, req_addr->addr_buf);
431
0
    req_addr->port = ack_addr->port;
432
0
  }
433
0
}
434
435
static void h245_setup_channels(packet_info *pinfo, channel_info_t *upcoming_channel_lcl)
436
0
{
437
0
  rtp_dyn_payload_t *rtp_dyn_payload = NULL;
438
0
  struct srtp_info *dummy_srtp_info = NULL;
439
440
0
  if (!upcoming_channel_lcl) return;
441
442
  /* T.38 */
443
0
  if (!strcmp(upcoming_channel_lcl->data_type_str, "t38fax")) {
444
0
    if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0) {
445
0
      t38_add_address(pinfo, &upcoming_channel_lcl->media_addr.addr,
446
0
              upcoming_channel_lcl->media_addr.port, 0,
447
0
              "H245", pinfo->num);
448
0
    }
449
0
    return;
450
0
  }
451
452
  /* (S)RTP, (S)RTCP */
453
0
  if (upcoming_channel_lcl->rfc2198 > 0) {
454
0
    rtp_dyn_payload = rtp_dyn_payload_new();
455
0
    rtp_dyn_payload_insert(rtp_dyn_payload, upcoming_channel_lcl->rfc2198, "red", 8000, 1);
456
0
  }
457
458
0
  if (upcoming_channel_lcl->srtp_flag) {
459
0
    dummy_srtp_info = wmem_new0(wmem_file_scope(), struct srtp_info);
460
0
  }
461
462
  /* DEBUG  ws_warning("h245_setup_channels media_addr.addr.type %u port %u",upcoming_channel_lcl->media_addr.addr.type, upcoming_channel_lcl->media_addr.port );
463
  */
464
0
  if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0) {
465
0
    srtp_add_address(pinfo, PT_UDP, &upcoming_channel_lcl->media_addr.addr,
466
0
            upcoming_channel_lcl->media_addr.port, 0,
467
0
            "H245", pinfo->num, upcoming_channel_lcl->is_video , rtp_dyn_payload, dummy_srtp_info, NULL);
468
0
  }
469
0
  if (upcoming_channel_lcl->media_control_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_control_addr.port!=0 && rtcp_handle) {
470
0
    srtcp_add_address(pinfo, &upcoming_channel_lcl->media_control_addr.addr,
471
0
            upcoming_channel_lcl->media_control_addr.port, 0,
472
0
            "H245", pinfo->num, dummy_srtp_info);
473
0
  }
474
0
}
475
476
/* Prints formated information column of h245 messages. Note that global variables
477
 * "h245_shorttypes" and "info_col_fmt_prepend" are used to decide formating preferences */
478
static void print_info_column(column_info *cinfo, const int32_t *value,
479
    const value_string *msg_vals, const value_string *short_msg_vals)
480
0
{
481
0
  const value_string *vals;
482
483
0
  if (h245_shorttypes == false || short_msg_vals == NULL) {
484
0
    vals = msg_vals;
485
0
  } else {
486
0
    vals = short_msg_vals;
487
0
  }
488
489
0
  if (info_col_fmt_prepend == false) {
490
0
    col_append_fstr(cinfo, COL_INFO, "%s ", val_to_str_const(*value, vals, "<unknown>"));
491
0
  } else {
492
0
    col_prepend_fstr(cinfo, COL_INFO, "%s ", val_to_str_const(*value, vals, "<unknown>"));
493
0
  }
494
0
}
495
496
/* Initialize the protocol and registered fields */
497
static int proto_h245;
498
static int hf_h245_OpenLogicalChannel_PDU;        /* OpenLogicalChannel */
499
static int hf_h245_request;                       /* RequestMessage */
500
static int hf_h245_response;                      /* ResponseMessage */
501
static int hf_h245_command;                       /* CommandMessage */
502
static int hf_h245_indication;                    /* IndicationMessage */
503
static int hf_h245_nonStandardMsg;                /* NonStandardMessage */
504
static int hf_h245_masterSlaveDetermination;      /* MasterSlaveDetermination */
505
static int hf_h245_terminalCapabilitySet;         /* TerminalCapabilitySet */
506
static int hf_h245_openLogicalChannel;            /* OpenLogicalChannel */
507
static int hf_h245_closeLogicalChannel;           /* CloseLogicalChannel */
508
static int hf_h245_requestChannelClose;           /* RequestChannelClose */
509
static int hf_h245_multiplexEntrySend;            /* MultiplexEntrySend */
510
static int hf_h245_requestMultiplexEntry;         /* RequestMultiplexEntry */
511
static int hf_h245_requestMode;                   /* RequestMode */
512
static int hf_h245_roundTripDelayRequest;         /* RoundTripDelayRequest */
513
static int hf_h245_maintenanceLoopRequest;        /* MaintenanceLoopRequest */
514
static int hf_h245_communicationModeRequest;      /* CommunicationModeRequest */
515
static int hf_h245_conferenceRequest;             /* ConferenceRequest */
516
static int hf_h245_multilinkRequest;              /* MultilinkRequest */
517
static int hf_h245_logicalChannelRateRequest;     /* LogicalChannelRateRequest */
518
static int hf_h245_genericRequest;                /* GenericMessage */
519
static int hf_h245_masterSlaveDeterminationAck;   /* MasterSlaveDeterminationAck */
520
static int hf_h245_masterSlaveDeterminationReject;  /* MasterSlaveDeterminationReject */
521
static int hf_h245_terminalCapabilitySetAck;      /* TerminalCapabilitySetAck */
522
static int hf_h245_terminalCapabilitySetReject;   /* TerminalCapabilitySetReject */
523
static int hf_h245_openLogicalChannelAck;         /* OpenLogicalChannelAck */
524
static int hf_h245_openLogicalChannelReject;      /* OpenLogicalChannelReject */
525
static int hf_h245_closeLogicalChannelAck;        /* CloseLogicalChannelAck */
526
static int hf_h245_requestChannelCloseAck;        /* RequestChannelCloseAck */
527
static int hf_h245_requestChannelCloseReject;     /* RequestChannelCloseReject */
528
static int hf_h245_multiplexEntrySendAck;         /* MultiplexEntrySendAck */
529
static int hf_h245_multiplexEntrySendReject;      /* MultiplexEntrySendReject */
530
static int hf_h245_requestMultiplexEntryAck;      /* RequestMultiplexEntryAck */
531
static int hf_h245_requestMultiplexEntryReject;   /* RequestMultiplexEntryReject */
532
static int hf_h245_requestModeAck;                /* RequestModeAck */
533
static int hf_h245_requestModeReject;             /* RequestModeReject */
534
static int hf_h245_roundTripDelayResponse;        /* RoundTripDelayResponse */
535
static int hf_h245_maintenanceLoopAck;            /* MaintenanceLoopAck */
536
static int hf_h245_maintenanceLoopReject;         /* MaintenanceLoopReject */
537
static int hf_h245_communicationModeResponse;     /* CommunicationModeResponse */
538
static int hf_h245_conferenceResponse;            /* ConferenceResponse */
539
static int hf_h245_multilinkResponse;             /* MultilinkResponse */
540
static int hf_h245_logicalChannelRateAcknowledge;  /* LogicalChannelRateAcknowledge */
541
static int hf_h245_logicalChannelRateReject;      /* LogicalChannelRateReject */
542
static int hf_h245_genericResponse;               /* GenericMessage */
543
static int hf_h245_maintenanceLoopOffCommand;     /* MaintenanceLoopOffCommand */
544
static int hf_h245_sendTerminalCapabilitySet;     /* SendTerminalCapabilitySet */
545
static int hf_h245_encryptionCommand;             /* EncryptionCommand */
546
static int hf_h245_flowControlCommand;            /* FlowControlCommand */
547
static int hf_h245_endSessionCommand;             /* EndSessionCommand */
548
static int hf_h245_miscellaneousCommand;          /* MiscellaneousCommand */
549
static int hf_h245_communicationModeCommand;      /* CommunicationModeCommand */
550
static int hf_h245_conferenceCommand;             /* ConferenceCommand */
551
static int hf_h245_h223MultiplexReconfiguration;  /* H223MultiplexReconfiguration */
552
static int hf_h245_newATMVCCommand;               /* NewATMVCCommand */
553
static int hf_h245_mobileMultilinkReconfigurationCommand;  /* MobileMultilinkReconfigurationCommand */
554
static int hf_h245_genericCommand;                /* GenericMessage */
555
static int hf_h245_functionNotUnderstood;         /* FunctionNotUnderstood */
556
static int hf_h245_masterSlaveDeterminationRelease;  /* MasterSlaveDeterminationRelease */
557
static int hf_h245_terminalCapabilitySetRelease;  /* TerminalCapabilitySetRelease */
558
static int hf_h245_openLogicalChannelConfirm;     /* OpenLogicalChannelConfirm */
559
static int hf_h245_requestChannelCloseRelease;    /* RequestChannelCloseRelease */
560
static int hf_h245_multiplexEntrySendRelease;     /* MultiplexEntrySendRelease */
561
static int hf_h245_requestMultiplexEntryRelease;  /* RequestMultiplexEntryRelease */
562
static int hf_h245_requestModeRelease;            /* RequestModeRelease */
563
static int hf_h245_miscellaneousIndication;       /* MiscellaneousIndication */
564
static int hf_h245_jitterIndication;              /* JitterIndication */
565
static int hf_h245_h223SkewIndication;            /* H223SkewIndication */
566
static int hf_h245_newATMVCIndication;            /* NewATMVCIndication */
567
static int hf_h245_userInput;                     /* UserInputIndication */
568
static int hf_h245_h2250MaximumSkewIndication;    /* H2250MaximumSkewIndication */
569
static int hf_h245_mcLocationIndication;          /* MCLocationIndication */
570
static int hf_h245_conferenceIndication;          /* ConferenceIndication */
571
static int hf_h245_vendorIdentification;          /* VendorIdentification */
572
static int hf_h245_functionNotSupported;          /* FunctionNotSupported */
573
static int hf_h245_multilinkIndication;           /* MultilinkIndication */
574
static int hf_h245_logicalChannelRateRelease;     /* LogicalChannelRateRelease */
575
static int hf_h245_flowControlIndication;         /* FlowControlIndication */
576
static int hf_h245_mobileMultilinkReconfigurationIndication;  /* MobileMultilinkReconfigurationIndication */
577
static int hf_h245_genericIndication;             /* GenericMessage */
578
static int hf_h245_messageIdentifier;             /* CapabilityIdentifier */
579
static int hf_h245_subMessageIdentifier;          /* T_subMessageIdentifier */
580
static int hf_h245_messageContent;                /* T_messageContent */
581
static int hf_h245_messageContent_item;           /* T_messageContent_item */
582
static int hf_h245_nonStandardData;               /* NonStandardParameter */
583
static int hf_h245_nonStandardIdentifier;         /* NonStandardIdentifier */
584
static int hf_h245_nsd_data;                      /* T_nsd_data */
585
static int hf_h245_object;                        /* T_object */
586
static int hf_h245_h221NonStandardID;             /* H221NonStandardID */
587
static int hf_h245_t35CountryCode;                /* T_t35CountryCode */
588
static int hf_h245_t35Extension;                  /* T_t35Extension */
589
static int hf_h245_manufacturerCode;              /* T_manufacturerCode */
590
static int hf_h245_terminalType;                  /* INTEGER_0_255 */
591
static int hf_h245_statusDeterminationNumber;     /* INTEGER_0_16777215 */
592
static int hf_h245_decision;                      /* T_decision */
593
static int hf_h245_master;                        /* NULL */
594
static int hf_h245_slave;                         /* NULL */
595
static int hf_h245_msd_rej_cause;                 /* MasterSlaveDeterminationRejectCause */
596
static int hf_h245_identicalNumbers;              /* NULL */
597
static int hf_h245_sequenceNumber;                /* SequenceNumber */
598
static int hf_h245_protocolIdentifier;            /* OBJECT_IDENTIFIER */
599
static int hf_h245_multiplexCapability;           /* MultiplexCapability */
600
static int hf_h245_capabilityTable;               /* SET_SIZE_1_256_OF_CapabilityTableEntry */
601
static int hf_h245_capabilityTable_item;          /* CapabilityTableEntry */
602
static int hf_h245_capabilityDescriptors;         /* SET_SIZE_1_256_OF_CapabilityDescriptor */
603
static int hf_h245_capabilityDescriptors_item;    /* CapabilityDescriptor */
604
static int hf_h245_genericInformation;            /* SEQUENCE_OF_GenericInformation */
605
static int hf_h245_genericInformation_item;       /* GenericInformation */
606
static int hf_h245_capabilityTableEntryNumber;    /* CapabilityTableEntryNumber */
607
static int hf_h245_capability;                    /* Capability */
608
static int hf_h245_capabilityDescriptorNumber;    /* CapabilityDescriptorNumber */
609
static int hf_h245_simultaneousCapabilities;      /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
610
static int hf_h245_simultaneousCapabilities_item;  /* AlternativeCapabilitySet */
611
static int hf_h245_AlternativeCapabilitySet_item;  /* CapabilityTableEntryNumber */
612
static int hf_h245_tcs_rej_cause;                 /* TerminalCapabilitySetRejectCause */
613
static int hf_h245_unspecified;                   /* NULL */
614
static int hf_h245_undefinedTableEntryUsed;       /* NULL */
615
static int hf_h245_descriptorCapacityExceeded;    /* NULL */
616
static int hf_h245_tableEntryCapacityExceeded;    /* T_tableEntryCapacityExceeded */
617
static int hf_h245_highestEntryNumberProcessed;   /* CapabilityTableEntryNumber */
618
static int hf_h245_noneProcessed;                 /* NULL */
619
static int hf_h245_nonStandard;                   /* NonStandardParameter */
620
static int hf_h245_receiveVideoCapability;        /* VideoCapability */
621
static int hf_h245_transmitVideoCapability;       /* VideoCapability */
622
static int hf_h245_receiveAndTransmitVideoCapability;  /* VideoCapability */
623
static int hf_h245_receiveAudioCapability;        /* AudioCapability */
624
static int hf_h245_transmitAudioCapability;       /* AudioCapability */
625
static int hf_h245_receiveAndTransmitAudioCapability;  /* AudioCapability */
626
static int hf_h245_receiveDataApplicationCapability;  /* DataApplicationCapability */
627
static int hf_h245_transmitDataApplicationCapability;  /* DataApplicationCapability */
628
static int hf_h245_receiveAndTransmitDataApplicationCapability;  /* DataApplicationCapability */
629
static int hf_h245_h233EncryptionTransmitCapability;  /* BOOLEAN */
630
static int hf_h245_h233EncryptionReceiveCapability;  /* T_h233EncryptionReceiveCapability */
631
static int hf_h245_h233IVResponseTime;            /* INTEGER_0_255 */
632
static int hf_h245_conferenceCapability;          /* ConferenceCapability */
633
static int hf_h245_h235SecurityCapability;        /* H235SecurityCapability */
634
static int hf_h245_maxPendingReplacementFor;      /* INTEGER_0_255 */
635
static int hf_h245_receiveUserInputCapability;    /* UserInputCapability */
636
static int hf_h245_transmitUserInputCapability;   /* UserInputCapability */
637
static int hf_h245_receiveAndTransmitUserInputCapability;  /* UserInputCapability */
638
static int hf_h245_genericControlCapability;      /* GenericCapability */
639
static int hf_h245_receiveMultiplexedStreamCapability;  /* MultiplexedStreamCapability */
640
static int hf_h245_transmitMultiplexedStreamCapability;  /* MultiplexedStreamCapability */
641
static int hf_h245_receiveAndTransmitMultiplexedStreamCapability;  /* MultiplexedStreamCapability */
642
static int hf_h245_receiveRTPAudioTelephonyEventCapability;  /* AudioTelephonyEventCapability */
643
static int hf_h245_receiveRTPAudioToneCapability;  /* AudioToneCapability */
644
static int hf_h245_depFecCapability;              /* DepFECCapability */
645
static int hf_h245_multiplePayloadStreamCapability;  /* MultiplePayloadStreamCapability */
646
static int hf_h245_fecCapability;                 /* FECCapability */
647
static int hf_h245_redundancyEncodingCap;         /* RedundancyEncodingCapability */
648
static int hf_h245_oneOfCapabilities;             /* AlternativeCapabilitySet */
649
static int hf_h245_encryptionAuthenticationAndIntegrity;  /* EncryptionAuthenticationAndIntegrity */
650
static int hf_h245_mediaCapability;               /* CapabilityTableEntryNumber */
651
static int hf_h245_h222Capability;                /* H222Capability */
652
static int hf_h245_h223Capability;                /* H223Capability */
653
static int hf_h245_v76Capability;                 /* V76Capability */
654
static int hf_h245_h2250Capability;               /* H2250Capability */
655
static int hf_h245_genericMultiplexCapability;    /* GenericCapability */
656
static int hf_h245_numberOfVCs;                   /* INTEGER_1_256 */
657
static int hf_h245_vcCapability;                  /* SET_OF_VCCapability */
658
static int hf_h245_vcCapability_item;             /* VCCapability */
659
static int hf_h245_aal1;                          /* T_aal1 */
660
static int hf_h245_nullClockRecovery;             /* BOOLEAN */
661
static int hf_h245_srtsClockRecovery_bool;        /* BOOLEAN */
662
static int hf_h245_adaptiveClockRecovery;         /* BOOLEAN */
663
static int hf_h245_nullErrorCorrection;           /* BOOLEAN */
664
static int hf_h245_longInterleaver;               /* BOOLEAN */
665
static int hf_h245_shortInterleaver;              /* BOOLEAN */
666
static int hf_h245_errorCorrectionOnly;           /* BOOLEAN */
667
static int hf_h245_structuredDataTransfer;        /* BOOLEAN */
668
static int hf_h245_partiallyFilledCells;          /* BOOLEAN */
669
static int hf_h245_aal5;                          /* T_aal5 */
670
static int hf_h245_forwardMaximumSDUSize;         /* INTEGER_0_65535 */
671
static int hf_h245_backwardMaximumSDUSize;        /* INTEGER_0_65535 */
672
static int hf_h245_transportStream_bool;          /* BOOLEAN */
673
static int hf_h245_programStream;                 /* BOOLEAN */
674
static int hf_h245_availableBitRates;             /* T_availableBitRates */
675
static int hf_h245_avb_type;                      /* Avb_type */
676
static int hf_h245_singleBitRate;                 /* INTEGER_1_65535 */
677
static int hf_h245_rangeOfBitRates;               /* T_rangeOfBitRates */
678
static int hf_h245_lowerBitRate;                  /* INTEGER_1_65535 */
679
static int hf_h245_higherBitRate;                 /* INTEGER_1_65535 */
680
static int hf_h245_aal1ViaGateway;                /* T_aal1ViaGateway */
681
static int hf_h245_gatewayAddress;                /* SET_SIZE_1_256_OF_Q2931Address */
682
static int hf_h245_gatewayAddress_item;           /* Q2931Address */
683
static int hf_h245_srtsClockRecoveryflag;         /* BOOLEAN */
684
static int hf_h245_transportWithI_frames;         /* BOOLEAN */
685
static int hf_h245_videoWithAL1;                  /* BOOLEAN */
686
static int hf_h245_videoWithAL2;                  /* BOOLEAN */
687
static int hf_h245_videoWithAL3;                  /* BOOLEAN */
688
static int hf_h245_audioWithAL1;                  /* BOOLEAN */
689
static int hf_h245_audioWithAL2;                  /* BOOLEAN */
690
static int hf_h245_audioWithAL3;                  /* BOOLEAN */
691
static int hf_h245_dataWithAL1;                   /* BOOLEAN */
692
static int hf_h245_dataWithAL2;                   /* BOOLEAN */
693
static int hf_h245_dataWithAL3;                   /* BOOLEAN */
694
static int hf_h245_maximumAl2SDUSize;             /* INTEGER_0_65535 */
695
static int hf_h245_maximumAl3SDUSize;             /* INTEGER_0_65535 */
696
static int hf_h245_maximumDelayJitter;            /* INTEGER_0_1023 */
697
static int hf_h245_h223MultiplexTableCapability;  /* T_h223MultiplexTableCapability */
698
static int hf_h245_basic;                         /* NULL */
699
static int hf_h245_enhanced;                      /* T_enhanced */
700
static int hf_h245_maximumNestingDepth;           /* INTEGER_1_15 */
701
static int hf_h245_maximumElementListSize;        /* INTEGER_2_255 */
702
static int hf_h245_maximumSubElementListSize;     /* INTEGER_2_255 */
703
static int hf_h245_maxMUXPDUSizeCapability;       /* BOOLEAN */
704
static int hf_h245_nsrpSupport;                   /* BOOLEAN */
705
static int hf_h245_mobileOperationTransmitCapability;  /* T_mobileOperationTransmitCapability */
706
static int hf_h245_modeChangeCapability;          /* BOOLEAN */
707
static int hf_h245_h223AnnexA;                    /* BOOLEAN */
708
static int hf_h245_h223AnnexADoubleFlagFlag;      /* BOOLEAN */
709
static int hf_h245_h223AnnexB;                    /* BOOLEAN */
710
static int hf_h245_h223AnnexBwithHeader;          /* BOOLEAN */
711
static int hf_h245_h223AnnexCCapability;          /* H223AnnexCCapability */
712
static int hf_h245_bitRate_1_19200;               /* INTEGER_1_19200 */
713
static int hf_h245_mobileMultilinkFrameCapability;  /* T_mobileMultilinkFrameCapability */
714
static int hf_h245_maximumSampleSize;             /* INTEGER_1_255 */
715
static int hf_h245_maximumPayloadLength;          /* INTEGER_1_65025 */
716
static int hf_h245_videoWithAL1M;                 /* BOOLEAN */
717
static int hf_h245_videoWithAL2M;                 /* BOOLEAN */
718
static int hf_h245_videoWithAL3M;                 /* BOOLEAN */
719
static int hf_h245_audioWithAL1M;                 /* BOOLEAN */
720
static int hf_h245_audioWithAL2M;                 /* BOOLEAN */
721
static int hf_h245_audioWithAL3M;                 /* BOOLEAN */
722
static int hf_h245_dataWithAL1M;                  /* BOOLEAN */
723
static int hf_h245_dataWithAL2M;                  /* BOOLEAN */
724
static int hf_h245_dataWithAL3M;                  /* BOOLEAN */
725
static int hf_h245_alpduInterleaving;             /* BOOLEAN */
726
static int hf_h245_maximumAL1MPDUSize;            /* INTEGER_0_65535 */
727
static int hf_h245_maximumAL2MSDUSize;            /* INTEGER_0_65535 */
728
static int hf_h245_maximumAL3MSDUSize;            /* INTEGER_0_65535 */
729
static int hf_h245_rsCodeCapability;              /* BOOLEAN */
730
static int hf_h245_suspendResumeCapabilitywAddress;  /* BOOLEAN */
731
static int hf_h245_suspendResumeCapabilitywoAddress;  /* BOOLEAN */
732
static int hf_h245_rejCapability;                 /* BOOLEAN */
733
static int hf_h245_sREJCapability;                /* BOOLEAN */
734
static int hf_h245_mREJCapability;                /* BOOLEAN */
735
static int hf_h245_crc8bitCapability;             /* BOOLEAN */
736
static int hf_h245_crc16bitCapability;            /* BOOLEAN */
737
static int hf_h245_crc32bitCapability;            /* BOOLEAN */
738
static int hf_h245_uihCapability;                 /* BOOLEAN */
739
static int hf_h245_numOfDLCS;                     /* INTEGER_2_8191 */
740
static int hf_h245_twoOctetAddressFieldCapability;  /* BOOLEAN */
741
static int hf_h245_loopBackTestCapability;        /* BOOLEAN */
742
static int hf_h245_n401Capability;                /* INTEGER_1_4095 */
743
static int hf_h245_maxWindowSizeCapability;       /* INTEGER_1_127 */
744
static int hf_h245_v75Capability;                 /* V75Capability */
745
static int hf_h245_audioHeader;                   /* BOOLEAN */
746
static int hf_h245_maximumAudioDelayJitter;       /* INTEGER_0_1023 */
747
static int hf_h245_receiveMultipointCapability;   /* MultipointCapability */
748
static int hf_h245_transmitMultipointCapability;  /* MultipointCapability */
749
static int hf_h245_receiveAndTransmitMultipointCapability;  /* MultipointCapability */
750
static int hf_h245_mcCapability;                  /* T_mcCapability */
751
static int hf_h245_centralizedConferenceMC;       /* BOOLEAN */
752
static int hf_h245_decentralizedConferenceMC;     /* BOOLEAN */
753
static int hf_h245_rtcpVideoControlCapability;    /* BOOLEAN */
754
static int hf_h245_mediaPacketizationCapability;  /* MediaPacketizationCapability */
755
static int hf_h245_transportCapability;           /* TransportCapability */
756
static int hf_h245_redundancyEncodingCapability;  /* SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability */
757
static int hf_h245_redundancyEncodingCapability_item;  /* RedundancyEncodingCapability */
758
static int hf_h245_logicalChannelSwitchingCapability;  /* BOOLEAN */
759
static int hf_h245_t120DynamicPortCapability;     /* BOOLEAN */
760
static int hf_h245_h261aVideoPacketization;       /* BOOLEAN */
761
static int hf_h245_rtpPayloadTypes;               /* SEQUENCE_SIZE_1_256_OF_RTPPayloadType */
762
static int hf_h245_rtpPayloadTypes_item;          /* RTPPayloadType */
763
static int hf_h245_qosMode;                       /* QOSMode */
764
static int hf_h245_tokenRate;                     /* INTEGER_1_4294967295 */
765
static int hf_h245_bucketSize;                    /* INTEGER_1_4294967295 */
766
static int hf_h245_peakRate;                      /* INTEGER_1_4294967295 */
767
static int hf_h245_minPoliced;                    /* INTEGER_1_4294967295 */
768
static int hf_h245_maxPktSize;                    /* INTEGER_1_4294967295 */
769
static int hf_h245_guaranteedQOS;                 /* NULL */
770
static int hf_h245_controlledLoad;                /* NULL */
771
static int hf_h245_maxNTUSize;                    /* INTEGER_0_65535 */
772
static int hf_h245_atmUBR;                        /* BOOLEAN */
773
static int hf_h245_atmrtVBR;                      /* BOOLEAN */
774
static int hf_h245_atmnrtVBR;                     /* BOOLEAN */
775
static int hf_h245_atmABR;                        /* BOOLEAN */
776
static int hf_h245_atmCBR;                        /* BOOLEAN */
777
static int hf_h245_nonStandardParameter;          /* NonStandardParameter */
778
static int hf_h245_value;                         /* INTEGER_0_255 */
779
static int hf_h245_servicePrioritySignalled;      /* BOOLEAN */
780
static int hf_h245_servicePriorityValue;          /* ServicePriorityValue */
781
static int hf_h245_serviceClass;                  /* INTEGER_0_4095 */
782
static int hf_h245_serviceSubclass;               /* INTEGER_0_255 */
783
static int hf_h245_desired;                       /* NULL */
784
static int hf_h245_required;                      /* NULL */
785
static int hf_h245_class0;                        /* NULL */
786
static int hf_h245_class1;                        /* NULL */
787
static int hf_h245_class2;                        /* NULL */
788
static int hf_h245_class3;                        /* NULL */
789
static int hf_h245_class4;                        /* NULL */
790
static int hf_h245_class5;                        /* NULL */
791
static int hf_h245_qosType;                       /* QOSType */
792
static int hf_h245_qosClass;                      /* QOSClass */
793
static int hf_h245_averageRate;                   /* INTEGER_1_4294967295 */
794
static int hf_h245_burst;                         /* INTEGER_1_4294967295 */
795
static int hf_h245_rsvpParameters;                /* RSVPParameters */
796
static int hf_h245_atmParameters;                 /* ATMParameters */
797
static int hf_h245_localQoS;                      /* BOOLEAN */
798
static int hf_h245_genericTransportParameters;    /* GenericTransportParameters */
799
static int hf_h245_servicePriority;               /* ServicePriority */
800
static int hf_h245_authorizationParameter;        /* AuthorizationParameters */
801
static int hf_h245_qosDescriptor;                 /* QOSDescriptor */
802
static int hf_h245_dscpValue;                     /* INTEGER_0_63 */
803
static int hf_h245_ip_UDP;                        /* NULL */
804
static int hf_h245_ip_TCP;                        /* NULL */
805
static int hf_h245_atm_AAL5_UNIDIR;               /* NULL */
806
static int hf_h245_atm_AAL5_BIDIR;                /* NULL */
807
static int hf_h245_atm_AAL5_compressed;           /* T_atm_AAL5_compressed */
808
static int hf_h245_variable_delta;                /* BOOLEAN */
809
static int hf_h245_mediaTransport;                /* MediaTransportType */
810
static int hf_h245_qOSCapabilities;               /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
811
static int hf_h245_qOSCapabilities_item;          /* QOSCapability */
812
static int hf_h245_mediaChannelCapabilities;      /* SEQUENCE_SIZE_1_256_OF_MediaChannelCapability */
813
static int hf_h245_mediaChannelCapabilities_item;  /* MediaChannelCapability */
814
static int hf_h245_redundancyEncodingMethod;      /* RedundancyEncodingMethod */
815
static int hf_h245_primaryEncoding;               /* CapabilityTableEntryNumber */
816
static int hf_h245_secondaryEncodingCapability;   /* SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber */
817
static int hf_h245_secondaryEncodingCapability_item;  /* CapabilityTableEntryNumber */
818
static int hf_h245_rtpAudioRedundancyEncoding;    /* NULL */
819
static int hf_h245_rtpH263VideoRedundancyEncoding;  /* RTPH263VideoRedundancyEncoding */
820
static int hf_h245_numberOfThreads;               /* INTEGER_1_16 */
821
static int hf_h245_framesBetweenSyncPoints;       /* INTEGER_1_256 */
822
static int hf_h245_frameToThreadMapping;          /* T_frameToThreadMapping */
823
static int hf_h245_roundrobin;                    /* NULL */
824
static int hf_h245_custom;                        /* SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping */
825
static int hf_h245_custom_item;                   /* RTPH263VideoRedundancyFrameMapping */
826
static int hf_h245_containedThreads;              /* T_containedThreads */
827
static int hf_h245_containedThreads_item;         /* INTEGER_0_15 */
828
static int hf_h245_threadNumber;                  /* INTEGER_0_15 */
829
static int hf_h245_frameSequence;                 /* T_frameSequence */
830
static int hf_h245_frameSequence_item;            /* INTEGER_0_255 */
831
static int hf_h245_multicastCapability;           /* BOOLEAN */
832
static int hf_h245_multiUniCastConference;        /* BOOLEAN */
833
static int hf_h245_mediaDistributionCapability;   /* SEQUENCE_OF_MediaDistributionCapability */
834
static int hf_h245_mediaDistributionCapability_item;  /* MediaDistributionCapability */
835
static int hf_h245_centralizedControl;            /* BOOLEAN */
836
static int hf_h245_distributedControl;            /* BOOLEAN */
837
static int hf_h245_centralizedAudio;              /* BOOLEAN */
838
static int hf_h245_distributedAudio;              /* BOOLEAN */
839
static int hf_h245_centralizedVideo;              /* BOOLEAN */
840
static int hf_h245_distributedVideo;              /* BOOLEAN */
841
static int hf_h245_centralizedData;               /* SEQUENCE_OF_DataApplicationCapability */
842
static int hf_h245_centralizedData_item;          /* DataApplicationCapability */
843
static int hf_h245_distributedData;               /* SEQUENCE_OF_DataApplicationCapability */
844
static int hf_h245_distributedData_item;          /* DataApplicationCapability */
845
static int hf_h245_h261VideoCapability;           /* H261VideoCapability */
846
static int hf_h245_h262VideoCapability;           /* H262VideoCapability */
847
static int hf_h245_h263VideoCapability;           /* H263VideoCapability */
848
static int hf_h245_is11172VideoCapability;        /* IS11172VideoCapability */
849
static int hf_h245_genericVideoCapability;        /* GenericCapability */
850
static int hf_h245_extendedVideoCapability;       /* ExtendedVideoCapability */
851
static int hf_h245_videoCapability;               /* SEQUENCE_OF_VideoCapability */
852
static int hf_h245_videoCapability_item;          /* VideoCapability */
853
static int hf_h245_videoCapabilityExtension;      /* SEQUENCE_OF_GenericCapability */
854
static int hf_h245_videoCapabilityExtension_item;  /* GenericCapability */
855
static int hf_h245_qcifMPI_1_4;                   /* INTEGER_1_4 */
856
static int hf_h245_cifMPI_1_4;                    /* INTEGER_1_4 */
857
static int hf_h245_temporalSpatialTradeOffCapability;  /* BOOLEAN */
858
static int hf_h245_maxBitRate_1_19200;            /* INTEGER_1_19200 */
859
static int hf_h245_stillImageTransmission;        /* BOOLEAN */
860
static int hf_h245_videoBadMBsCap;                /* BOOLEAN */
861
static int hf_h245_profileAndLevel_SPatML;        /* BOOLEAN */
862
static int hf_h245_profileAndLevel_MPatLL;        /* BOOLEAN */
863
static int hf_h245_profileAndLevel_MPatML;        /* BOOLEAN */
864
static int hf_h245_profileAndLevel_MPatH_14;      /* BOOLEAN */
865
static int hf_h245_profileAndLevel_MPatHL;        /* BOOLEAN */
866
static int hf_h245_profileAndLevel_SNRatLL;       /* BOOLEAN */
867
static int hf_h245_profileAndLevel_SNRatML;       /* BOOLEAN */
868
static int hf_h245_profileAndLevel_SpatialatH_14;  /* BOOLEAN */
869
static int hf_h245_profileAndLevel_HPatML;        /* BOOLEAN */
870
static int hf_h245_profileAndLevel_HPatH_14;      /* BOOLEAN */
871
static int hf_h245_profileAndLevel_HPatHL;        /* BOOLEAN */
872
static int hf_h245_videoBitRate;                  /* INTEGER_0_1073741823 */
873
static int hf_h245_vbvBufferSize;                 /* INTEGER_0_262143 */
874
static int hf_h245_samplesPerLine;                /* INTEGER_0_16383 */
875
static int hf_h245_linesPerFrame;                 /* INTEGER_0_16383 */
876
static int hf_h245_framesPerSecond;               /* INTEGER_0_15 */
877
static int hf_h245_luminanceSampleRate;           /* INTEGER_0_4294967295 */
878
static int hf_h245_sqcifMPI_1_32;                 /* INTEGER_1_32 */
879
static int hf_h245_qcifMPI;                       /* INTEGER_1_32 */
880
static int hf_h245_cifMPI;                        /* INTEGER_1_32 */
881
static int hf_h245_cif4MPI_1_32;                  /* INTEGER_1_32 */
882
static int hf_h245_cif16MPI_1_32;                 /* INTEGER_1_32 */
883
static int hf_h245_maxBitRate;                    /* INTEGER_1_192400 */
884
static int hf_h245_unrestrictedVector;            /* BOOLEAN */
885
static int hf_h245_arithmeticCoding;              /* BOOLEAN */
886
static int hf_h245_advancedPrediction;            /* BOOLEAN */
887
static int hf_h245_pbFrames;                      /* BOOLEAN */
888
static int hf_h245_hrd_B;                         /* INTEGER_0_524287 */
889
static int hf_h245_bppMaxKb;                      /* INTEGER_0_65535 */
890
static int hf_h245_slowSqcifMPI;                  /* INTEGER_1_3600 */
891
static int hf_h245_slowQcifMPI;                   /* INTEGER_1_3600 */
892
static int hf_h245_slowCifMPI;                    /* INTEGER_1_3600 */
893
static int hf_h245_slowCif4MPI;                   /* INTEGER_1_3600 */
894
static int hf_h245_slowCif16MPI;                  /* INTEGER_1_3600 */
895
static int hf_h245_errorCompensation;             /* BOOLEAN */
896
static int hf_h245_enhancementLayerInfo;          /* EnhancementLayerInfo */
897
static int hf_h245_h263Options;                   /* H263Options */
898
static int hf_h245_baseBitRateConstrained;        /* BOOLEAN */
899
static int hf_h245_snrEnhancement;                /* SET_SIZE_1_14_OF_EnhancementOptions */
900
static int hf_h245_snrEnhancement_item;           /* EnhancementOptions */
901
static int hf_h245_spatialEnhancement;            /* SET_SIZE_1_14_OF_EnhancementOptions */
902
static int hf_h245_spatialEnhancement_item;       /* EnhancementOptions */
903
static int hf_h245_bPictureEnhancement;           /* SET_SIZE_1_14_OF_BEnhancementParameters */
904
static int hf_h245_bPictureEnhancement_item;      /* BEnhancementParameters */
905
static int hf_h245_enhancementOptions;            /* EnhancementOptions */
906
static int hf_h245_numberOfBPictures;             /* INTEGER_1_64 */
907
static int hf_h245_advancedIntraCodingMode;       /* BOOLEAN */
908
static int hf_h245_deblockingFilterMode;          /* BOOLEAN */
909
static int hf_h245_improvedPBFramesMode;          /* BOOLEAN */
910
static int hf_h245_unlimitedMotionVectors;        /* BOOLEAN */
911
static int hf_h245_fullPictureFreeze;             /* BOOLEAN */
912
static int hf_h245_partialPictureFreezeAndRelease;  /* BOOLEAN */
913
static int hf_h245_resizingPartPicFreezeAndRelease;  /* BOOLEAN */
914
static int hf_h245_fullPictureSnapshot;           /* BOOLEAN */
915
static int hf_h245_partialPictureSnapshot;        /* BOOLEAN */
916
static int hf_h245_videoSegmentTagging;           /* BOOLEAN */
917
static int hf_h245_progressiveRefinement;         /* BOOLEAN */
918
static int hf_h245_dynamicPictureResizingByFour;  /* BOOLEAN */
919
static int hf_h245_dynamicPictureResizingSixteenthPel;  /* BOOLEAN */
920
static int hf_h245_dynamicWarpingHalfPel;         /* BOOLEAN */
921
static int hf_h245_dynamicWarpingSixteenthPel;    /* BOOLEAN */
922
static int hf_h245_independentSegmentDecoding;    /* BOOLEAN */
923
static int hf_h245_slicesInOrder_NonRect;         /* BOOLEAN */
924
static int hf_h245_slicesInOrder_Rect;            /* BOOLEAN */
925
static int hf_h245_slicesNoOrder_NonRect;         /* BOOLEAN */
926
static int hf_h245_slicesNoOrder_Rect;            /* BOOLEAN */
927
static int hf_h245_alternateInterVLCMode;         /* BOOLEAN */
928
static int hf_h245_modifiedQuantizationMode;      /* BOOLEAN */
929
static int hf_h245_reducedResolutionUpdate;       /* BOOLEAN */
930
static int hf_h245_transparencyParameters;        /* TransparencyParameters */
931
static int hf_h245_separateVideoBackChannel;      /* BOOLEAN */
932
static int hf_h245_refPictureSelection;           /* RefPictureSelection */
933
static int hf_h245_customPictureClockFrequency;   /* SET_SIZE_1_16_OF_CustomPictureClockFrequency */
934
static int hf_h245_customPictureClockFrequency_item;  /* CustomPictureClockFrequency */
935
static int hf_h245_customPictureFormat;           /* SET_SIZE_1_16_OF_CustomPictureFormat */
936
static int hf_h245_customPictureFormat_item;      /* CustomPictureFormat */
937
static int hf_h245_modeCombos;                    /* SET_SIZE_1_16_OF_H263VideoModeCombos */
938
static int hf_h245_modeCombos_item;               /* H263VideoModeCombos */
939
static int hf_h245_h263Version3Options;           /* H263Version3Options */
940
static int hf_h245_presentationOrder;             /* INTEGER_1_256 */
941
static int hf_h245_offset_x;                      /* INTEGER_M262144_262143 */
942
static int hf_h245_offset_y;                      /* INTEGER_M262144_262143 */
943
static int hf_h245_scale_x;                       /* INTEGER_1_255 */
944
static int hf_h245_scale_y;                       /* INTEGER_1_255 */
945
static int hf_h245_additionalPictureMemory;       /* T_additionalPictureMemory */
946
static int hf_h245_sqcifAdditionalPictureMemory;  /* INTEGER_1_256 */
947
static int hf_h245_qcifAdditionalPictureMemory;   /* INTEGER_1_256 */
948
static int hf_h245_cifAdditionalPictureMemory;    /* INTEGER_1_256 */
949
static int hf_h245_cif4AdditionalPictureMemory;   /* INTEGER_1_256 */
950
static int hf_h245_cif16AdditionalPictureMemory;  /* INTEGER_1_256 */
951
static int hf_h245_bigCpfAdditionalPictureMemory;  /* INTEGER_1_256 */
952
static int hf_h245_videoMux;                      /* BOOLEAN */
953
static int hf_h245_videoBackChannelSend;          /* T_videoBackChannelSend */
954
static int hf_h245_none;                          /* NULL */
955
static int hf_h245_ackMessageOnly;                /* NULL */
956
static int hf_h245_nackMessageOnly;               /* NULL */
957
static int hf_h245_ackOrNackMessageOnly;          /* NULL */
958
static int hf_h245_ackAndNackMessage;             /* NULL */
959
static int hf_h245_enhancedReferencePicSelect;    /* T_enhancedReferencePicSelect */
960
static int hf_h245_subPictureRemovalParameters;   /* T_subPictureRemovalParameters */
961
static int hf_h245_mpuHorizMBs;                   /* INTEGER_1_128 */
962
static int hf_h245_mpuVertMBs;                    /* INTEGER_1_72 */
963
static int hf_h245_mpuTotalNumber;                /* INTEGER_1_65536 */
964
static int hf_h245_clockConversionCode;           /* INTEGER_1000_1001 */
965
static int hf_h245_clockDivisor;                  /* INTEGER_1_127 */
966
static int hf_h245_sqcifMPI;                      /* INTEGER_1_2048 */
967
static int hf_h245_qcifMPI_1_2048;                /* INTEGER_1_2048 */
968
static int hf_h245_cifMPI2_1_2048;                /* INTEGER_1_2048 */
969
static int hf_h245_cif4MPI;                       /* INTEGER_1_2048 */
970
static int hf_h245_cif16MPI;                      /* INTEGER_1_2048 */
971
static int hf_h245_maxCustomPictureWidth;         /* INTEGER_1_2048 */
972
static int hf_h245_maxCustomPictureHeight;        /* INTEGER_1_2048 */
973
static int hf_h245_minCustomPictureWidth;         /* INTEGER_1_2048 */
974
static int hf_h245_minCustomPictureHeight;        /* INTEGER_1_2048 */
975
static int hf_h245_mPI;                           /* T_mPI */
976
static int hf_h245_standardMPI;                   /* INTEGER_1_31 */
977
static int hf_h245_customPCF;                     /* T_customPCF */
978
static int hf_h245_customPCF_item;                /* T_customPCF_item */
979
static int hf_h245_customMPI;                     /* INTEGER_1_2048 */
980
static int hf_h245_pixelAspectInformation;        /* T_pixelAspectInformation */
981
static int hf_h245_anyPixelAspectRatio;           /* BOOLEAN */
982
static int hf_h245_pixelAspectCode;               /* T_pixelAspectCode */
983
static int hf_h245_pixelAspectCode_item;          /* INTEGER_1_14 */
984
static int hf_h245_extendedPAR;                   /* T_extendedPAR */
985
static int hf_h245_extendedPAR_item;              /* T_extendedPAR_item */
986
static int hf_h245_width;                         /* INTEGER_1_255 */
987
static int hf_h245_height;                        /* INTEGER_1_255 */
988
static int hf_h245_h263VideoUncoupledModes;       /* H263ModeComboFlags */
989
static int hf_h245_h263VideoCoupledModes;         /* SET_SIZE_1_16_OF_H263ModeComboFlags */
990
static int hf_h245_h263VideoCoupledModes_item;    /* H263ModeComboFlags */
991
static int hf_h245_referencePicSelect;            /* BOOLEAN */
992
static int hf_h245_enhancedReferencePicSelectBool;  /* BOOLEAN */
993
static int hf_h245_dataPartitionedSlices;         /* BOOLEAN */
994
static int hf_h245_fixedPointIDCT0;               /* BOOLEAN */
995
static int hf_h245_interlacedFields;              /* BOOLEAN */
996
static int hf_h245_currentPictureHeaderRepetition;  /* BOOLEAN */
997
static int hf_h245_previousPictureHeaderRepetition;  /* BOOLEAN */
998
static int hf_h245_nextPictureHeaderRepetition;   /* BOOLEAN */
999
static int hf_h245_pictureNumberBoolean;          /* BOOLEAN */
1000
static int hf_h245_spareReferencePictures;        /* BOOLEAN */
1001
static int hf_h245_constrainedBitstream;          /* BOOLEAN */
1002
static int hf_h245_pictureRate;                   /* INTEGER_0_15 */
1003
static int hf_h245_g711Alaw64k;                   /* INTEGER_1_256 */
1004
static int hf_h245_g711Alaw56k;                   /* INTEGER_1_256 */
1005
static int hf_h245_g711Ulaw64k;                   /* INTEGER_1_256 */
1006
static int hf_h245_g711Ulaw56k;                   /* INTEGER_1_256 */
1007
static int hf_h245_g722_64k;                      /* INTEGER_1_256 */
1008
static int hf_h245_g722_56k;                      /* INTEGER_1_256 */
1009
static int hf_h245_g722_48k;                      /* INTEGER_1_256 */
1010
static int hf_h245_g7231;                         /* T_g7231 */
1011
static int hf_h245_maxAl_sduAudioFrames;          /* INTEGER_1_256 */
1012
static int hf_h245_silenceSuppression;            /* BOOLEAN */
1013
static int hf_h245_g728;                          /* INTEGER_1_256 */
1014
static int hf_h245_g729;                          /* INTEGER_1_256 */
1015
static int hf_h245_g729AnnexA;                    /* INTEGER_1_256 */
1016
static int hf_h245_is11172AudioCapability;        /* IS11172AudioCapability */
1017
static int hf_h245_is13818AudioCapability;        /* IS13818AudioCapability */
1018
static int hf_h245_g729wAnnexB;                   /* INTEGER_1_256 */
1019
static int hf_h245_g729AnnexAwAnnexB;             /* INTEGER_1_256 */
1020
static int hf_h245_g7231AnnexCCapability;         /* G7231AnnexCCapability */
1021
static int hf_h245_gsmFullRate;                   /* GSMAudioCapability */
1022
static int hf_h245_gsmHalfRate;                   /* GSMAudioCapability */
1023
static int hf_h245_gsmEnhancedFullRate;           /* GSMAudioCapability */
1024
static int hf_h245_genericAudioCapability;        /* GenericCapability */
1025
static int hf_h245_g729Extensions;                /* G729Extensions */
1026
static int hf_h245_vbd;                           /* VBDCapability */
1027
static int hf_h245_audioTelephonyEvent;           /* NoPTAudioTelephonyEventCapability */
1028
static int hf_h245_audioTone;                     /* NoPTAudioToneCapability */
1029
static int hf_h245_audioUnit;                     /* INTEGER_1_256 */
1030
static int hf_h245_annexA;                        /* BOOLEAN */
1031
static int hf_h245_annexB;                        /* BOOLEAN */
1032
static int hf_h245_annexD;                        /* BOOLEAN */
1033
static int hf_h245_annexE;                        /* BOOLEAN */
1034
static int hf_h245_annexF;                        /* BOOLEAN */
1035
static int hf_h245_annexG;                        /* BOOLEAN */
1036
static int hf_h245_annexH;                        /* BOOLEAN */
1037
static int hf_h245_highRateMode0;                 /* INTEGER_27_78 */
1038
static int hf_h245_highRateMode1;                 /* INTEGER_27_78 */
1039
static int hf_h245_lowRateMode0;                  /* INTEGER_23_66 */
1040
static int hf_h245_lowRateMode1;                  /* INTEGER_23_66 */
1041
static int hf_h245_sidMode0;                      /* INTEGER_6_17 */
1042
static int hf_h245_sidMode1;                      /* INTEGER_6_17 */
1043
static int hf_h245_g723AnnexCAudioMode;           /* G723AnnexCAudioMode */
1044
static int hf_h245_audioLayer1;                   /* BOOLEAN */
1045
static int hf_h245_audioLayer2;                   /* BOOLEAN */
1046
static int hf_h245_audioLayer3;                   /* BOOLEAN */
1047
static int hf_h245_audioSampling32k;              /* BOOLEAN */
1048
static int hf_h245_audioSampling44k1;             /* BOOLEAN */
1049
static int hf_h245_audioSampling48k;              /* BOOLEAN */
1050
static int hf_h245_singleChannel;                 /* BOOLEAN */
1051
static int hf_h245_twoChannels;                   /* BOOLEAN */
1052
static int hf_h245_bitRate_1_448;                 /* INTEGER_1_448 */
1053
static int hf_h245_audioSampling16k;              /* BOOLEAN */
1054
static int hf_h245_audioSampling22k05;            /* BOOLEAN */
1055
static int hf_h245_audioSampling24k;              /* BOOLEAN */
1056
static int hf_h245_threeChannels2_1;              /* BOOLEAN */
1057
static int hf_h245_threeChannels3_0;              /* BOOLEAN */
1058
static int hf_h245_fourChannels2_0_2_0;           /* BOOLEAN */
1059
static int hf_h245_fourChannels2_2;               /* BOOLEAN */
1060
static int hf_h245_fourChannels3_1;               /* BOOLEAN */
1061
static int hf_h245_fiveChannels3_0_2_0;           /* BOOLEAN */
1062
static int hf_h245_fiveChannels3_2;               /* BOOLEAN */
1063
static int hf_h245_lowFrequencyEnhancement;       /* BOOLEAN */
1064
static int hf_h245_multilingual;                  /* BOOLEAN */
1065
static int hf_h245_bitRate2_1_1130;               /* INTEGER_1_1130 */
1066
static int hf_h245_audioUnitSize;                 /* INTEGER_1_256 */
1067
static int hf_h245_comfortNoise;                  /* BOOLEAN */
1068
static int hf_h245_scrambled;                     /* BOOLEAN */
1069
static int hf_h245_vbd_cap_type;                  /* AudioCapability */
1070
static int hf_h245_t120;                          /* DataProtocolCapability */
1071
static int hf_h245_dsm_cc;                        /* DataProtocolCapability */
1072
static int hf_h245_userData;                      /* DataProtocolCapability */
1073
static int hf_h245_t84;                           /* T_t84 */
1074
static int hf_h245_t84Protocol;                   /* DataProtocolCapability */
1075
static int hf_h245_t84Profile;                    /* T84Profile */
1076
static int hf_h245_t434;                          /* DataProtocolCapability */
1077
static int hf_h245_h224;                          /* DataProtocolCapability */
1078
static int hf_h245_nlpidProtocol;                 /* DataProtocolCapability */
1079
static int hf_h245_nlpidData;                     /* OCTET_STRING */
1080
static int hf_h245_nlpid;                         /* Nlpid */
1081
static int hf_h245_dsvdControl;                   /* NULL */
1082
static int hf_h245_h222DataPartitioning;          /* DataProtocolCapability */
1083
static int hf_h245_t30fax;                        /* DataProtocolCapability */
1084
static int hf_h245_t140;                          /* DataProtocolCapability */
1085
static int hf_h245_t38fax;                        /* T_t38fax */
1086
static int hf_h245_t38FaxProtocol;                /* DataProtocolCapability */
1087
static int hf_h245_t38FaxProfile;                 /* T38FaxProfile */
1088
static int hf_h245_genericDataCapability;         /* GenericCapability */
1089
static int hf_h245_application;                   /* Application */
1090
static int hf_h245_maxBitRate2_0_4294967295;      /* INTEGER_0_4294967295 */
1091
static int hf_h245_v14buffered;                   /* NULL */
1092
static int hf_h245_v42lapm;                       /* NULL */
1093
static int hf_h245_hdlcFrameTunnelling;           /* NULL */
1094
static int hf_h245_h310SeparateVCStack;           /* NULL */
1095
static int hf_h245_h310SingleVCStack;             /* NULL */
1096
static int hf_h245_transparent;                   /* NULL */
1097
static int hf_h245_segmentationAndReassembly;     /* NULL */
1098
static int hf_h245_hdlcFrameTunnelingwSAR;        /* NULL */
1099
static int hf_h245_v120;                          /* NULL */
1100
static int hf_h245_separateLANStack;              /* NULL */
1101
static int hf_h245_v76wCompression;               /* T_v76wCompression */
1102
static int hf_h245_transmitCompression;           /* CompressionType */
1103
static int hf_h245_receiveCompression;            /* CompressionType */
1104
static int hf_h245_transmitAndReceiveCompression;  /* CompressionType */
1105
static int hf_h245_tcp;                           /* NULL */
1106
static int hf_h245_udp;                           /* NULL */
1107
static int hf_h245_v42bis;                        /* V42bis */
1108
static int hf_h245_numberOfCodewords;             /* INTEGER_1_65536 */
1109
static int hf_h245_maximumStringLength;           /* INTEGER_1_256 */
1110
static int hf_h245_t84Unrestricted;               /* NULL */
1111
static int hf_h245_t84Restricted;                 /* T_t84Restricted */
1112
static int hf_h245_qcif_bool;                     /* BOOLEAN */
1113
static int hf_h245_cif_bool;                      /* BOOLEAN */
1114
static int hf_h245_ccir601Seq;                    /* BOOLEAN */
1115
static int hf_h245_ccir601Prog;                   /* BOOLEAN */
1116
static int hf_h245_hdtvSeq;                       /* BOOLEAN */
1117
static int hf_h245_hdtvProg;                      /* BOOLEAN */
1118
static int hf_h245_g3FacsMH200x100;               /* BOOLEAN */
1119
static int hf_h245_g3FacsMH200x200;               /* BOOLEAN */
1120
static int hf_h245_g4FacsMMR200x100;              /* BOOLEAN */
1121
static int hf_h245_g4FacsMMR200x200;              /* BOOLEAN */
1122
static int hf_h245_jbig200x200Seq;                /* BOOLEAN */
1123
static int hf_h245_jbig200x200Prog;               /* BOOLEAN */
1124
static int hf_h245_jbig300x300Seq;                /* BOOLEAN */
1125
static int hf_h245_jbig300x300Prog;               /* BOOLEAN */
1126
static int hf_h245_digPhotoLow;                   /* BOOLEAN */
1127
static int hf_h245_digPhotoMedSeq;                /* BOOLEAN */
1128
static int hf_h245_digPhotoMedProg;               /* BOOLEAN */
1129
static int hf_h245_digPhotoHighSeq;               /* BOOLEAN */
1130
static int hf_h245_digPhotoHighProg;              /* BOOLEAN */
1131
static int hf_h245_fillBitRemoval;                /* BOOLEAN */
1132
static int hf_h245_transcodingJBIG;               /* BOOLEAN */
1133
static int hf_h245_transcodingMMR;                /* BOOLEAN */
1134
static int hf_h245_version;                       /* INTEGER_0_255 */
1135
static int hf_h245_t38FaxRateManagement;          /* T38FaxRateManagement */
1136
static int hf_h245_t38FaxUdpOptions;              /* T38FaxUdpOptions */
1137
static int hf_h245_t38FaxTcpOptions;              /* T38FaxTcpOptions */
1138
static int hf_h245_localTCF;                      /* NULL */
1139
static int hf_h245_transferredTCF;                /* NULL */
1140
static int hf_h245_t38FaxMaxBuffer;               /* INTEGER */
1141
static int hf_h245_t38FaxMaxDatagram;             /* INTEGER */
1142
static int hf_h245_t38FaxUdpEC;                   /* T_t38FaxUdpEC */
1143
static int hf_h245_t38UDPFEC;                     /* NULL */
1144
static int hf_h245_t38UDPRedundancy;              /* NULL */
1145
static int hf_h245_t38TCPBidirectionalMode;       /* BOOLEAN */
1146
static int hf_h245_encryptionCapability;          /* EncryptionCapability */
1147
static int hf_h245_authenticationCapability;      /* AuthenticationCapability */
1148
static int hf_h245_integrityCapability;           /* IntegrityCapability */
1149
static int hf_h245_genericH235SecurityCapability;  /* GenericCapability */
1150
static int hf_h245_EncryptionCapability_item;     /* MediaEncryptionAlgorithm */
1151
static int hf_h245_algorithm;                     /* OBJECT_IDENTIFIER */
1152
static int hf_h245_antiSpamAlgorithm;             /* OBJECT_IDENTIFIER */
1153
static int hf_h245_ui_nonStandard;                /* SEQUENCE_SIZE_1_16_OF_NonStandardParameter */
1154
static int hf_h245_ui_nonStandard_item;           /* NonStandardParameter */
1155
static int hf_h245_basicString;                   /* NULL */
1156
static int hf_h245_iA5String;                     /* NULL */
1157
static int hf_h245_generalString;                 /* NULL */
1158
static int hf_h245_dtmf;                          /* NULL */
1159
static int hf_h245_hookflash;                     /* NULL */
1160
static int hf_h245_extendedAlphanumericFlag;      /* NULL */
1161
static int hf_h245_encryptedBasicString;          /* NULL */
1162
static int hf_h245_encryptedIA5String;            /* NULL */
1163
static int hf_h245_encryptedGeneralString;        /* NULL */
1164
static int hf_h245_secureDTMF;                    /* NULL */
1165
static int hf_h245_genericUserInputCapability;    /* GenericCapability */
1166
static int hf_h245_nonStandardParams;             /* SEQUENCE_OF_NonStandardParameter */
1167
static int hf_h245_nonStandardParams_item;        /* NonStandardParameter */
1168
static int hf_h245_chairControlCapability;        /* BOOLEAN */
1169
static int hf_h245_videoIndicateMixingCapability;  /* BOOLEAN */
1170
static int hf_h245_multipointVisualizationCapability;  /* BOOLEAN */
1171
static int hf_h245_capabilityIdentifier;          /* CapabilityIdentifier */
1172
static int hf_h245_collapsing;                    /* T_collapsing */
1173
static int hf_h245_collapsing_item;               /* T_collapsing_item */
1174
static int hf_h245_nonCollapsing;                 /* T_nonCollapsing */
1175
static int hf_h245_nonCollapsing_item;            /* T_nonCollapsing_item */
1176
static int hf_h245_nonCollapsingRaw;              /* T_nonCollapsingRaw */
1177
static int hf_h245_transport;                     /* DataProtocolCapability */
1178
static int hf_h245_standardOid;                   /* T_standardOid */
1179
static int hf_h245_h221NonStandard;               /* NonStandardParameter */
1180
static int hf_h245_uuid;                          /* OCTET_STRING_SIZE_16 */
1181
static int hf_h245_domainBased;                   /* IA5String_SIZE_1_64 */
1182
static int hf_h245_parameterIdentifier;           /* ParameterIdentifier */
1183
static int hf_h245_parameterValue;                /* ParameterValue */
1184
static int hf_h245_supersedes;                    /* SEQUENCE_OF_ParameterIdentifier */
1185
static int hf_h245_supersedes_item;               /* ParameterIdentifier */
1186
static int hf_h245_standard;                      /* T_standard */
1187
static int hf_h245_logical;                       /* NULL */
1188
static int hf_h245_booleanArray;                  /* T_booleanArray */
1189
static int hf_h245_unsignedMin;                   /* T_unsignedMin */
1190
static int hf_h245_unsignedMax;                   /* T_unsignedMax */
1191
static int hf_h245_unsigned32Min;                 /* T_unsigned32Min */
1192
static int hf_h245_unsigned32Max;                 /* T_unsigned32Max */
1193
static int hf_h245_octetString;                   /* T_octetString */
1194
static int hf_h245_genericParameters;             /* SEQUENCE_OF_GenericParameter */
1195
static int hf_h245_genericParameters_item;        /* GenericParameter */
1196
static int hf_h245_multiplexFormat;               /* MultiplexFormat */
1197
static int hf_h245_controlOnMuxStream;            /* BOOLEAN */
1198
static int hf_h245_capabilityOnMuxStream;         /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1199
static int hf_h245_capabilityOnMuxStream_item;    /* AlternativeCapabilitySet */
1200
static int hf_h245_dynamicRTPPayloadType;         /* INTEGER_96_127 */
1201
static int hf_h245_audioTelephoneEvent;           /* GeneralString */
1202
static int hf_h245_capabilities;                  /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1203
static int hf_h245_capabilities_item;             /* AlternativeCapabilitySet */
1204
static int hf_h245_fecc_rfc2733;                  /* FECC_rfc2733 */
1205
static int hf_h245_redundancyEncodingBool;        /* BOOLEAN */
1206
static int hf_h245_separateStreamBool;            /* T_separateStreamBool */
1207
static int hf_h245_separatePort;                  /* BOOLEAN */
1208
static int hf_h245_samePortBool;                  /* BOOLEAN */
1209
static int hf_h245_protectedCapability;           /* CapabilityTableEntryNumber */
1210
static int hf_h245_fecScheme;                     /* OBJECT_IDENTIFIER */
1211
static int hf_h245_rfc2733rfc2198;                /* MaxRedundancy */
1212
static int hf_h245_rfc2733sameport;               /* MaxRedundancy */
1213
static int hf_h245_rfc2733diffport;               /* MaxRedundancy */
1214
static int hf_h245_rfc2733Format;                 /* Rfc2733Format */
1215
static int hf_h245_olc_fw_lcn;                    /* OLC_fw_lcn */
1216
static int hf_h245_forwardLogicalChannelParameters;  /* T_forwardLogicalChannelParameters */
1217
static int hf_h245_portNumber;                    /* INTEGER_0_65535 */
1218
static int hf_h245_dataType;                      /* DataType */
1219
static int hf_h245_olc_forw_multiplexParameters;  /* OLC_forw_multiplexParameters */
1220
static int hf_h245_h222LogicalChannelParameters;  /* H222LogicalChannelParameters */
1221
static int hf_h245_olc_fw_h223_params;            /* OLC_fw_h223_params */
1222
static int hf_h245_v76LogicalChannelParameters;   /* V76LogicalChannelParameters */
1223
static int hf_h245_h2250LogicalChannelParameters;  /* H2250LogicalChannelParameters */
1224
static int hf_h245_forwardLogicalChannelDependency;  /* LogicalChannelNumber */
1225
static int hf_h245_replacementFor;                /* LogicalChannelNumber */
1226
static int hf_h245_reverseLogicalChannelParameters;  /* OLC_reverseLogicalChannelParameters */
1227
static int hf_h245_olc_rev_multiplexParameter;    /* OLC_rev_multiplexParameters */
1228
static int hf_h245_olc_rev_h223_params;           /* OLC_rev_h223_params */
1229
static int hf_h245_reverseLogicalChannelDependency;  /* LogicalChannelNumber */
1230
static int hf_h245_separateStack;                 /* NetworkAccessParameters */
1231
static int hf_h245_encryptionSync;                /* EncryptionSync */
1232
static int hf_h245_distribution;                  /* T_distribution */
1233
static int hf_h245_unicast;                       /* NULL */
1234
static int hf_h245_multicast;                     /* NULL */
1235
static int hf_h245_networkAddress;                /* T_networkAddress */
1236
static int hf_h245_q2931Address;                  /* Q2931Address */
1237
static int hf_h245_e164Address;                   /* T_e164Address */
1238
static int hf_h245_localAreaAddress;              /* TransportAddress */
1239
static int hf_h245_associateConference;           /* BOOLEAN */
1240
static int hf_h245_externalReference;             /* OCTET_STRING_SIZE_1_255 */
1241
static int hf_h245_t120SetupProcedure;            /* T_t120SetupProcedure */
1242
static int hf_h245_originateCall;                 /* NULL */
1243
static int hf_h245_waitForCall;                   /* NULL */
1244
static int hf_h245_issueQuery;                    /* NULL */
1245
static int hf_h245_address;                       /* T_address */
1246
static int hf_h245_internationalNumber;           /* NumericString_SIZE_1_16 */
1247
static int hf_h245_nsapAddress;                   /* OCTET_STRING_SIZE_1_20 */
1248
static int hf_h245_subaddress;                    /* OCTET_STRING_SIZE_1_20 */
1249
static int hf_h245_audioHeaderPresent;            /* BOOLEAN */
1250
static int hf_h245_nullData;                      /* NULL */
1251
static int hf_h245_videoData;                     /* VideoCapability */
1252
static int hf_h245_audioData;                     /* AudioCapability */
1253
static int hf_h245_data;                          /* DataApplicationCapability */
1254
static int hf_h245_encryptionData;                /* EncryptionMode */
1255
static int hf_h245_h235Control;                   /* NonStandardParameter */
1256
static int hf_h245_h235Media;                     /* H235Media */
1257
static int hf_h245_multiplexedStream;             /* MultiplexedStreamParameter */
1258
static int hf_h245_redundancyEncoding;            /* RedundancyEncoding */
1259
static int hf_h245_multiplePayloadStream;         /* MultiplePayloadStream */
1260
static int hf_h245_depFec;                        /* DepFECData */
1261
static int hf_h245_fec;                           /* FECData */
1262
static int hf_h245_mediaType;                     /* T_mediaType */
1263
static int hf_h245_resourceID;                    /* INTEGER_0_65535 */
1264
static int hf_h245_subChannelID;                  /* INTEGER_0_8191 */
1265
static int hf_h245_pcr_pid;                       /* INTEGER_0_8191 */
1266
static int hf_h245_programDescriptors;            /* OCTET_STRING */
1267
static int hf_h245_streamDescriptors;             /* OCTET_STRING */
1268
static int hf_h245_adaptationLayerType;           /* T_adaptationLayerType */
1269
static int hf_h245_h223_al_type_al1Framed;        /* T_h223_al_type_al1Framed */
1270
static int hf_h245_h223_al_type_al1NotFramed;     /* T_h223_al_type_al1NotFramed */
1271
static int hf_h245_h223_al_type_al2WithoutSequenceNumbers;  /* T_h223_al_type_al2WithoutSequenceNumbers */
1272
static int hf_h245_h223_al_type_al2WithSequenceNumbers;  /* T_h223_al_type_al2WithSequenceNumbers */
1273
static int hf_h245_controlFieldOctets;            /* T_controlFieldOctets */
1274
static int hf_h245_al3_sendBufferSize;            /* T_al3_sendBufferSize */
1275
static int hf_h245_h223_al_type_al3;              /* T_h223_al_type_al3 */
1276
static int hf_h245_h223_al_type_al1M;             /* T_h223_al_type_al1M */
1277
static int hf_h245_h223_al_type_al2M;             /* T_h223_al_type_al2M */
1278
static int hf_h245_h223_al_type_al3M;             /* T_h223_al_type_al3M */
1279
static int hf_h245_h223_lc_segmentableFlag;       /* T_h223_lc_segmentableFlag */
1280
static int hf_h245_transferMode;                  /* T_transferMode */
1281
static int hf_h245_framed;                        /* NULL */
1282
static int hf_h245_unframed;                      /* NULL */
1283
static int hf_h245_aL1HeaderFEC;                  /* AL1HeaderFEC */
1284
static int hf_h245_sebch16_7;                     /* NULL */
1285
static int hf_h245_golay24_12;                    /* NULL */
1286
static int hf_h245_crcLength2;                    /* AL1CrcLength */
1287
static int hf_h245_crc4bit;                       /* NULL */
1288
static int hf_h245_crc12bit;                      /* NULL */
1289
static int hf_h245_crc20bit;                      /* NULL */
1290
static int hf_h245_crc28bit;                      /* NULL */
1291
static int hf_h245_crc8bit;                       /* NULL */
1292
static int hf_h245_crc16bit;                      /* NULL */
1293
static int hf_h245_crc32bit;                      /* NULL */
1294
static int hf_h245_crcNotUsed;                    /* NULL */
1295
static int hf_h245_rcpcCodeRate;                  /* INTEGER_8_32 */
1296
static int hf_h245_noArq;                         /* NULL */
1297
static int hf_h245_typeIArq;                      /* H223AnnexCArqParameters */
1298
static int hf_h245_typeIIArq;                     /* H223AnnexCArqParameters */
1299
static int hf_h245_arqType;                       /* ArqType */
1300
static int hf_h245_alsduSplitting;                /* BOOLEAN */
1301
static int hf_h245_rsCodeCorrection;              /* INTEGER_0_127 */
1302
static int hf_h245_aL2HeaderFEC;                  /* AL2HeaderFEC */
1303
static int hf_h245_sebch16_5;                     /* NULL */
1304
static int hf_h245_headerFormat;                  /* T_headerFormat */
1305
static int hf_h245_crlength2;                     /* AL3CrcLength */
1306
static int hf_h245_numberOfRetransmissions;       /* T_numberOfRetransmissions */
1307
static int hf_h245_finite;                        /* INTEGER_0_16 */
1308
static int hf_h245_infinite;                      /* NULL */
1309
static int hf_h245_sendBufferSize;                /* INTEGER_0_16777215 */
1310
static int hf_h245_hdlcParameters;                /* V76HDLCParameters */
1311
static int hf_h245_suspendResume;                 /* T_suspendResume */
1312
static int hf_h245_noSuspendResume;               /* NULL */
1313
static int hf_h245_suspendResumewAddress;         /* NULL */
1314
static int hf_h245_suspendResumewoAddress;        /* NULL */
1315
static int hf_h245_uIH;                           /* BOOLEAN */
1316
static int hf_h245_v76_mode;                      /* V76LCP_mode */
1317
static int hf_h245_eRM;                           /* T_eRM */
1318
static int hf_h245_windowSize;                    /* INTEGER_1_127 */
1319
static int hf_h245_recovery;                      /* T_recovery */
1320
static int hf_h245_rej;                           /* NULL */
1321
static int hf_h245_sREJ;                          /* NULL */
1322
static int hf_h245_mSREJ;                         /* NULL */
1323
static int hf_h245_uNERM;                         /* NULL */
1324
static int hf_h245_v75Parameters;                 /* V75Parameters */
1325
static int hf_h245_crcLength;                     /* CRCLength */
1326
static int hf_h245_n401;                          /* INTEGER_1_4095 */
1327
static int hf_h245_loopbackTestProcedure;         /* BOOLEAN */
1328
static int hf_h245_sessionID_0_255;               /* INTEGER_0_255 */
1329
static int hf_h245_associatedSessionID;           /* INTEGER_1_255 */
1330
static int hf_h245_mediaChannel;                  /* T_mediaChannel */
1331
static int hf_h245_mediaGuaranteedDelivery;       /* BOOLEAN */
1332
static int hf_h245_mediaControlChannel;           /* T_mediaControlChannel */
1333
static int hf_h245_mediaControlGuaranteedDelivery;  /* BOOLEAN */
1334
static int hf_h245_destination;                   /* TerminalLabel */
1335
static int hf_h245_mediaPacketization;            /* T_mediaPacketization */
1336
static int hf_h245_h261aVideoPacketizationFlag;   /* NULL */
1337
static int hf_h245_rtpPayloadType;                /* RTPPayloadType */
1338
static int hf_h245_source;                        /* TerminalLabel */
1339
static int hf_h245_payloadDescriptor;             /* T_payloadDescriptor */
1340
static int hf_h245_rfc_number;                    /* T_rfc_number */
1341
static int hf_h245_oid;                           /* OBJECT_IDENTIFIER */
1342
static int hf_h245_rtpPayloadType_01;             /* T_rtpPayloadType */
1343
static int hf_h245_secondaryEncoding;             /* DataType */
1344
static int hf_h245_rtpRedundancyEncoding;         /* T_rtpRedundancyEncoding */
1345
static int hf_h245_primary;                       /* RedundancyEncodingElement */
1346
static int hf_h245_secondary;                     /* SEQUENCE_OF_RedundancyEncodingElement */
1347
static int hf_h245_secondary_item;                /* RedundancyEncodingElement */
1348
static int hf_h245_payloadType;                   /* INTEGER_0_127 */
1349
static int hf_h245_elements;                      /* SEQUENCE_OF_MultiplePayloadStreamElement */
1350
static int hf_h245_elements_item;                 /* MultiplePayloadStreamElement */
1351
static int hf_h245_dep_rfc2733;                   /* RFC2733Data */
1352
static int hf_h245_fec_data_mode;                 /* FECdata_mode */
1353
static int hf_h245_redundancyEncodingFlag;        /* NULL */
1354
static int hf_h245_differentPort;                 /* T_differentPort */
1355
static int hf_h245_protectedSessionID;            /* INTEGER_1_255 */
1356
static int hf_h245_protectedPayloadType;          /* INTEGER_0_127 */
1357
static int hf_h245_samePort;                      /* T_samePort */
1358
static int hf_h245_separateStream;                /* DepSeparateStream */
1359
static int hf_h245_rfc2733;                       /* T_rfc2733 */
1360
static int hf_h245_pktMode;                       /* T_pktMode */
1361
static int hf_h245_rfc2198coding;                 /* NULL */
1362
static int hf_h245_mode_rfc2733sameport;          /* T_mode_rfc2733sameport */
1363
static int hf_h245_mode_rfc2733diffport;          /* T_mode_rfc2733diffport */
1364
static int hf_h245_protectedChannel;              /* LogicalChannelNumber */
1365
static int hf_h245_unicastAddress;                /* UnicastAddress */
1366
static int hf_h245_multicastAddress;              /* MulticastAddress */
1367
static int hf_h245_iPAddress;                     /* T_iPAddress */
1368
static int hf_h245_ip4_network;                   /* Ipv4_network */
1369
static int hf_h245_tsapIdentifier;                /* TsapIdentifier */
1370
static int hf_h245_iPXAddress;                    /* T_iPXAddress */
1371
static int hf_h245_node;                          /* OCTET_STRING_SIZE_6 */
1372
static int hf_h245_netnum;                        /* OCTET_STRING_SIZE_4 */
1373
static int hf_h245_ipx_tsapIdentifier;            /* OCTET_STRING_SIZE_2 */
1374
static int hf_h245_iP6Address;                    /* T_iP6Address */
1375
static int hf_h245_ip6_network;                   /* T_ip6_network */
1376
static int hf_h245_ipv6_tsapIdentifier;           /* T_ipv6_tsapIdentifier */
1377
static int hf_h245_netBios;                       /* OCTET_STRING_SIZE_16 */
1378
static int hf_h245_iPSourceRouteAddress;          /* T_iPSourceRouteAddress */
1379
static int hf_h245_routing;                       /* T_routing */
1380
static int hf_h245_strict;                        /* NULL */
1381
static int hf_h245_loose;                         /* NULL */
1382
static int hf_h245_network;                       /* OCTET_STRING_SIZE_4 */
1383
static int hf_h245_iPSrcRoute_tsapIdentifier;     /* INTEGER_0_65535 */
1384
static int hf_h245_route;                         /* T_route */
1385
static int hf_h245_route_item;                    /* OCTET_STRING_SIZE_4 */
1386
static int hf_h245_nsap;                          /* OCTET_STRING_SIZE_1_20 */
1387
static int hf_h245_nonStandardAddress;            /* NonStandardParameter */
1388
static int hf_h245_mIPAddress;                    /* MIPAddress */
1389
static int hf_h245_mip4_network;                  /* OCTET_STRING_SIZE_4 */
1390
static int hf_h245_multicast_tsapIdentifier;      /* INTEGER_0_65535 */
1391
static int hf_h245_mIP6Address;                   /* MIP6Address */
1392
static int hf_h245_mip6_network;                  /* OCTET_STRING_SIZE_16 */
1393
static int hf_h245_multicast_IPv6_tsapIdentifier;  /* INTEGER_0_65535 */
1394
static int hf_h245_synchFlag;                     /* INTEGER_0_255 */
1395
static int hf_h245_h235Key;                       /* OCTET_STRING_SIZE_1_65535 */
1396
static int hf_h245_escrowentry;                   /* SEQUENCE_SIZE_1_256_OF_EscrowData */
1397
static int hf_h245_escrowentry_item;              /* EscrowData */
1398
static int hf_h245_genericParameter;              /* GenericParameter */
1399
static int hf_h245_escrowID;                      /* OBJECT_IDENTIFIER */
1400
static int hf_h245_escrowValue;                   /* BIT_STRING_SIZE_1_65535 */
1401
static int hf_h245_olc_ack_fw_lcn;                /* OLC_ack_fw_lcn */
1402
static int hf_h245_olc_ack_reverseLogicalChannelParameters;  /* OLC_ack_reverseLogicalChannelParameters */
1403
static int hf_h245_reverseLogicalChannelNumber;   /* T_reverseLogicalChannelNumber */
1404
static int hf_h245_olc_ack_multiplexParameters;   /* T_olc_ack_multiplexParameters */
1405
static int hf_h245_forwardMultiplexAckParameters;  /* T_forwardMultiplexAckParameters */
1406
static int hf_h245_h2250LogicalChannelAckParameters;  /* H2250LogicalChannelAckParameters */
1407
static int hf_h245_forwardLogicalChannelNumber;   /* LogicalChannelNumber */
1408
static int hf_h245_olc_rej_cause;                 /* OpenLogicalChannelRejectCause */
1409
static int hf_h245_unsuitableReverseParameters;   /* NULL */
1410
static int hf_h245_dataTypeNotSupported;          /* NULL */
1411
static int hf_h245_dataTypeNotAvailable;          /* NULL */
1412
static int hf_h245_unknownDataType;               /* NULL */
1413
static int hf_h245_dataTypeALCombinationNotSupported;  /* NULL */
1414
static int hf_h245_multicastChannelNotAllowed;    /* NULL */
1415
static int hf_h245_insufficientBandwidth;         /* NULL */
1416
static int hf_h245_separateStackEstablishmentFailed;  /* NULL */
1417
static int hf_h245_invalidSessionID;              /* NULL */
1418
static int hf_h245_masterSlaveConflict;           /* NULL */
1419
static int hf_h245_waitForCommunicationMode;      /* NULL */
1420
static int hf_h245_invalidDependentChannel;       /* NULL */
1421
static int hf_h245_replacementForRejected;        /* NULL */
1422
static int hf_h245_securityDenied;                /* NULL */
1423
static int hf_h245_qoSControlNotSupported;        /* NULL */
1424
static int hf_h245_sessionID;                     /* INTEGER_1_255 */
1425
static int hf_h245_ack_mediaChannel;              /* Ack_mediaChannel */
1426
static int hf_h245_ack_mediaControlChannel;       /* Ack_mediaControlChannel */
1427
static int hf_h245_flowControlToZero;             /* BOOLEAN */
1428
static int hf_h245_cLC_source;                    /* T_cLC_source */
1429
static int hf_h245_user;                          /* NULL */
1430
static int hf_h245_lcse;                          /* NULL */
1431
static int hf_h245_clc_reason;                    /* Clc_reason */
1432
static int hf_h245_unknown;                       /* NULL */
1433
static int hf_h245_reopen;                        /* NULL */
1434
static int hf_h245_reservationFailure;            /* NULL */
1435
static int hf_h245_networkErrorCode;              /* INTEGER_0_255 */
1436
static int hf_h245_qosCapability;                 /* QOSCapability */
1437
static int hf_h245_reason;                        /* T_reason */
1438
static int hf_h245_normal;                        /* NULL */
1439
static int hf_h245_req_chan_clos_rej_cause;       /* RequestChannelCloseRejectCause */
1440
static int hf_h245_multiplexEntryDescriptors;     /* SET_SIZE_1_15_OF_MultiplexEntryDescriptor */
1441
static int hf_h245_multiplexEntryDescriptors_item;  /* MultiplexEntryDescriptor */
1442
static int hf_h245_multiplexTableEntryNumber;     /* MultiplexTableEntryNumber */
1443
static int hf_h245_elementList;                   /* T_elementList */
1444
static int hf_h245_elementList_item;              /* MultiplexElement */
1445
static int hf_h245_me_type;                       /* Me_type */
1446
static int hf_h245_logicalChannelNum;             /* T_logicalChannelNum */
1447
static int hf_h245_subElementList;                /* T_subElementList */
1448
static int hf_h245_subElementList_item;           /* MultiplexElement */
1449
static int hf_h245_me_repeatCount;                /* ME_repeatCount */
1450
static int hf_h245_me_repeatCount_finite;         /* ME_finiteRepeatCount */
1451
static int hf_h245_untilClosingFlag;              /* T_untilClosingFlag */
1452
static int hf_h245_multiplexTableEntryNumbers;    /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1453
static int hf_h245_multiplexTableEntryNumbers_item;  /* MultiplexTableEntryNumber */
1454
static int hf_h245_sendRejectionDescriptions;     /* SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions */
1455
static int hf_h245_sendRejectionDescriptions_item;  /* MultiplexEntryRejectionDescriptions */
1456
static int hf_h245_mux_rej_cause;                 /* MultiplexEntryRejectionDescriptionsCause */
1457
static int hf_h245_unspecifiedCause;              /* NULL */
1458
static int hf_h245_descriptorTooComplex;          /* NULL */
1459
static int hf_h245_entryNumbers;                  /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1460
static int hf_h245_entryNumbers_item;             /* MultiplexTableEntryNumber */
1461
static int hf_h245_rejectionDescriptions;         /* SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions */
1462
static int hf_h245_rejectionDescriptions_item;    /* RequestMultiplexEntryRejectionDescriptions */
1463
static int hf_h245_req_mux_rej_cause;             /* RequestMultiplexEntryRejectionDescriptionsCause */
1464
static int hf_h245_requestedModes;                /* SEQUENCE_SIZE_1_256_OF_ModeDescription */
1465
static int hf_h245_requestedModes_item;           /* ModeDescription */
1466
static int hf_h245_req_mode_ack_response;         /* Req_mode_ack_response */
1467
static int hf_h245_willTransmitMostPreferredMode;  /* NULL */
1468
static int hf_h245_willTransmitLessPreferredMode;  /* NULL */
1469
static int hf_h245_req_rej_cause;                 /* RequestModeRejectCause */
1470
static int hf_h245_modeUnavailable;               /* NULL */
1471
static int hf_h245_multipointConstraint;          /* NULL */
1472
static int hf_h245_requestDenied;                 /* NULL */
1473
static int hf_h245_ModeDescription_item;          /* ModeElement */
1474
static int hf_h245_videoMode;                     /* VideoMode */
1475
static int hf_h245_audioMode;                     /* AudioMode */
1476
static int hf_h245_dataMode;                      /* DataMode */
1477
static int hf_h245_encryptionMode;                /* EncryptionMode */
1478
static int hf_h245_h235Mode;                      /* H235Mode */
1479
static int hf_h245_multiplexedStreamMode;         /* MultiplexedStreamParameter */
1480
static int hf_h245_redundancyEncodingDTMode;      /* RedundancyEncodingDTMode */
1481
static int hf_h245_multiplePayloadStreamMode;     /* MultiplePayloadStreamMode */
1482
static int hf_h245_depFecMode;                    /* DepFECMode */
1483
static int hf_h245_fecMode;                       /* FECMode */
1484
static int hf_h245_type;                          /* ModeElementType */
1485
static int hf_h245_h223ModeParameters;            /* H223ModeParameters */
1486
static int hf_h245_v76ModeParameters;             /* V76ModeParameters */
1487
static int hf_h245_h2250ModeParameters;           /* H2250ModeParameters */
1488
static int hf_h245_genericModeParameters;         /* GenericCapability */
1489
static int hf_h245_multiplexedStreamModeParameters;  /* MultiplexedStreamModeParameters */
1490
static int hf_h245_logicalChannelNumber;          /* LogicalChannelNumber */
1491
static int hf_h245_mediaMode;                     /* T_mediaMode */
1492
static int hf_h245_prmary_dtmode;                 /* RedundancyEncodingDTModeElement */
1493
static int hf_h245_secondaryDTM;                  /* SEQUENCE_OF_RedundancyEncodingDTModeElement */
1494
static int hf_h245_secondaryDTM_item;             /* RedundancyEncodingDTModeElement */
1495
static int hf_h245_re_type;                       /* Re_type */
1496
static int hf_h245_mpsmElements;                  /* SEQUENCE_OF_MultiplePayloadStreamElementMode */
1497
static int hf_h245_mpsmElements_item;             /* MultiplePayloadStreamElementMode */
1498
static int hf_h245_rfc2733Mode;                   /* T_rfc2733Mode */
1499
static int hf_h245_fec_mode;                      /* FEC_mode */
1500
static int hf_h245_protectedElement;              /* ModeElementType */
1501
static int hf_h245_adaptationLayer;               /* AdaptationLayerType */
1502
static int hf_h245_al1Framed;                     /* NULL */
1503
static int hf_h245_al1NotFramed;                  /* NULL */
1504
static int hf_h245_al2WithoutSequenceNumbers;     /* NULL */
1505
static int hf_h245_al2WithSequenceNumbers;        /* NULL */
1506
static int hf_h245_al3;                           /* Al3 */
1507
static int hf_h245_al1M;                          /* H223AL1MParameters */
1508
static int hf_h245_al2M;                          /* H223AL2MParameters */
1509
static int hf_h245_al3M;                          /* H223AL3MParameters */
1510
static int hf_h245_segmentableFlag;               /* BOOLEAN */
1511
static int hf_h245_redundancyEncodingMode;        /* RedundancyEncodingMode */
1512
static int hf_h245_secondaryEncodingMode;         /* T_secondaryEncodingMode */
1513
static int hf_h245_h261VideoMode;                 /* H261VideoMode */
1514
static int hf_h245_h262VideoMode;                 /* H262VideoMode */
1515
static int hf_h245_h263VideoMode;                 /* H263VideoMode */
1516
static int hf_h245_is11172VideoMode;              /* IS11172VideoMode */
1517
static int hf_h245_genericVideoMode;              /* GenericCapability */
1518
static int hf_h245_h261_resolution;               /* H261Resolution */
1519
static int hf_h245_qcif;                          /* NULL */
1520
static int hf_h245_cif;                           /* NULL */
1521
static int hf_h245_profileAndLevel;               /* T_profileAndLevel */
1522
static int hf_h245_profileAndLevel_SPatMLMode;    /* NULL */
1523
static int hf_h245_profileAndLevel_MPatLLMode;    /* NULL */
1524
static int hf_h245_profileAndLevel_MPatMLMode;    /* NULL */
1525
static int hf_h245_profileAndLevel_MPatH_14Mode;  /* NULL */
1526
static int hf_h245_profileAndLevel_MPatHLMode;    /* NULL */
1527
static int hf_h245_profileAndLevel_SNRatLLMode;   /* NULL */
1528
static int hf_h245_profileAndLevel_SNRatMLMode;   /* NULL */
1529
static int hf_h245_profileAndLevel_SpatialatH_14Mode;  /* NULL */
1530
static int hf_h245_profileAndLevel_HPatMLMode;    /* NULL */
1531
static int hf_h245_profileAndLevel_HPatH_14Mode;  /* NULL */
1532
static int hf_h245_profileAndLevel_HPatHLMode;    /* NULL */
1533
static int hf_h245_h263_resolution;               /* H263Resolution */
1534
static int hf_h245_sqcif;                         /* NULL */
1535
static int hf_h245_cif4;                          /* NULL */
1536
static int hf_h245_cif16;                         /* NULL */
1537
static int hf_h245_custom_res;                    /* NULL */
1538
static int hf_h245_g711Alaw64k_mode;              /* NULL */
1539
static int hf_h245_g711Alaw56k_mode;              /* NULL */
1540
static int hf_h245_g711Ulaw64k_mode;              /* NULL */
1541
static int hf_h245_g711Ulaw56k_mode;              /* NULL */
1542
static int hf_h245_g722_64k_mode;                 /* NULL */
1543
static int hf_h245_g722_56k_mode;                 /* NULL */
1544
static int hf_h245_g722_48k_mode;                 /* NULL */
1545
static int hf_h245_g728_mode;                     /* NULL */
1546
static int hf_h245_g729_mode;                     /* NULL */
1547
static int hf_h245_g729AnnexA_mode;               /* NULL */
1548
static int hf_h245_g7231_mode;                    /* Mode_g7231 */
1549
static int hf_h245_noSilenceSuppressionLowRate;   /* NULL */
1550
static int hf_h245_noSilenceSuppressionHighRate;  /* NULL */
1551
static int hf_h245_silenceSuppressionLowRate;     /* NULL */
1552
static int hf_h245_silenceSuppressionHighRate;    /* NULL */
1553
static int hf_h245_is11172AudioMode;              /* IS11172AudioMode */
1554
static int hf_h245_is13818AudioMode;              /* IS13818AudioMode */
1555
static int hf_h245_g7231AnnexCMode;               /* G7231AnnexCMode */
1556
static int hf_h245_genericAudioMode;              /* GenericCapability */
1557
static int hf_h245_vbd_mode;                      /* VBDMode */
1558
static int hf_h245_audioLayer;                    /* T_audioLayer */
1559
static int hf_h245_audioLayer1Mode;               /* NULL */
1560
static int hf_h245_audioLayer2Mode;               /* NULL */
1561
static int hf_h245_audioLayer3Mode;               /* NULL */
1562
static int hf_h245_audioSampling;                 /* T_audioSampling */
1563
static int hf_h245_audioSampling32kMode;          /* NULL */
1564
static int hf_h245_audioSampling44k1Mode;         /* NULL */
1565
static int hf_h245_audioSampling48kMode;          /* NULL */
1566
static int hf_h245_is11172multichannelType;       /* IS11172_multichannelType */
1567
static int hf_h245_singleChannelMode;             /* NULL */
1568
static int hf_h245_twoChannelStereo;              /* NULL */
1569
static int hf_h245_twoChannelDual;                /* NULL */
1570
static int hf_h245_audioLayerMode;                /* IS13818AudioLayer */
1571
static int hf_h245_audioSamplingMode;             /* IS13818AudioSampling */
1572
static int hf_h245_audioSampling16kMode;          /* NULL */
1573
static int hf_h245_audioSampling22k05Mode;        /* NULL */
1574
static int hf_h245_audioSampling24kMode;          /* NULL */
1575
static int hf_h245_is13818MultichannelType;       /* IS13818MultichannelType */
1576
static int hf_h245_threeChannels2_1Mode;          /* NULL */
1577
static int hf_h245_threeChannels3_0Mode;          /* NULL */
1578
static int hf_h245_fourChannels2_0_2_0Mode;       /* NULL */
1579
static int hf_h245_fourChannels2_2Mode;           /* NULL */
1580
static int hf_h245_fourChannels3_1Mode;           /* NULL */
1581
static int hf_h245_fiveChannels3_0_2_0Mode;       /* NULL */
1582
static int hf_h245_fiveChannels3_2Mode;           /* NULL */
1583
static int hf_h245_vbd_type;                      /* AudioMode */
1584
static int hf_h245_datamodeapplication;           /* DataModeApplication */
1585
static int hf_h245_t84DataProtocolCapability;     /* DataProtocolCapability */
1586
static int hf_h245_t38faxDataProtocolCapability;  /* T38faxApp */
1587
static int hf_h245_genericDataMode;               /* GenericCapability */
1588
static int hf_h245_bitRate_0_4294967295;          /* INTEGER_0_4294967295 */
1589
static int hf_h245_h233Encryption;                /* NULL */
1590
static int hf_h245_mlr_type;                      /* Mlr_type */
1591
static int hf_h245_systemLoop;                    /* NULL */
1592
static int hf_h245_mediaLoop;                     /* LogicalChannelNumber */
1593
static int hf_h245_logicalChannelLoop;            /* LogicalChannelNumber */
1594
static int hf_h245_mla_type;                      /* Mla_type */
1595
static int hf_h245_mlrej_type;                    /* Mlrej_type */
1596
static int hf_h245_maintloop_rej_cause;           /* MaintenanceLoopRejectCause */
1597
static int hf_h245_canNotPerformLoop;             /* NULL */
1598
static int hf_h245_communicationModeTable;        /* SET_SIZE_1_256_OF_CommunicationModeTableEntry */
1599
static int hf_h245_communicationModeTable_item;   /* CommunicationModeTableEntry */
1600
static int hf_h245_terminalLabel;                 /* TerminalLabel */
1601
static int hf_h245_sessionDescription;            /* BMPString_SIZE_1_128 */
1602
static int hf_h245_entryDataType;                 /* T_entryDataType */
1603
static int hf_h245_cm_mediaChannel;               /* Cm_mediaChannel */
1604
static int hf_h245_cm_mediaControlChannel;        /* TransportAddress */
1605
static int hf_h245_sessionDependency;             /* INTEGER_1_255 */
1606
static int hf_h245_terminalListRequest;           /* NULL */
1607
static int hf_h245_makeMeChair;                   /* NULL */
1608
static int hf_h245_cancelMakeMeChair;             /* NULL */
1609
static int hf_h245_dropTerminal;                  /* TerminalLabel */
1610
static int hf_h245_requestTerminalID;             /* TerminalLabel */
1611
static int hf_h245_enterH243Password;             /* NULL */
1612
static int hf_h245_enterH243TerminalID;           /* NULL */
1613
static int hf_h245_enterH243ConferenceID;         /* NULL */
1614
static int hf_h245_enterExtensionAddress;         /* NULL */
1615
static int hf_h245_requestChairTokenOwner;        /* NULL */
1616
static int hf_h245_requestTerminalCertificate;    /* T_requestTerminalCertificate */
1617
static int hf_h245_certSelectionCriteria;         /* CertSelectionCriteria */
1618
static int hf_h245_sRandom;                       /* INTEGER_1_4294967295 */
1619
static int hf_h245_broadcastMyLogicalChannel;     /* LogicalChannelNumber */
1620
static int hf_h245_makeTerminalBroadcaster;       /* TerminalLabel */
1621
static int hf_h245_sendThisSource;                /* TerminalLabel */
1622
static int hf_h245_requestAllTerminalIDs;         /* NULL */
1623
static int hf_h245_remoteMCRequest;               /* RemoteMCRequest */
1624
static int hf_h245_CertSelectionCriteria_item;    /* Criteria */
1625
static int hf_h245_field;                         /* OBJECT_IDENTIFIER */
1626
static int hf_h245_criteriaValue;                 /* OCTET_STRING_SIZE_1_65535 */
1627
static int hf_h245_mcuNumber;                     /* McuNumber */
1628
static int hf_h245_terminalNumber;                /* TerminalNumber */
1629
static int hf_h245_mCTerminalIDResponse;          /* T_mCTerminalIDResponse */
1630
static int hf_h245_terminalID;                    /* TerminalID */
1631
static int hf_h245_terminalIDResponse;            /* T_terminalIDResponse */
1632
static int hf_h245_conferenceIDResponse;          /* T_conferenceIDResponse */
1633
static int hf_h245_conferenceID;                  /* ConferenceID */
1634
static int hf_h245_passwordResponse;              /* T_passwordResponse */
1635
static int hf_h245_password;                      /* Password */
1636
static int hf_h245_terminalListResponse;          /* SET_SIZE_1_256_OF_TerminalLabel */
1637
static int hf_h245_terminalListResponse_item;     /* TerminalLabel */
1638
static int hf_h245_videoCommandReject;            /* NULL */
1639
static int hf_h245_terminalDropReject;            /* NULL */
1640
static int hf_h245_makeMeChairResponse;           /* T_makeMeChairResponse */
1641
static int hf_h245_grantedChairToken;             /* NULL */
1642
static int hf_h245_deniedChairToken;              /* NULL */
1643
static int hf_h245_extensionAddressResponse;      /* T_extensionAddressResponse */
1644
static int hf_h245_extensionAddress;              /* TerminalID */
1645
static int hf_h245_chairTokenOwnerResponse;       /* T_chairTokenOwnerResponse */
1646
static int hf_h245_terminalCertificateResponse;   /* T_terminalCertificateResponse */
1647
static int hf_h245_certificateResponse;           /* OCTET_STRING_SIZE_1_65535 */
1648
static int hf_h245_broadcastMyLogicalChannelResponse;  /* T_broadcastMyLogicalChannelResponse */
1649
static int hf_h245_grantedBroadcastMyLogicalChannel;  /* NULL */
1650
static int hf_h245_deniedBroadcastMyLogicalChannel;  /* NULL */
1651
static int hf_h245_makeTerminalBroadcasterResponse;  /* T_makeTerminalBroadcasterResponse */
1652
static int hf_h245_grantedMakeTerminalBroadcaster;  /* NULL */
1653
static int hf_h245_deniedMakeTerminalBroadcaster;  /* NULL */
1654
static int hf_h245_sendThisSourceResponse;        /* T_sendThisSourceResponse */
1655
static int hf_h245_grantedSendThisSource;         /* NULL */
1656
static int hf_h245_deniedSendThisSource;          /* NULL */
1657
static int hf_h245_requestAllTerminalIDsResponse;  /* RequestAllTerminalIDsResponse */
1658
static int hf_h245_remoteMCResponse;              /* RemoteMCResponse */
1659
static int hf_h245_terminalInformation;           /* SEQUENCE_OF_TerminalInformation */
1660
static int hf_h245_terminalInformation_item;      /* TerminalInformation */
1661
static int hf_h245_masterActivate;                /* NULL */
1662
static int hf_h245_slaveActivate;                 /* NULL */
1663
static int hf_h245_deActivate;                    /* NULL */
1664
static int hf_h245_accept;                        /* NULL */
1665
static int hf_h245_reject;                        /* T_reject */
1666
static int hf_h245_functionNotSupportedFlag;      /* NULL */
1667
static int hf_h245_callInformationReq;            /* CallInformationReq */
1668
static int hf_h245_maxNumberOfAdditionalConnections;  /* INTEGER_1_65535 */
1669
static int hf_h245_addConnectionReq;              /* AddConnectionReq */
1670
static int hf_h245_dialingInformation;            /* DialingInformation */
1671
static int hf_h245_removeConnectionReq;           /* RemoveConnectionReq */
1672
static int hf_h245_connectionIdentifier;          /* ConnectionIdentifier */
1673
static int hf_h245_maximumHeaderIntervalReq;      /* MaximumHeaderIntervalReq */
1674
static int hf_h245_requestType;                   /* T_requestType */
1675
static int hf_h245_currentIntervalInformation;    /* NULL */
1676
static int hf_h245_requestedInterval;             /* INTEGER_0_65535 */
1677
static int hf_h245_callInformationResp;           /* CallInformationResp */
1678
static int hf_h245_callAssociationNumber;         /* INTEGER_0_4294967295 */
1679
static int hf_h245_addConnectionResp;             /* AddConnectionResp */
1680
static int hf_h245_responseCode;                  /* T_responseCode */
1681
static int hf_h245_accepted;                      /* NULL */
1682
static int hf_h245_rejected;                      /* T_rejected */
1683
static int hf_h245_connectionsNotAvailable;       /* NULL */
1684
static int hf_h245_userRejected;                  /* NULL */
1685
static int hf_h245_removeConnectionResp;          /* RemoveConnectionResp */
1686
static int hf_h245_maximumHeaderIntervalResp;     /* MaximumHeaderIntervalResp */
1687
static int hf_h245_currentInterval;               /* INTEGER_0_65535 */
1688
static int hf_h245_crcDesired;                    /* T_crcDesired */
1689
static int hf_h245_excessiveError;                /* T_excessiveError */
1690
static int hf_h245_differential;                  /* SET_SIZE_1_65535_OF_DialingInformationNumber */
1691
static int hf_h245_differential_item;             /* DialingInformationNumber */
1692
static int hf_h245_infoNotAvailable;              /* INTEGER_1_65535 */
1693
static int hf_h245_din_networkAddress;            /* NumericString_SIZE_0_40 */
1694
static int hf_h245_subAddress;                    /* IA5String_SIZE_1_40 */
1695
static int hf_h245_networkType;                   /* SET_SIZE_1_255_OF_DialingInformationNetworkType */
1696
static int hf_h245_networkType_item;              /* DialingInformationNetworkType */
1697
static int hf_h245_n_isdn;                        /* NULL */
1698
static int hf_h245_gstn;                          /* NULL */
1699
static int hf_h245_mobile;                        /* NULL */
1700
static int hf_h245_channelTag;                    /* INTEGER_0_4294967295 */
1701
static int hf_h245_sequenceNum;                   /* INTEGER_0_4294967295 */
1702
static int hf_h245_maximumBitRate;                /* MaximumBitRate */
1703
static int hf_h245_rejectReason;                  /* LogicalChannelRateRejectReason */
1704
static int hf_h245_currentMaximumBitRate;         /* MaximumBitRate */
1705
static int hf_h245_undefinedReason;               /* NULL */
1706
static int hf_h245_insufficientResources;         /* NULL */
1707
static int hf_h245_specificRequest;               /* T_specificRequest */
1708
static int hf_h245_multiplexCapabilityBool;       /* BOOLEAN */
1709
static int hf_h245_capabilityTableEntryNumbers;   /* SET_SIZE_1_65535_OF_CapabilityTableEntryNumber */
1710
static int hf_h245_capabilityTableEntryNumbers_item;  /* CapabilityTableEntryNumber */
1711
static int hf_h245_capabilityDescriptorNumbers;   /* SET_SIZE_1_256_OF_CapabilityDescriptorNumber */
1712
static int hf_h245_capabilityDescriptorNumbers_item;  /* CapabilityDescriptorNumber */
1713
static int hf_h245_genericRequestFlag;            /* NULL */
1714
static int hf_h245_encryptionSE;                  /* OCTET_STRING */
1715
static int hf_h245_encryptionIVRequest;           /* NULL */
1716
static int hf_h245_encryptionAlgorithmID;         /* T_encryptionAlgorithmID */
1717
static int hf_h245_h233AlgorithmIdentifier;       /* SequenceNumber */
1718
static int hf_h245_associatedAlgorithm;           /* NonStandardParameter */
1719
static int hf_h245_wholeMultiplex;                /* NULL */
1720
static int hf_h245_scope;                         /* Scope */
1721
static int hf_h245_res_maximumBitRate;            /* INTEGER_0_16777215 */
1722
static int hf_h245_noRestriction;                 /* NULL */
1723
static int hf_h245_restriction;                   /* Restriction */
1724
static int hf_h245_disconnect;                    /* NULL */
1725
static int hf_h245_gstnOptions;                   /* T_gstnOptions */
1726
static int hf_h245_telephonyMode;                 /* NULL */
1727
static int hf_h245_v8bis;                         /* NULL */
1728
static int hf_h245_v34DSVD;                       /* NULL */
1729
static int hf_h245_v34DuplexFAX;                  /* NULL */
1730
static int hf_h245_v34H324;                       /* NULL */
1731
static int hf_h245_isdnOptions;                   /* T_isdnOptions */
1732
static int hf_h245_v140;                          /* NULL */
1733
static int hf_h245_terminalOnHold;                /* NULL */
1734
static int hf_h245_cancelBroadcastMyLogicalChannel;  /* LogicalChannelNumber */
1735
static int hf_h245_cancelMakeTerminalBroadcaster;  /* NULL */
1736
static int hf_h245_cancelSendThisSource;          /* NULL */
1737
static int hf_h245_dropConference;                /* NULL */
1738
static int hf_h245_substituteConferenceIDCommand;  /* SubstituteConferenceIDCommand */
1739
static int hf_h245_conferenceIdentifier;          /* OCTET_STRING_SIZE_16 */
1740
static int hf_h245_masterToSlave;                 /* NULL */
1741
static int hf_h245_slaveToMaster;                 /* NULL */
1742
static int hf_h245_mc_type;                       /* Mc_type */
1743
static int hf_h245_equaliseDelay;                 /* NULL */
1744
static int hf_h245_zeroDelay;                     /* NULL */
1745
static int hf_h245_multipointModeCommand;         /* NULL */
1746
static int hf_h245_cancelMultipointModeCommand;   /* NULL */
1747
static int hf_h245_videoFreezePicture;            /* NULL */
1748
static int hf_h245_videoFastUpdatePicture;        /* NULL */
1749
static int hf_h245_videoFastUpdateGOB;            /* T_videoFastUpdateGOB */
1750
static int hf_h245_firstGOB;                      /* INTEGER_0_17 */
1751
static int hf_h245_numberOfGOBs;                  /* INTEGER_1_18 */
1752
static int hf_h245_videoTemporalSpatialTradeOff;  /* INTEGER_0_31 */
1753
static int hf_h245_videoSendSyncEveryGOB;         /* NULL */
1754
static int hf_h245_videoSendSyncEveryGOBCancel;   /* NULL */
1755
static int hf_h245_videoFastUpdateMB;             /* T_videoFastUpdateMB */
1756
static int hf_h245_firstGOB_0_255;                /* INTEGER_0_255 */
1757
static int hf_h245_firstMB_1_8192;                /* INTEGER_1_8192 */
1758
static int hf_h245_numberOfMBs;                   /* INTEGER_1_8192 */
1759
static int hf_h245_maxH223MUXPDUsize;             /* INTEGER_1_65535 */
1760
static int hf_h245_encryptionUpdate;              /* EncryptionSync */
1761
static int hf_h245_encryptionUpdateRequest;       /* EncryptionUpdateRequest */
1762
static int hf_h245_switchReceiveMediaOff;         /* NULL */
1763
static int hf_h245_switchReceiveMediaOn;          /* NULL */
1764
static int hf_h245_progressiveRefinementStart;    /* T_progressiveRefinementStart */
1765
static int hf_h245_repeatCount;                   /* T_repeatCount */
1766
static int hf_h245_doOneProgression;              /* NULL */
1767
static int hf_h245_doContinuousProgressions;      /* NULL */
1768
static int hf_h245_doOneIndependentProgression;   /* NULL */
1769
static int hf_h245_doContinuousIndependentProgressions;  /* NULL */
1770
static int hf_h245_progressiveRefinementAbortOne;  /* NULL */
1771
static int hf_h245_progressiveRefinementAbortContinuous;  /* NULL */
1772
static int hf_h245_videoBadMBs;                   /* T_videoBadMBs */
1773
static int hf_h245_firstMB;                       /* INTEGER_1_9216 */
1774
static int hf_h245_numberOfMBs1_1_9216;           /* INTEGER_1_9216 */
1775
static int hf_h245_temporalReference;             /* INTEGER_0_1023 */
1776
static int hf_h245_lostPicture;                   /* SEQUENCE_OF_PictureReference */
1777
static int hf_h245_lostPicture_item;              /* PictureReference */
1778
static int hf_h245_lostPartialPicture;            /* T_lostPartialPicture */
1779
static int hf_h245_pictureReference;              /* PictureReference */
1780
static int hf_h245_recoveryReferencePicture;      /* SEQUENCE_OF_PictureReference */
1781
static int hf_h245_recoveryReferencePicture_item;  /* PictureReference */
1782
static int hf_h245_encryptionUpdateCommand;       /* T_encryptionUpdateCommand */
1783
static int hf_h245_encryptionUpdateAck;           /* T_encryptionUpdateAck */
1784
static int hf_h245_direction;                     /* EncryptionUpdateDirection */
1785
static int hf_h245_secureChannel;                 /* BOOLEAN */
1786
static int hf_h245_sharedSecret;                  /* BOOLEAN */
1787
static int hf_h245_certProtectedKey;              /* BOOLEAN */
1788
static int hf_h245_keyProtectionMethod;           /* KeyProtectionMethod */
1789
static int hf_h245_pictureNumber;                 /* INTEGER_0_1023 */
1790
static int hf_h245_longTermPictureIndex;          /* INTEGER_0_255 */
1791
static int hf_h245_h223ModeChange;                /* T_h223ModeChange */
1792
static int hf_h245_toLevel0;                      /* NULL */
1793
static int hf_h245_toLevel1;                      /* NULL */
1794
static int hf_h245_toLevel2;                      /* NULL */
1795
static int hf_h245_toLevel2withOptionalHeader;    /* NULL */
1796
static int hf_h245_h223AnnexADoubleFlag;          /* T_h223AnnexADoubleFlag */
1797
static int hf_h245_start;                         /* NULL */
1798
static int hf_h245_stop;                          /* NULL */
1799
static int hf_h245_bitRate;                       /* INTEGER_1_65535 */
1800
static int hf_h245_bitRateLockedToPCRClock;       /* BOOLEAN */
1801
static int hf_h245_bitRateLockedToNetworkClock;   /* BOOLEAN */
1802
static int hf_h245_cmd_aal;                       /* Cmd_aal */
1803
static int hf_h245_cmd_aal1;                      /* Cmd_aal1 */
1804
static int hf_h245_cmd_clockRecovery;             /* Cmd_clockRecovery */
1805
static int hf_h245_nullClockRecoveryflag;         /* NULL */
1806
static int hf_h245_srtsClockRecovery;             /* NULL */
1807
static int hf_h245_adaptiveClockRecoveryFlag;     /* NULL */
1808
static int hf_h245_cmd_errorCorrection;           /* Cmd_errorCorrection */
1809
static int hf_h245_nullErrorCorrectionFlag;       /* NULL */
1810
static int hf_h245_longInterleaverFlag;           /* NULL */
1811
static int hf_h245_shortInterleaverFlag;          /* NULL */
1812
static int hf_h245_errorCorrectionOnlyFlag;       /* NULL */
1813
static int hf_h245_cmd_aal5;                      /* Cmd_aal5 */
1814
static int hf_h245_cmd_multiplex;                 /* Cmd_multiplex */
1815
static int hf_h245_noMultiplex;                   /* NULL */
1816
static int hf_h245_transportStream;               /* NULL */
1817
static int hf_h245_programStreamFlag;             /* NULL */
1818
static int hf_h245_cmd_reverseParameters;         /* Cmd_reverseParameters */
1819
static int hf_h245_cmdr_multiplex;                /* CmdR_multiplex */
1820
static int hf_h245_sampleSize;                    /* INTEGER_1_255 */
1821
static int hf_h245_samplesPerFrame;               /* INTEGER_1_255 */
1822
static int hf_h245_status;                        /* T_status */
1823
static int hf_h245_synchronized;                  /* NULL */
1824
static int hf_h245_reconfiguration;               /* NULL */
1825
static int hf_h245_fns_cause;                     /* FunctionNotSupportedCause */
1826
static int hf_h245_syntaxError;                   /* NULL */
1827
static int hf_h245_semanticError;                 /* NULL */
1828
static int hf_h245_unknownFunction;               /* NULL */
1829
static int hf_h245_returnedFunction;              /* T_returnedFunction */
1830
static int hf_h245_sbeNumber;                     /* INTEGER_0_9 */
1831
static int hf_h245_terminalNumberAssign;          /* TerminalLabel */
1832
static int hf_h245_terminalJoinedConference;      /* TerminalLabel */
1833
static int hf_h245_terminalLeftConference;        /* TerminalLabel */
1834
static int hf_h245_seenByAtLeastOneOther;         /* NULL */
1835
static int hf_h245_cancelSeenByAtLeastOneOther;   /* NULL */
1836
static int hf_h245_seenByAll;                     /* NULL */
1837
static int hf_h245_cancelSeenByAll;               /* NULL */
1838
static int hf_h245_terminalYouAreSeeing;          /* TerminalLabel */
1839
static int hf_h245_requestForFloor;               /* NULL */
1840
static int hf_h245_withdrawChairToken;            /* NULL */
1841
static int hf_h245_floorRequested;                /* TerminalLabel */
1842
static int hf_h245_terminalYouAreSeeingInSubPictureNumber;  /* TerminalYouAreSeeingInSubPictureNumber */
1843
static int hf_h245_videoIndicateCompose;          /* VideoIndicateCompose */
1844
static int hf_h245_masterMCU;                     /* NULL */
1845
static int hf_h245_cancelMasterMCU;               /* NULL */
1846
static int hf_h245_subPictureNumber;              /* INTEGER_0_255 */
1847
static int hf_h245_compositionNumber;             /* INTEGER_0_255 */
1848
static int hf_h245_mi_type;                       /* Mi_type */
1849
static int hf_h245_logicalChannelActive;          /* NULL */
1850
static int hf_h245_logicalChannelInactive;        /* NULL */
1851
static int hf_h245_multipointConference;          /* NULL */
1852
static int hf_h245_cancelMultipointConference;    /* NULL */
1853
static int hf_h245_multipointZeroComm;            /* NULL */
1854
static int hf_h245_cancelMultipointZeroComm;      /* NULL */
1855
static int hf_h245_multipointSecondaryStatus;     /* NULL */
1856
static int hf_h245_cancelMultipointSecondaryStatus;  /* NULL */
1857
static int hf_h245_videoIndicateReadyToActivate;  /* NULL */
1858
static int hf_h245_videoNotDecodedMBs;            /* T_videoNotDecodedMBs */
1859
static int hf_h245_temporalReference_0_255;       /* INTEGER_0_255 */
1860
static int hf_h245_estimatedReceivedJitterMantissa;  /* INTEGER_0_3 */
1861
static int hf_h245_estimatedReceivedJitterExponent;  /* INTEGER_0_7 */
1862
static int hf_h245_skippedFrameCount;             /* INTEGER_0_15 */
1863
static int hf_h245_additionalDecoderBuffer;       /* INTEGER_0_262143 */
1864
static int hf_h245_logicalChannelNumber1;         /* LogicalChannelNumber */
1865
static int hf_h245_logicalChannelNumber2;         /* LogicalChannelNumber */
1866
static int hf_h245_skew;                          /* INTEGER_0_4095 */
1867
static int hf_h245_maximumSkew;                   /* INTEGER_0_4095 */
1868
static int hf_h245_signalAddress;                 /* TransportAddress */
1869
static int hf_h245_vendor;                        /* NonStandardIdentifier */
1870
static int hf_h245_productNumber;                 /* OCTET_STRING_SIZE_1_256 */
1871
static int hf_h245_versionNumber;                 /* OCTET_STRING_SIZE_1_256 */
1872
static int hf_h245_ind_aal;                       /* Ind_aal */
1873
static int hf_h245_ind_aal1;                      /* Ind_aal1 */
1874
static int hf_h245_ind_clockRecovery;             /* Ind_clockRecovery */
1875
static int hf_h245_ind_errorCorrection;           /* Ind_errorCorrection */
1876
static int hf_h245_ind_aal5;                      /* Ind_aal5 */
1877
static int hf_h245_ind_multiplex;                 /* Ind_multiplex */
1878
static int hf_h245_ind_reverseParameters;         /* Ind_reverseParameters */
1879
static int hf_h245_indr_multiplex;                /* IndR_multiplex */
1880
static int hf_h245_iv8;                           /* IV8 */
1881
static int hf_h245_iv16;                          /* IV16 */
1882
static int hf_h245_iv;                            /* OCTET_STRING */
1883
static int hf_h245_alphanumeric;                  /* GeneralString */
1884
static int hf_h245_userInputSupportIndication;    /* T_userInputSupportIndication */
1885
static int hf_h245_signal;                        /* T_signal */
1886
static int hf_h245_signalType;                    /* T_signalType */
1887
static int hf_h245_duration;                      /* INTEGER_1_65535 */
1888
static int hf_h245_rtp;                           /* T_rtp */
1889
static int hf_h245_timestamp;                     /* INTEGER_0_4294967295 */
1890
static int hf_h245_expirationTime;                /* INTEGER_0_4294967295 */
1891
static int hf_h245_rtpPayloadIndication;          /* NULL */
1892
static int hf_h245_paramS;                        /* Params */
1893
static int hf_h245_encryptedSignalType;           /* OCTET_STRING_SIZE_1 */
1894
static int hf_h245_algorithmOID;                  /* OBJECT_IDENTIFIER */
1895
static int hf_h245_signalUpdate;                  /* T_signalUpdate */
1896
static int hf_h245_si_rtp;                        /* Si_rtp */
1897
static int hf_h245_extendedAlphanumeric;          /* T_extendedAlphanumeric */
1898
static int hf_h245_encrypted;                     /* OCTET_STRING */
1899
static int hf_h245_encryptedAlphanumeric;         /* EncryptedAlphanumeric */
1900
1901
/* Initialize the subtree pointers */
1902
static int ett_h245;
1903
static int ett_h245_returnedFunction;
1904
static int ett_h245_MultimediaSystemControlMessage;
1905
static int ett_h245_RequestMessage;
1906
static int ett_h245_ResponseMessage;
1907
static int ett_h245_CommandMessage;
1908
static int ett_h245_IndicationMessage;
1909
static int ett_h245_GenericMessage;
1910
static int ett_h245_T_messageContent;
1911
static int ett_h245_NonStandardMessage;
1912
static int ett_h245_NonStandardParameter;
1913
static int ett_h245_NonStandardIdentifier;
1914
static int ett_h245_H221NonStandardID;
1915
static int ett_h245_MasterSlaveDetermination;
1916
static int ett_h245_MasterSlaveDeterminationAck;
1917
static int ett_h245_T_decision;
1918
static int ett_h245_MasterSlaveDeterminationReject;
1919
static int ett_h245_MasterSlaveDeterminationRejectCause;
1920
static int ett_h245_MasterSlaveDeterminationRelease;
1921
static int ett_h245_TerminalCapabilitySet;
1922
static int ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry;
1923
static int ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor;
1924
static int ett_h245_SEQUENCE_OF_GenericInformation;
1925
static int ett_h245_CapabilityTableEntry;
1926
static int ett_h245_CapabilityDescriptor;
1927
static int ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet;
1928
static int ett_h245_AlternativeCapabilitySet;
1929
static int ett_h245_TerminalCapabilitySetAck;
1930
static int ett_h245_TerminalCapabilitySetReject;
1931
static int ett_h245_TerminalCapabilitySetRejectCause;
1932
static int ett_h245_T_tableEntryCapacityExceeded;
1933
static int ett_h245_TerminalCapabilitySetRelease;
1934
static int ett_h245_Capability;
1935
static int ett_h245_T_h233EncryptionReceiveCapability;
1936
static int ett_h245_H235SecurityCapability;
1937
static int ett_h245_MultiplexCapability;
1938
static int ett_h245_H222Capability;
1939
static int ett_h245_SET_OF_VCCapability;
1940
static int ett_h245_VCCapability;
1941
static int ett_h245_T_aal1;
1942
static int ett_h245_T_aal5;
1943
static int ett_h245_T_availableBitRates;
1944
static int ett_h245_Avb_type;
1945
static int ett_h245_T_rangeOfBitRates;
1946
static int ett_h245_T_aal1ViaGateway;
1947
static int ett_h245_SET_SIZE_1_256_OF_Q2931Address;
1948
static int ett_h245_H223Capability;
1949
static int ett_h245_T_h223MultiplexTableCapability;
1950
static int ett_h245_T_enhanced;
1951
static int ett_h245_T_mobileOperationTransmitCapability;
1952
static int ett_h245_T_mobileMultilinkFrameCapability;
1953
static int ett_h245_H223AnnexCCapability;
1954
static int ett_h245_V76Capability;
1955
static int ett_h245_V75Capability;
1956
static int ett_h245_H2250Capability;
1957
static int ett_h245_T_mcCapability;
1958
static int ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability;
1959
static int ett_h245_MediaPacketizationCapability;
1960
static int ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType;
1961
static int ett_h245_RSVPParameters;
1962
static int ett_h245_QOSMode;
1963
static int ett_h245_ATMParameters;
1964
static int ett_h245_ServicePriorityValue;
1965
static int ett_h245_ServicePriority;
1966
static int ett_h245_AuthorizationParameters;
1967
static int ett_h245_QOSType;
1968
static int ett_h245_QOSClass;
1969
static int ett_h245_QOSDescriptor;
1970
static int ett_h245_GenericTransportParameters;
1971
static int ett_h245_QOSCapability;
1972
static int ett_h245_MediaTransportType;
1973
static int ett_h245_T_atm_AAL5_compressed;
1974
static int ett_h245_MediaChannelCapability;
1975
static int ett_h245_TransportCapability;
1976
static int ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability;
1977
static int ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability;
1978
static int ett_h245_RedundancyEncodingCapability;
1979
static int ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber;
1980
static int ett_h245_RedundancyEncodingMethod;
1981
static int ett_h245_RTPH263VideoRedundancyEncoding;
1982
static int ett_h245_T_frameToThreadMapping;
1983
static int ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping;
1984
static int ett_h245_T_containedThreads;
1985
static int ett_h245_RTPH263VideoRedundancyFrameMapping;
1986
static int ett_h245_T_frameSequence;
1987
static int ett_h245_MultipointCapability;
1988
static int ett_h245_SEQUENCE_OF_MediaDistributionCapability;
1989
static int ett_h245_MediaDistributionCapability;
1990
static int ett_h245_SEQUENCE_OF_DataApplicationCapability;
1991
static int ett_h245_VideoCapability;
1992
static int ett_h245_ExtendedVideoCapability;
1993
static int ett_h245_SEQUENCE_OF_VideoCapability;
1994
static int ett_h245_SEQUENCE_OF_GenericCapability;
1995
static int ett_h245_H261VideoCapability;
1996
static int ett_h245_H262VideoCapability;
1997
static int ett_h245_H263VideoCapability;
1998
static int ett_h245_EnhancementLayerInfo;
1999
static int ett_h245_SET_SIZE_1_14_OF_EnhancementOptions;
2000
static int ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters;
2001
static int ett_h245_BEnhancementParameters;
2002
static int ett_h245_EnhancementOptions;
2003
static int ett_h245_H263Options;
2004
static int ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency;
2005
static int ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat;
2006
static int ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos;
2007
static int ett_h245_TransparencyParameters;
2008
static int ett_h245_RefPictureSelection;
2009
static int ett_h245_T_additionalPictureMemory;
2010
static int ett_h245_T_videoBackChannelSend;
2011
static int ett_h245_T_enhancedReferencePicSelect;
2012
static int ett_h245_T_subPictureRemovalParameters;
2013
static int ett_h245_CustomPictureClockFrequency;
2014
static int ett_h245_CustomPictureFormat;
2015
static int ett_h245_T_mPI;
2016
static int ett_h245_T_customPCF;
2017
static int ett_h245_T_customPCF_item;
2018
static int ett_h245_T_pixelAspectInformation;
2019
static int ett_h245_T_pixelAspectCode;
2020
static int ett_h245_T_extendedPAR;
2021
static int ett_h245_T_extendedPAR_item;
2022
static int ett_h245_H263VideoModeCombos;
2023
static int ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags;
2024
static int ett_h245_H263ModeComboFlags;
2025
static int ett_h245_H263Version3Options;
2026
static int ett_h245_IS11172VideoCapability;
2027
static int ett_h245_AudioCapability;
2028
static int ett_h245_T_g7231;
2029
static int ett_h245_G729Extensions;
2030
static int ett_h245_G7231AnnexCCapability;
2031
static int ett_h245_G723AnnexCAudioMode;
2032
static int ett_h245_IS11172AudioCapability;
2033
static int ett_h245_IS13818AudioCapability;
2034
static int ett_h245_GSMAudioCapability;
2035
static int ett_h245_VBDCapability;
2036
static int ett_h245_DataApplicationCapability;
2037
static int ett_h245_Application;
2038
static int ett_h245_T_t84;
2039
static int ett_h245_Nlpid;
2040
static int ett_h245_T_t38fax;
2041
static int ett_h245_DataProtocolCapability;
2042
static int ett_h245_T_v76wCompression;
2043
static int ett_h245_CompressionType;
2044
static int ett_h245_V42bis;
2045
static int ett_h245_T84Profile;
2046
static int ett_h245_T_t84Restricted;
2047
static int ett_h245_T38FaxProfile;
2048
static int ett_h245_T38FaxRateManagement;
2049
static int ett_h245_T38FaxUdpOptions;
2050
static int ett_h245_T_t38FaxUdpEC;
2051
static int ett_h245_T38FaxTcpOptions;
2052
static int ett_h245_EncryptionAuthenticationAndIntegrity;
2053
static int ett_h245_EncryptionCapability;
2054
static int ett_h245_MediaEncryptionAlgorithm;
2055
static int ett_h245_AuthenticationCapability;
2056
static int ett_h245_IntegrityCapability;
2057
static int ett_h245_UserInputCapability;
2058
static int ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter;
2059
static int ett_h245_ConferenceCapability;
2060
static int ett_h245_SEQUENCE_OF_NonStandardParameter;
2061
static int ett_h245_GenericCapability;
2062
static int ett_h245_T_collapsing;
2063
static int ett_h245_T_nonCollapsing;
2064
static int ett_h245_CapabilityIdentifier;
2065
static int ett_h245_GenericParameter;
2066
static int ett_h245_SEQUENCE_OF_ParameterIdentifier;
2067
static int ett_h245_ParameterIdentifier;
2068
static int ett_h245_ParameterValue;
2069
static int ett_h245_SEQUENCE_OF_GenericParameter;
2070
static int ett_h245_MultiplexedStreamCapability;
2071
static int ett_h245_MultiplexFormat;
2072
static int ett_h245_AudioTelephonyEventCapability;
2073
static int ett_h245_AudioToneCapability;
2074
static int ett_h245_NoPTAudioTelephonyEventCapability;
2075
static int ett_h245_NoPTAudioToneCapability;
2076
static int ett_h245_MultiplePayloadStreamCapability;
2077
static int ett_h245_DepFECCapability;
2078
static int ett_h245_FECC_rfc2733;
2079
static int ett_h245_T_separateStreamBool;
2080
static int ett_h245_FECCapability;
2081
static int ett_h245_Rfc2733Format;
2082
static int ett_h245_OpenLogicalChannel;
2083
static int ett_h245_T_forwardLogicalChannelParameters;
2084
static int ett_h245_OLC_forw_multiplexParameters;
2085
static int ett_h245_OLC_reverseLogicalChannelParameters;
2086
static int ett_h245_OLC_rev_multiplexParameters;
2087
static int ett_h245_NetworkAccessParameters;
2088
static int ett_h245_T_distribution;
2089
static int ett_h245_T_networkAddress;
2090
static int ett_h245_T_t120SetupProcedure;
2091
static int ett_h245_Q2931Address;
2092
static int ett_h245_T_address;
2093
static int ett_h245_V75Parameters;
2094
static int ett_h245_DataType;
2095
static int ett_h245_H235Media;
2096
static int ett_h245_T_mediaType;
2097
static int ett_h245_MultiplexedStreamParameter;
2098
static int ett_h245_H222LogicalChannelParameters;
2099
static int ett_h245_H223LogicalChannelParameters;
2100
static int ett_h245_T_adaptationLayerType;
2101
static int ett_h245_Al3;
2102
static int ett_h245_H223AL1MParameters;
2103
static int ett_h245_T_transferMode;
2104
static int ett_h245_AL1HeaderFEC;
2105
static int ett_h245_AL1CrcLength;
2106
static int ett_h245_ArqType;
2107
static int ett_h245_H223AL2MParameters;
2108
static int ett_h245_AL2HeaderFEC;
2109
static int ett_h245_H223AL3MParameters;
2110
static int ett_h245_T_headerFormat;
2111
static int ett_h245_AL3CrcLength;
2112
static int ett_h245_H223AnnexCArqParameters;
2113
static int ett_h245_T_numberOfRetransmissions;
2114
static int ett_h245_V76LogicalChannelParameters;
2115
static int ett_h245_T_suspendResume;
2116
static int ett_h245_V76LCP_mode;
2117
static int ett_h245_T_eRM;
2118
static int ett_h245_T_recovery;
2119
static int ett_h245_V76HDLCParameters;
2120
static int ett_h245_CRCLength;
2121
static int ett_h245_H2250LogicalChannelParameters;
2122
static int ett_h245_T_mediaPacketization;
2123
static int ett_h245_RTPPayloadType;
2124
static int ett_h245_T_payloadDescriptor;
2125
static int ett_h245_RedundancyEncoding;
2126
static int ett_h245_T_rtpRedundancyEncoding;
2127
static int ett_h245_SEQUENCE_OF_RedundancyEncodingElement;
2128
static int ett_h245_RedundancyEncodingElement;
2129
static int ett_h245_MultiplePayloadStream;
2130
static int ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement;
2131
static int ett_h245_MultiplePayloadStreamElement;
2132
static int ett_h245_DepFECData;
2133
static int ett_h245_RFC2733Data;
2134
static int ett_h245_FECdata_mode;
2135
static int ett_h245_DepSeparateStream;
2136
static int ett_h245_T_differentPort;
2137
static int ett_h245_T_samePort;
2138
static int ett_h245_FECData;
2139
static int ett_h245_T_rfc2733;
2140
static int ett_h245_T_pktMode;
2141
static int ett_h245_T_mode_rfc2733sameport;
2142
static int ett_h245_T_mode_rfc2733diffport;
2143
static int ett_h245_TransportAddress;
2144
static int ett_h245_UnicastAddress;
2145
static int ett_h245_T_iPAddress;
2146
static int ett_h245_T_iPXAddress;
2147
static int ett_h245_T_iP6Address;
2148
static int ett_h245_T_iPSourceRouteAddress;
2149
static int ett_h245_T_routing;
2150
static int ett_h245_T_route;
2151
static int ett_h245_MulticastAddress;
2152
static int ett_h245_MIPAddress;
2153
static int ett_h245_MIP6Address;
2154
static int ett_h245_EncryptionSync;
2155
static int ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData;
2156
static int ett_h245_EscrowData;
2157
static int ett_h245_OpenLogicalChannelAck;
2158
static int ett_h245_OLC_ack_reverseLogicalChannelParameters;
2159
static int ett_h245_T_olc_ack_multiplexParameters;
2160
static int ett_h245_T_forwardMultiplexAckParameters;
2161
static int ett_h245_OpenLogicalChannelReject;
2162
static int ett_h245_OpenLogicalChannelRejectCause;
2163
static int ett_h245_OpenLogicalChannelConfirm;
2164
static int ett_h245_H2250LogicalChannelAckParameters;
2165
static int ett_h245_CloseLogicalChannel;
2166
static int ett_h245_T_cLC_source;
2167
static int ett_h245_Clc_reason;
2168
static int ett_h245_CloseLogicalChannelAck;
2169
static int ett_h245_RequestChannelClose;
2170
static int ett_h245_T_reason;
2171
static int ett_h245_RequestChannelCloseAck;
2172
static int ett_h245_RequestChannelCloseReject;
2173
static int ett_h245_RequestChannelCloseRejectCause;
2174
static int ett_h245_RequestChannelCloseRelease;
2175
static int ett_h245_MultiplexEntrySend;
2176
static int ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor;
2177
static int ett_h245_MultiplexEntryDescriptor;
2178
static int ett_h245_T_elementList;
2179
static int ett_h245_MultiplexElement;
2180
static int ett_h245_Me_type;
2181
static int ett_h245_T_subElementList;
2182
static int ett_h245_ME_repeatCount;
2183
static int ett_h245_MultiplexEntrySendAck;
2184
static int ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber;
2185
static int ett_h245_MultiplexEntrySendReject;
2186
static int ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions;
2187
static int ett_h245_MultiplexEntryRejectionDescriptions;
2188
static int ett_h245_MultiplexEntryRejectionDescriptionsCause;
2189
static int ett_h245_MultiplexEntrySendRelease;
2190
static int ett_h245_RequestMultiplexEntry;
2191
static int ett_h245_RequestMultiplexEntryAck;
2192
static int ett_h245_RequestMultiplexEntryReject;
2193
static int ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions;
2194
static int ett_h245_RequestMultiplexEntryRejectionDescriptions;
2195
static int ett_h245_RequestMultiplexEntryRejectionDescriptionsCause;
2196
static int ett_h245_RequestMultiplexEntryRelease;
2197
static int ett_h245_RequestMode;
2198
static int ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription;
2199
static int ett_h245_RequestModeAck;
2200
static int ett_h245_Req_mode_ack_response;
2201
static int ett_h245_RequestModeReject;
2202
static int ett_h245_RequestModeRejectCause;
2203
static int ett_h245_RequestModeRelease;
2204
static int ett_h245_ModeDescription;
2205
static int ett_h245_ModeElementType;
2206
static int ett_h245_ModeElement;
2207
static int ett_h245_H235Mode;
2208
static int ett_h245_T_mediaMode;
2209
static int ett_h245_MultiplexedStreamModeParameters;
2210
static int ett_h245_RedundancyEncodingDTMode;
2211
static int ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement;
2212
static int ett_h245_RedundancyEncodingDTModeElement;
2213
static int ett_h245_Re_type;
2214
static int ett_h245_MultiplePayloadStreamMode;
2215
static int ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode;
2216
static int ett_h245_MultiplePayloadStreamElementMode;
2217
static int ett_h245_DepFECMode;
2218
static int ett_h245_T_rfc2733Mode;
2219
static int ett_h245_FEC_mode;
2220
static int ett_h245_FECMode;
2221
static int ett_h245_H223ModeParameters;
2222
static int ett_h245_AdaptationLayerType;
2223
static int ett_h245_V76ModeParameters;
2224
static int ett_h245_H2250ModeParameters;
2225
static int ett_h245_RedundancyEncodingMode;
2226
static int ett_h245_T_secondaryEncodingMode;
2227
static int ett_h245_VideoMode;
2228
static int ett_h245_H261VideoMode;
2229
static int ett_h245_H261Resolution;
2230
static int ett_h245_H262VideoMode;
2231
static int ett_h245_T_profileAndLevel;
2232
static int ett_h245_H263VideoMode;
2233
static int ett_h245_H263Resolution;
2234
static int ett_h245_IS11172VideoMode;
2235
static int ett_h245_AudioMode;
2236
static int ett_h245_Mode_g7231;
2237
static int ett_h245_IS11172AudioMode;
2238
static int ett_h245_T_audioLayer;
2239
static int ett_h245_T_audioSampling;
2240
static int ett_h245_IS11172_multichannelType;
2241
static int ett_h245_IS13818AudioMode;
2242
static int ett_h245_IS13818AudioLayer;
2243
static int ett_h245_IS13818AudioSampling;
2244
static int ett_h245_IS13818MultichannelType;
2245
static int ett_h245_G7231AnnexCMode;
2246
static int ett_h245_VBDMode;
2247
static int ett_h245_DataMode;
2248
static int ett_h245_DataModeApplication;
2249
static int ett_h245_T38faxApp;
2250
static int ett_h245_EncryptionMode;
2251
static int ett_h245_RoundTripDelayRequest;
2252
static int ett_h245_RoundTripDelayResponse;
2253
static int ett_h245_MaintenanceLoopRequest;
2254
static int ett_h245_Mlr_type;
2255
static int ett_h245_MaintenanceLoopAck;
2256
static int ett_h245_Mla_type;
2257
static int ett_h245_MaintenanceLoopReject;
2258
static int ett_h245_Mlrej_type;
2259
static int ett_h245_MaintenanceLoopRejectCause;
2260
static int ett_h245_MaintenanceLoopOffCommand;
2261
static int ett_h245_CommunicationModeCommand;
2262
static int ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry;
2263
static int ett_h245_CommunicationModeRequest;
2264
static int ett_h245_CommunicationModeResponse;
2265
static int ett_h245_CommunicationModeTableEntry;
2266
static int ett_h245_T_entryDataType;
2267
static int ett_h245_ConferenceRequest;
2268
static int ett_h245_T_requestTerminalCertificate;
2269
static int ett_h245_CertSelectionCriteria;
2270
static int ett_h245_Criteria;
2271
static int ett_h245_TerminalLabel;
2272
static int ett_h245_ConferenceResponse;
2273
static int ett_h245_T_mCTerminalIDResponse;
2274
static int ett_h245_T_terminalIDResponse;
2275
static int ett_h245_T_conferenceIDResponse;
2276
static int ett_h245_T_passwordResponse;
2277
static int ett_h245_SET_SIZE_1_256_OF_TerminalLabel;
2278
static int ett_h245_T_makeMeChairResponse;
2279
static int ett_h245_T_extensionAddressResponse;
2280
static int ett_h245_T_chairTokenOwnerResponse;
2281
static int ett_h245_T_terminalCertificateResponse;
2282
static int ett_h245_T_broadcastMyLogicalChannelResponse;
2283
static int ett_h245_T_makeTerminalBroadcasterResponse;
2284
static int ett_h245_T_sendThisSourceResponse;
2285
static int ett_h245_RequestAllTerminalIDsResponse;
2286
static int ett_h245_SEQUENCE_OF_TerminalInformation;
2287
static int ett_h245_TerminalInformation;
2288
static int ett_h245_RemoteMCRequest;
2289
static int ett_h245_RemoteMCResponse;
2290
static int ett_h245_T_reject;
2291
static int ett_h245_MultilinkRequest;
2292
static int ett_h245_CallInformationReq;
2293
static int ett_h245_AddConnectionReq;
2294
static int ett_h245_RemoveConnectionReq;
2295
static int ett_h245_MaximumHeaderIntervalReq;
2296
static int ett_h245_T_requestType;
2297
static int ett_h245_MultilinkResponse;
2298
static int ett_h245_CallInformationResp;
2299
static int ett_h245_AddConnectionResp;
2300
static int ett_h245_T_responseCode;
2301
static int ett_h245_T_rejected;
2302
static int ett_h245_RemoveConnectionResp;
2303
static int ett_h245_MaximumHeaderIntervalResp;
2304
static int ett_h245_MultilinkIndication;
2305
static int ett_h245_T_crcDesired;
2306
static int ett_h245_T_excessiveError;
2307
static int ett_h245_DialingInformation;
2308
static int ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber;
2309
static int ett_h245_DialingInformationNumber;
2310
static int ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType;
2311
static int ett_h245_DialingInformationNetworkType;
2312
static int ett_h245_ConnectionIdentifier;
2313
static int ett_h245_LogicalChannelRateRequest;
2314
static int ett_h245_LogicalChannelRateAcknowledge;
2315
static int ett_h245_LogicalChannelRateReject;
2316
static int ett_h245_LogicalChannelRateRejectReason;
2317
static int ett_h245_LogicalChannelRateRelease;
2318
static int ett_h245_SendTerminalCapabilitySet;
2319
static int ett_h245_T_specificRequest;
2320
static int ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber;
2321
static int ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber;
2322
static int ett_h245_EncryptionCommand;
2323
static int ett_h245_T_encryptionAlgorithmID;
2324
static int ett_h245_FlowControlCommand;
2325
static int ett_h245_Scope;
2326
static int ett_h245_Restriction;
2327
static int ett_h245_EndSessionCommand;
2328
static int ett_h245_T_gstnOptions;
2329
static int ett_h245_T_isdnOptions;
2330
static int ett_h245_ConferenceCommand;
2331
static int ett_h245_SubstituteConferenceIDCommand;
2332
static int ett_h245_EncryptionUpdateDirection;
2333
static int ett_h245_MiscellaneousCommand;
2334
static int ett_h245_Mc_type;
2335
static int ett_h245_T_videoFastUpdateGOB;
2336
static int ett_h245_T_videoFastUpdateMB;
2337
static int ett_h245_T_progressiveRefinementStart;
2338
static int ett_h245_T_repeatCount;
2339
static int ett_h245_T_videoBadMBs;
2340
static int ett_h245_SEQUENCE_OF_PictureReference;
2341
static int ett_h245_T_lostPartialPicture;
2342
static int ett_h245_T_encryptionUpdateCommand;
2343
static int ett_h245_T_encryptionUpdateAck;
2344
static int ett_h245_KeyProtectionMethod;
2345
static int ett_h245_EncryptionUpdateRequest;
2346
static int ett_h245_PictureReference;
2347
static int ett_h245_H223MultiplexReconfiguration;
2348
static int ett_h245_T_h223ModeChange;
2349
static int ett_h245_T_h223AnnexADoubleFlag;
2350
static int ett_h245_NewATMVCCommand;
2351
static int ett_h245_Cmd_aal;
2352
static int ett_h245_Cmd_aal1;
2353
static int ett_h245_Cmd_clockRecovery;
2354
static int ett_h245_Cmd_errorCorrection;
2355
static int ett_h245_Cmd_aal5;
2356
static int ett_h245_Cmd_multiplex;
2357
static int ett_h245_Cmd_reverseParameters;
2358
static int ett_h245_CmdR_multiplex;
2359
static int ett_h245_MobileMultilinkReconfigurationCommand;
2360
static int ett_h245_T_status;
2361
static int ett_h245_FunctionNotUnderstood;
2362
static int ett_h245_FunctionNotSupported;
2363
static int ett_h245_FunctionNotSupportedCause;
2364
static int ett_h245_ConferenceIndication;
2365
static int ett_h245_TerminalYouAreSeeingInSubPictureNumber;
2366
static int ett_h245_VideoIndicateCompose;
2367
static int ett_h245_MiscellaneousIndication;
2368
static int ett_h245_Mi_type;
2369
static int ett_h245_T_videoNotDecodedMBs;
2370
static int ett_h245_JitterIndication;
2371
static int ett_h245_H223SkewIndication;
2372
static int ett_h245_H2250MaximumSkewIndication;
2373
static int ett_h245_MCLocationIndication;
2374
static int ett_h245_VendorIdentification;
2375
static int ett_h245_NewATMVCIndication;
2376
static int ett_h245_Ind_aal;
2377
static int ett_h245_Ind_aal1;
2378
static int ett_h245_Ind_clockRecovery;
2379
static int ett_h245_Ind_errorCorrection;
2380
static int ett_h245_Ind_aal5;
2381
static int ett_h245_Ind_multiplex;
2382
static int ett_h245_Ind_reverseParameters;
2383
static int ett_h245_IndR_multiplex;
2384
static int ett_h245_Params;
2385
static int ett_h245_UserInputIndication;
2386
static int ett_h245_T_userInputSupportIndication;
2387
static int ett_h245_T_signal;
2388
static int ett_h245_T_rtp;
2389
static int ett_h245_T_signalUpdate;
2390
static int ett_h245_Si_rtp;
2391
static int ett_h245_T_extendedAlphanumeric;
2392
static int ett_h245_EncryptedAlphanumeric;
2393
static int ett_h245_FlowControlIndication;
2394
static int ett_h245_MobileMultilinkReconfigurationIndication;
2395
2396
/* Forward declarations */
2397
static unsigned dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2398
static void reset_h245_pi(void *dummy _U_)
2399
0
{
2400
0
  h245_pi = NULL; /* Make sure we don't leave pinfo->pool memory lying around */
2401
0
}
2402
2403
/*--- Cyclic dependencies ---*/
2404
2405
/* GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter */
2406
static unsigned dissect_h245_GenericParameter(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2407
2408
/* VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability */
2409
static unsigned dissect_h245_VideoCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2410
2411
/* AudioCapability -> VBDCapability -> AudioCapability */
2412
static unsigned dissect_h245_AudioCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2413
2414
/* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType */
2415
/* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> RedundancyEncoding/rtpRedundancyEncoding -> RedundancyEncodingElement -> DataType */
2416
/* DataType -> H235Media -> H235Media/mediaType -> MultiplePayloadStream -> MultiplePayloadStream/elements -> MultiplePayloadStreamElement -> DataType */
2417
static unsigned dissect_h245_DataType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2418
2419
/* MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement */
2420
static unsigned dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2421
2422
/* AudioMode -> VBDMode -> AudioMode */
2423
static unsigned dissect_h245_AudioMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2424
2425
/* ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType */
2426
/* ModeElementType -> MultiplePayloadStreamMode -> MultiplePayloadStreamMode/elements -> MultiplePayloadStreamElementMode -> ModeElementType */
2427
static unsigned dissect_h245_ModeElementType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2428
2429
2430
2431
2432
static unsigned
2433
17
dissect_h245_T_object(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2434
17
  offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID);
2435
2436
17
  return offset;
2437
17
}
2438
2439
2440
2441
static unsigned
2442
22
dissect_h245_T_t35CountryCode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2443
22
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2444
22
                                                            0U, 255U, &t35CountryCode, false);
2445
2446
22
  return offset;
2447
22
}
2448
2449
2450
2451
static unsigned
2452
22
dissect_h245_T_t35Extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2453
22
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2454
22
                                                            0U, 255U, &t35Extension, false);
2455
2456
22
  return offset;
2457
22
}
2458
2459
2460
2461
static unsigned
2462
22
dissect_h245_T_manufacturerCode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2463
22
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2464
22
                                                            0U, 65535U, &manufacturerCode, false);
2465
2466
22
  return offset;
2467
22
}
2468
2469
2470
static const per_sequence_t H221NonStandardID_sequence[] = {
2471
  { &hf_h245_t35CountryCode , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35CountryCode },
2472
  { &hf_h245_t35Extension   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35Extension },
2473
  { &hf_h245_manufacturerCode, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_manufacturerCode },
2474
  { NULL, 0, 0, NULL }
2475
};
2476
2477
static unsigned
2478
22
dissect_h245_H221NonStandardID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2479
22
  t35CountryCode = 0;
2480
22
  t35Extension = 0;
2481
22
  manufacturerCode = 0;
2482
22
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2483
22
                                   ett_h245_H221NonStandardID, H221NonStandardID_sequence);
2484
2485
22
  h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
2486
22
  proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
2487
22
  return offset;
2488
22
}
2489
2490
2491
static const value_string h245_NonStandardIdentifier_vals[] = {
2492
  {   0, "object" },
2493
  {   1, "h221NonStandard" },
2494
  { 0, NULL }
2495
};
2496
2497
static const per_choice_t NonStandardIdentifier_choice[] = {
2498
  {   0, &hf_h245_object         , ASN1_NO_EXTENSIONS     , dissect_h245_T_object },
2499
  {   1, &hf_h245_h221NonStandardID, ASN1_NO_EXTENSIONS     , dissect_h245_H221NonStandardID },
2500
  { 0, NULL, 0, NULL }
2501
};
2502
2503
static unsigned
2504
39
dissect_h245_NonStandardIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2505
39
  int32_t value;
2506
2507
39
  nsiOID = "";
2508
39
  h221NonStandard = 0;
2509
2510
39
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2511
39
                                 ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice,
2512
39
                                 &value);
2513
2514
39
  switch (value) {
2515
11
    case 0 :  /* object */
2516
11
      nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
2517
11
      break;
2518
17
    case 1 :  /* h221NonStandard */
2519
17
      nsp_handle = dissector_get_uint_handle(nsp_h221_dissector_table, h221NonStandard);
2520
17
      break;
2521
0
    default :
2522
0
      nsp_handle = NULL;
2523
39
    }
2524
2525
28
  return offset;
2526
39
}
2527
2528
2529
2530
static unsigned
2531
28
dissect_h245_T_nsd_data(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2532
28
  tvbuff_t *next_tvb = NULL;
2533
2534
28
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2535
28
                                       NO_BOUND, NO_BOUND, false, &next_tvb);
2536
2537
28
  if (next_tvb && tvb_reported_length(next_tvb)) {
2538
9
    call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
2539
9
  }
2540
2541
28
  return offset;
2542
28
}
2543
2544
2545
static const per_sequence_t NonStandardParameter_sequence[] = {
2546
  { &hf_h245_nonStandardIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
2547
  { &hf_h245_nsd_data       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nsd_data },
2548
  { NULL, 0, 0, NULL }
2549
};
2550
2551
static unsigned
2552
39
dissect_h245_NonStandardParameter(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2553
39
  nsp_handle = NULL;
2554
39
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2555
39
                                   ett_h245_NonStandardParameter, NonStandardParameter_sequence);
2556
2557
39
  return offset;
2558
39
}
2559
2560
2561
static const per_sequence_t NonStandardMessage_sequence[] = {
2562
  { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
2563
  { NULL, 0, 0, NULL }
2564
};
2565
2566
static unsigned
2567
0
dissect_h245_NonStandardMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2568
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2569
0
                                   ett_h245_NonStandardMessage, NonStandardMessage_sequence);
2570
2571
0
  return offset;
2572
0
}
2573
2574
2575
2576
static unsigned
2577
0
dissect_h245_INTEGER_0_255(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2578
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2579
0
                                                            0U, 255U, NULL, false);
2580
2581
0
  return offset;
2582
0
}
2583
2584
2585
2586
static unsigned
2587
0
dissect_h245_INTEGER_0_16777215(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2588
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2589
0
                                                            0U, 16777215U, NULL, false);
2590
2591
0
  return offset;
2592
0
}
2593
2594
2595
static const per_sequence_t MasterSlaveDetermination_sequence[] = {
2596
  { &hf_h245_terminalType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
2597
  { &hf_h245_statusDeterminationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
2598
  { NULL, 0, 0, NULL }
2599
};
2600
2601
static unsigned
2602
0
dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2603
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2604
0
                                   ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
2605
2606
2607
0
  if (h245_pi != NULL)
2608
0
    h245_pi->msg_type = H245_MastSlvDet;
2609
0
  return offset;
2610
0
}
2611
2612
2613
2614
static unsigned
2615
0
dissect_h245_SequenceNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2616
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2617
0
                                                            0U, 255U, NULL, false);
2618
2619
0
  return offset;
2620
0
}
2621
2622
2623
2624
static unsigned
2625
0
dissect_h245_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2626
0
  offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
2627
2628
0
  return offset;
2629
0
}
2630
2631
2632
2633
static unsigned
2634
0
dissect_h245_INTEGER_1_256(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2635
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2636
0
                                                            1U, 256U, NULL, false);
2637
2638
0
  return offset;
2639
0
}
2640
2641
2642
2643
static unsigned
2644
167
dissect_h245_BOOLEAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2645
167
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2646
2647
167
  return offset;
2648
167
}
2649
2650
2651
static const per_sequence_t T_aal1_sequence[] = {
2652
  { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2653
  { &hf_h245_srtsClockRecovery_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2654
  { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2655
  { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2656
  { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2657
  { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2658
  { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2659
  { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2660
  { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2661
  { NULL, 0, 0, NULL }
2662
};
2663
2664
static unsigned
2665
0
dissect_h245_T_aal1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2666
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2667
0
                                   ett_h245_T_aal1, T_aal1_sequence);
2668
2669
0
  return offset;
2670
0
}
2671
2672
2673
2674
static unsigned
2675
32
dissect_h245_INTEGER_0_65535(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2676
32
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2677
32
                                                            0U, 65535U, NULL, false);
2678
2679
32
  return offset;
2680
32
}
2681
2682
2683
static const per_sequence_t T_aal5_sequence[] = {
2684
  { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2685
  { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2686
  { NULL, 0, 0, NULL }
2687
};
2688
2689
static unsigned
2690
0
dissect_h245_T_aal5(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2691
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2692
0
                                   ett_h245_T_aal5, T_aal5_sequence);
2693
2694
0
  return offset;
2695
0
}
2696
2697
2698
2699
static unsigned
2700
0
dissect_h245_INTEGER_1_65535(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2701
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2702
0
                                                            1U, 65535U, NULL, false);
2703
2704
0
  return offset;
2705
0
}
2706
2707
2708
static const per_sequence_t T_rangeOfBitRates_sequence[] = {
2709
  { &hf_h245_lowerBitRate   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2710
  { &hf_h245_higherBitRate  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2711
  { NULL, 0, 0, NULL }
2712
};
2713
2714
static unsigned
2715
0
dissect_h245_T_rangeOfBitRates(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2716
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2717
0
                                   ett_h245_T_rangeOfBitRates, T_rangeOfBitRates_sequence);
2718
2719
0
  return offset;
2720
0
}
2721
2722
2723
static const value_string h245_Avb_type_vals[] = {
2724
  {   0, "singleBitRate" },
2725
  {   1, "rangeOfBitRates" },
2726
  { 0, NULL }
2727
};
2728
2729
static const per_choice_t Avb_type_choice[] = {
2730
  {   0, &hf_h245_singleBitRate  , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_1_65535 },
2731
  {   1, &hf_h245_rangeOfBitRates, ASN1_NO_EXTENSIONS     , dissect_h245_T_rangeOfBitRates },
2732
  { 0, NULL, 0, NULL }
2733
};
2734
2735
static unsigned
2736
0
dissect_h245_Avb_type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2737
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2738
0
                                 ett_h245_Avb_type, Avb_type_choice,
2739
0
                                 NULL);
2740
2741
0
  return offset;
2742
0
}
2743
2744
2745
static const per_sequence_t T_availableBitRates_sequence[] = {
2746
  { &hf_h245_avb_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Avb_type },
2747
  { NULL, 0, 0, NULL }
2748
};
2749
2750
static unsigned
2751
0
dissect_h245_T_availableBitRates(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2752
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2753
0
                                   ett_h245_T_availableBitRates, T_availableBitRates_sequence);
2754
2755
0
  return offset;
2756
0
}
2757
2758
2759
2760
static unsigned
2761
0
dissect_h245_NumericString_SIZE_1_16(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2762
0
  offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
2763
0
                                          1, 16, false,
2764
0
                                          NULL);
2765
2766
0
  return offset;
2767
0
}
2768
2769
2770
2771
static unsigned
2772
0
dissect_h245_OCTET_STRING_SIZE_1_20(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2773
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2774
0
                                       1, 20, false, NULL);
2775
2776
0
  return offset;
2777
0
}
2778
2779
2780
static const value_string h245_T_address_vals[] = {
2781
  {   0, "internationalNumber" },
2782
  {   1, "nsapAddress" },
2783
  { 0, NULL }
2784
};
2785
2786
static const per_choice_t T_address_choice[] = {
2787
  {   0, &hf_h245_internationalNumber, ASN1_EXTENSION_ROOT    , dissect_h245_NumericString_SIZE_1_16 },
2788
  {   1, &hf_h245_nsapAddress    , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2789
  { 0, NULL, 0, NULL }
2790
};
2791
2792
static unsigned
2793
0
dissect_h245_T_address(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2794
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2795
0
                                 ett_h245_T_address, T_address_choice,
2796
0
                                 NULL);
2797
2798
0
  return offset;
2799
0
}
2800
2801
2802
static const per_sequence_t Q2931Address_sequence[] = {
2803
  { &hf_h245_address        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_address },
2804
  { &hf_h245_subaddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2805
  { NULL, 0, 0, NULL }
2806
};
2807
2808
static unsigned
2809
0
dissect_h245_Q2931Address(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2810
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2811
0
                                   ett_h245_Q2931Address, Q2931Address_sequence);
2812
2813
0
  return offset;
2814
0
}
2815
2816
2817
static const per_sequence_t SET_SIZE_1_256_OF_Q2931Address_set_of[1] = {
2818
  { &hf_h245_gatewayAddress_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Q2931Address },
2819
};
2820
2821
static unsigned
2822
0
dissect_h245_SET_SIZE_1_256_OF_Q2931Address(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2823
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
2824
0
                                             ett_h245_SET_SIZE_1_256_OF_Q2931Address, SET_SIZE_1_256_OF_Q2931Address_set_of,
2825
0
                                             1, 256, false);
2826
2827
0
  return offset;
2828
0
}
2829
2830
2831
static const per_sequence_t T_aal1ViaGateway_sequence[] = {
2832
  { &hf_h245_gatewayAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_Q2931Address },
2833
  { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2834
  { &hf_h245_srtsClockRecoveryflag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2835
  { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2836
  { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2837
  { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2838
  { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2839
  { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2840
  { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2841
  { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2842
  { NULL, 0, 0, NULL }
2843
};
2844
2845
static unsigned
2846
0
dissect_h245_T_aal1ViaGateway(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2847
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2848
0
                                   ett_h245_T_aal1ViaGateway, T_aal1ViaGateway_sequence);
2849
2850
0
  return offset;
2851
0
}
2852
2853
2854
static const per_sequence_t VCCapability_sequence[] = {
2855
  { &hf_h245_aal1           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal1 },
2856
  { &hf_h245_aal5           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal5 },
2857
  { &hf_h245_transportStream_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2858
  { &hf_h245_programStream  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2859
  { &hf_h245_availableBitRates, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_availableBitRates },
2860
  { &hf_h245_aal1ViaGateway , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_aal1ViaGateway },
2861
  { NULL, 0, 0, NULL }
2862
};
2863
2864
static unsigned
2865
0
dissect_h245_VCCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2866
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2867
0
                                   ett_h245_VCCapability, VCCapability_sequence);
2868
2869
0
  return offset;
2870
0
}
2871
2872
2873
static const per_sequence_t SET_OF_VCCapability_set_of[1] = {
2874
  { &hf_h245_vcCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VCCapability },
2875
};
2876
2877
static unsigned
2878
0
dissect_h245_SET_OF_VCCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2879
0
  offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
2880
0
                                 ett_h245_SET_OF_VCCapability, SET_OF_VCCapability_set_of);
2881
2882
0
  return offset;
2883
0
}
2884
2885
2886
static const per_sequence_t H222Capability_sequence[] = {
2887
  { &hf_h245_numberOfVCs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
2888
  { &hf_h245_vcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_OF_VCCapability },
2889
  { NULL, 0, 0, NULL }
2890
};
2891
2892
static unsigned
2893
0
dissect_h245_H222Capability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2894
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2895
0
                                   ett_h245_H222Capability, H222Capability_sequence);
2896
2897
0
  return offset;
2898
0
}
2899
2900
2901
2902
static unsigned
2903
0
dissect_h245_INTEGER_0_1023(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2904
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2905
0
                                                            0U, 1023U, NULL, false);
2906
2907
0
  return offset;
2908
0
}
2909
2910
2911
2912
static unsigned
2913
10
dissect_h245_NULL(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2914
10
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
2915
2916
10
  return offset;
2917
10
}
2918
2919
2920
2921
static unsigned
2922
0
dissect_h245_INTEGER_1_15(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2923
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2924
0
                                                            1U, 15U, NULL, false);
2925
2926
0
  return offset;
2927
0
}
2928
2929
2930
2931
static unsigned
2932
0
dissect_h245_INTEGER_2_255(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2933
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2934
0
                                                            2U, 255U, NULL, false);
2935
2936
0
  return offset;
2937
0
}
2938
2939
2940
static const per_sequence_t T_enhanced_sequence[] = {
2941
  { &hf_h245_maximumNestingDepth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_15 },
2942
  { &hf_h245_maximumElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2943
  { &hf_h245_maximumSubElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2944
  { NULL, 0, 0, NULL }
2945
};
2946
2947
static unsigned
2948
0
dissect_h245_T_enhanced(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2949
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2950
0
                                   ett_h245_T_enhanced, T_enhanced_sequence);
2951
2952
0
  return offset;
2953
0
}
2954
2955
2956
static const value_string h245_T_h223MultiplexTableCapability_vals[] = {
2957
  {   0, "basic" },
2958
  {   1, "enhanced" },
2959
  { 0, NULL }
2960
};
2961
2962
static const per_choice_t T_h223MultiplexTableCapability_choice[] = {
2963
  {   0, &hf_h245_basic          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
2964
  {   1, &hf_h245_enhanced       , ASN1_NO_EXTENSIONS     , dissect_h245_T_enhanced },
2965
  { 0, NULL, 0, NULL }
2966
};
2967
2968
static unsigned
2969
0
dissect_h245_T_h223MultiplexTableCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2970
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2971
0
                                 ett_h245_T_h223MultiplexTableCapability, T_h223MultiplexTableCapability_choice,
2972
0
                                 NULL);
2973
2974
0
  return offset;
2975
0
}
2976
2977
2978
static const per_sequence_t T_mobileOperationTransmitCapability_sequence[] = {
2979
  { &hf_h245_modeChangeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2980
  { &hf_h245_h223AnnexA     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2981
  { &hf_h245_h223AnnexADoubleFlagFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2982
  { &hf_h245_h223AnnexB     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2983
  { &hf_h245_h223AnnexBwithHeader, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2984
  { NULL, 0, 0, NULL }
2985
};
2986
2987
static unsigned
2988
0
dissect_h245_T_mobileOperationTransmitCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2989
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2990
0
                                   ett_h245_T_mobileOperationTransmitCapability, T_mobileOperationTransmitCapability_sequence);
2991
2992
0
  return offset;
2993
0
}
2994
2995
2996
static const per_sequence_t H223AnnexCCapability_sequence[] = {
2997
  { &hf_h245_videoWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2998
  { &hf_h245_videoWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2999
  { &hf_h245_videoWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3000
  { &hf_h245_audioWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3001
  { &hf_h245_audioWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3002
  { &hf_h245_audioWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3003
  { &hf_h245_dataWithAL1M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3004
  { &hf_h245_dataWithAL2M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3005
  { &hf_h245_dataWithAL3M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3006
  { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3007
  { &hf_h245_maximumAL1MPDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3008
  { &hf_h245_maximumAL2MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3009
  { &hf_h245_maximumAL3MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3010
  { &hf_h245_rsCodeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
3011
  { NULL, 0, 0, NULL }
3012
};
3013
3014
static unsigned
3015
0
dissect_h245_H223AnnexCCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3016
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3017
0
                                   ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
3018
3019
0
  return offset;
3020
0
}
3021
3022
3023
3024
static unsigned
3025
0
dissect_h245_INTEGER_1_19200(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3026
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3027
0
                                                            1U, 19200U, NULL, false);
3028
3029
0
  return offset;
3030
0
}
3031
3032
3033
3034
static unsigned
3035
0
dissect_h245_INTEGER_1_255(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3036
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3037
0
                                                            1U, 255U, NULL, false);
3038
3039
0
  return offset;
3040
0
}
3041
3042
3043
3044
static unsigned
3045
0
dissect_h245_INTEGER_1_65025(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3046
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3047
0
                                                            1U, 65025U, NULL, false);
3048
3049
0
  return offset;
3050
0
}
3051
3052
3053
static const per_sequence_t T_mobileMultilinkFrameCapability_sequence[] = {
3054
  { &hf_h245_maximumSampleSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
3055
  { &hf_h245_maximumPayloadLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65025 },
3056
  { NULL, 0, 0, NULL }
3057
};
3058
3059
static unsigned
3060
0
dissect_h245_T_mobileMultilinkFrameCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3061
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3062
0
                                   ett_h245_T_mobileMultilinkFrameCapability, T_mobileMultilinkFrameCapability_sequence);
3063
3064
0
  return offset;
3065
0
}
3066
3067
3068
static const per_sequence_t H223Capability_sequence[] = {
3069
  { &hf_h245_transportWithI_frames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3070
  { &hf_h245_videoWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3071
  { &hf_h245_videoWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3072
  { &hf_h245_videoWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3073
  { &hf_h245_audioWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3074
  { &hf_h245_audioWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3075
  { &hf_h245_audioWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3076
  { &hf_h245_dataWithAL1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3077
  { &hf_h245_dataWithAL2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3078
  { &hf_h245_dataWithAL3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3079
  { &hf_h245_maximumAl2SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3080
  { &hf_h245_maximumAl3SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3081
  { &hf_h245_maximumDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
3082
  { &hf_h245_h223MultiplexTableCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223MultiplexTableCapability },
3083
  { &hf_h245_maxMUXPDUSizeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3084
  { &hf_h245_nsrpSupport    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3085
  { &hf_h245_mobileOperationTransmitCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileOperationTransmitCapability },
3086
  { &hf_h245_h223AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H223AnnexCCapability },
3087
  { &hf_h245_bitRate_1_19200, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_19200 },
3088
  { &hf_h245_mobileMultilinkFrameCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileMultilinkFrameCapability },
3089
  { NULL, 0, 0, NULL }
3090
};
3091
3092
unsigned
3093
0
dissect_h245_H223Capability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3094
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3095
0
                                   ett_h245_H223Capability, H223Capability_sequence);
3096
3097
0
  return offset;
3098
0
}
3099
3100
3101
3102
static unsigned
3103
0
dissect_h245_INTEGER_2_8191(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3104
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3105
0
                                                            2U, 8191U, NULL, false);
3106
3107
0
  return offset;
3108
0
}
3109
3110
3111
3112
static unsigned
3113
0
dissect_h245_INTEGER_1_4095(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3114
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3115
0
                                                            1U, 4095U, NULL, false);
3116
3117
0
  return offset;
3118
0
}
3119
3120
3121
3122
static unsigned
3123
0
dissect_h245_INTEGER_1_127(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3124
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3125
0
                                                            1U, 127U, NULL, false);
3126
3127
0
  return offset;
3128
0
}
3129
3130
3131
static const per_sequence_t V75Capability_sequence[] = {
3132
  { &hf_h245_audioHeader    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3133
  { NULL, 0, 0, NULL }
3134
};
3135
3136
static unsigned
3137
0
dissect_h245_V75Capability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3138
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3139
0
                                   ett_h245_V75Capability, V75Capability_sequence);
3140
3141
0
  return offset;
3142
0
}
3143
3144
3145
static const per_sequence_t V76Capability_sequence[] = {
3146
  { &hf_h245_suspendResumeCapabilitywAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3147
  { &hf_h245_suspendResumeCapabilitywoAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3148
  { &hf_h245_rejCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3149
  { &hf_h245_sREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3150
  { &hf_h245_mREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3151
  { &hf_h245_crc8bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3152
  { &hf_h245_crc16bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3153
  { &hf_h245_crc32bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3154
  { &hf_h245_uihCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3155
  { &hf_h245_numOfDLCS      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_8191 },
3156
  { &hf_h245_twoOctetAddressFieldCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3157
  { &hf_h245_loopBackTestCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3158
  { &hf_h245_n401Capability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
3159
  { &hf_h245_maxWindowSizeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
3160
  { &hf_h245_v75Capability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Capability },
3161
  { NULL, 0, 0, NULL }
3162
};
3163
3164
static unsigned
3165
0
dissect_h245_V76Capability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3166
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3167
0
                                   ett_h245_V76Capability, V76Capability_sequence);
3168
3169
0
  return offset;
3170
0
}
3171
3172
3173
3174
static unsigned
3175
0
dissect_h245_INTEGER_1_65536(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3176
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3177
0
                                                            1U, 65536U, NULL, false);
3178
3179
0
  return offset;
3180
0
}
3181
3182
3183
static const per_sequence_t V42bis_sequence[] = {
3184
  { &hf_h245_numberOfCodewords, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
3185
  { &hf_h245_maximumStringLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
3186
  { NULL, 0, 0, NULL }
3187
};
3188
3189
static unsigned
3190
0
dissect_h245_V42bis(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3191
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3192
0
                                   ett_h245_V42bis, V42bis_sequence);
3193
3194
0
  return offset;
3195
0
}
3196
3197
3198
static const value_string h245_CompressionType_vals[] = {
3199
  {   0, "v42bis" },
3200
  { 0, NULL }
3201
};
3202
3203
static const per_choice_t CompressionType_choice[] = {
3204
  {   0, &hf_h245_v42bis         , ASN1_EXTENSION_ROOT    , dissect_h245_V42bis },
3205
  { 0, NULL, 0, NULL }
3206
};
3207
3208
static unsigned
3209
0
dissect_h245_CompressionType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3210
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3211
0
                                 ett_h245_CompressionType, CompressionType_choice,
3212
0
                                 NULL);
3213
3214
0
  return offset;
3215
0
}
3216
3217
3218
static const value_string h245_T_v76wCompression_vals[] = {
3219
  {   0, "transmitCompression" },
3220
  {   1, "receiveCompression" },
3221
  {   2, "transmitAndReceiveCompression" },
3222
  { 0, NULL }
3223
};
3224
3225
static const per_choice_t T_v76wCompression_choice[] = {
3226
  {   0, &hf_h245_transmitCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3227
  {   1, &hf_h245_receiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3228
  {   2, &hf_h245_transmitAndReceiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3229
  { 0, NULL, 0, NULL }
3230
};
3231
3232
static unsigned
3233
0
dissect_h245_T_v76wCompression(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3234
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3235
0
                                 ett_h245_T_v76wCompression, T_v76wCompression_choice,
3236
0
                                 NULL);
3237
3238
0
  return offset;
3239
0
}
3240
3241
3242
const value_string DataProtocolCapability_vals[] = {
3243
  {   0, "nonStandard" },
3244
  {   1, "v14buffered" },
3245
  {   2, "v42lapm" },
3246
  {   3, "hdlcFrameTunnelling" },
3247
  {   4, "h310SeparateVCStack" },
3248
  {   5, "h310SingleVCStack" },
3249
  {   6, "transparent" },
3250
  {   7, "segmentationAndReassembly" },
3251
  {   8, "hdlcFrameTunnelingwSAR" },
3252
  {   9, "v120" },
3253
  {  10, "separateLANStack" },
3254
  {  11, "v76wCompression" },
3255
  {  12, "tcp" },
3256
  {  13, "udp" },
3257
  { 0, NULL }
3258
};
3259
3260
static const per_choice_t DataProtocolCapability_choice[] = {
3261
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3262
  {   1, &hf_h245_v14buffered    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3263
  {   2, &hf_h245_v42lapm        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3264
  {   3, &hf_h245_hdlcFrameTunnelling, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3265
  {   4, &hf_h245_h310SeparateVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3266
  {   5, &hf_h245_h310SingleVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3267
  {   6, &hf_h245_transparent    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3268
  {   7, &hf_h245_segmentationAndReassembly, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3269
  {   8, &hf_h245_hdlcFrameTunnelingwSAR, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3270
  {   9, &hf_h245_v120           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3271
  {  10, &hf_h245_separateLANStack, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3272
  {  11, &hf_h245_v76wCompression, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_v76wCompression },
3273
  {  12, &hf_h245_tcp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3274
  {  13, &hf_h245_udp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3275
  { 0, NULL, 0, NULL }
3276
};
3277
3278
unsigned
3279
2
dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3280
2
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3281
2
                                 ett_h245_DataProtocolCapability, DataProtocolCapability_choice,
3282
2
                                 NULL);
3283
3284
2
  return offset;
3285
2
}
3286
3287
3288
static const per_sequence_t T_t84Restricted_sequence[] = {
3289
  { &hf_h245_qcif_bool      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3290
  { &hf_h245_cif_bool       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3291
  { &hf_h245_ccir601Seq     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3292
  { &hf_h245_ccir601Prog    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3293
  { &hf_h245_hdtvSeq        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3294
  { &hf_h245_hdtvProg       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3295
  { &hf_h245_g3FacsMH200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3296
  { &hf_h245_g3FacsMH200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3297
  { &hf_h245_g4FacsMMR200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3298
  { &hf_h245_g4FacsMMR200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3299
  { &hf_h245_jbig200x200Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3300
  { &hf_h245_jbig200x200Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3301
  { &hf_h245_jbig300x300Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3302
  { &hf_h245_jbig300x300Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3303
  { &hf_h245_digPhotoLow    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3304
  { &hf_h245_digPhotoMedSeq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3305
  { &hf_h245_digPhotoMedProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3306
  { &hf_h245_digPhotoHighSeq, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3307
  { &hf_h245_digPhotoHighProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3308
  { NULL, 0, 0, NULL }
3309
};
3310
3311
static unsigned
3312
0
dissect_h245_T_t84Restricted(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3313
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3314
0
                                   ett_h245_T_t84Restricted, T_t84Restricted_sequence);
3315
3316
0
  return offset;
3317
0
}
3318
3319
3320
static const value_string h245_T84Profile_vals[] = {
3321
  {   0, "t84Unrestricted" },
3322
  {   1, "t84Restricted" },
3323
  { 0, NULL }
3324
};
3325
3326
static const per_choice_t T84Profile_choice[] = {
3327
  {   0, &hf_h245_t84Unrestricted, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
3328
  {   1, &hf_h245_t84Restricted  , ASN1_NO_EXTENSIONS     , dissect_h245_T_t84Restricted },
3329
  { 0, NULL, 0, NULL }
3330
};
3331
3332
static unsigned
3333
0
dissect_h245_T84Profile(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3334
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3335
0
                                 ett_h245_T84Profile, T84Profile_choice,
3336
0
                                 NULL);
3337
3338
0
  return offset;
3339
0
}
3340
3341
3342
static const per_sequence_t T_t84_sequence[] = {
3343
  { &hf_h245_t84Protocol    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3344
  { &hf_h245_t84Profile     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T84Profile },
3345
  { NULL, 0, 0, NULL }
3346
};
3347
3348
static unsigned
3349
0
dissect_h245_T_t84(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3350
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3351
0
                                   ett_h245_T_t84, T_t84_sequence);
3352
3353
0
  return offset;
3354
0
}
3355
3356
3357
3358
static unsigned
3359
0
dissect_h245_OCTET_STRING(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3360
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3361
0
                                       NO_BOUND, NO_BOUND, false, NULL);
3362
3363
0
  return offset;
3364
0
}
3365
3366
3367
static const per_sequence_t Nlpid_sequence[] = {
3368
  { &hf_h245_nlpidProtocol  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3369
  { &hf_h245_nlpidData      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
3370
  { NULL, 0, 0, NULL }
3371
};
3372
3373
static unsigned
3374
0
dissect_h245_Nlpid(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3375
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3376
0
                                   ett_h245_Nlpid, Nlpid_sequence);
3377
3378
0
  return offset;
3379
0
}
3380
3381
3382
static const value_string h245_T38FaxRateManagement_vals[] = {
3383
  {   0, "localTCF" },
3384
  {   1, "transferredTCF" },
3385
  { 0, NULL }
3386
};
3387
3388
static const per_choice_t T38FaxRateManagement_choice[] = {
3389
  {   0, &hf_h245_localTCF       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3390
  {   1, &hf_h245_transferredTCF , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3391
  { 0, NULL, 0, NULL }
3392
};
3393
3394
static unsigned
3395
0
dissect_h245_T38FaxRateManagement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3396
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3397
0
                                 ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice,
3398
0
                                 NULL);
3399
3400
0
  return offset;
3401
0
}
3402
3403
3404
3405
static unsigned
3406
0
dissect_h245_INTEGER(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3407
0
  offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
3408
3409
0
  return offset;
3410
0
}
3411
3412
3413
static const value_string h245_T_t38FaxUdpEC_vals[] = {
3414
  {   0, "t38UDPFEC" },
3415
  {   1, "t38UDPRedundancy" },
3416
  { 0, NULL }
3417
};
3418
3419
static const per_choice_t T_t38FaxUdpEC_choice[] = {
3420
  {   0, &hf_h245_t38UDPFEC      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3421
  {   1, &hf_h245_t38UDPRedundancy, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3422
  { 0, NULL, 0, NULL }
3423
};
3424
3425
static unsigned
3426
0
dissect_h245_T_t38FaxUdpEC(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3427
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3428
0
                                 ett_h245_T_t38FaxUdpEC, T_t38FaxUdpEC_choice,
3429
0
                                 NULL);
3430
3431
0
  return offset;
3432
0
}
3433
3434
3435
static const per_sequence_t T38FaxUdpOptions_sequence[] = {
3436
  { &hf_h245_t38FaxMaxBuffer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3437
  { &hf_h245_t38FaxMaxDatagram, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3438
  { &hf_h245_t38FaxUdpEC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t38FaxUdpEC },
3439
  { NULL, 0, 0, NULL }
3440
};
3441
3442
static unsigned
3443
0
dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3444
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3445
0
                                   ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
3446
3447
0
  return offset;
3448
0
}
3449
3450
3451
static const per_sequence_t T38FaxTcpOptions_sequence[] = {
3452
  { &hf_h245_t38TCPBidirectionalMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3453
  { NULL, 0, 0, NULL }
3454
};
3455
3456
static unsigned
3457
0
dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3458
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3459
0
                                   ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
3460
3461
0
  return offset;
3462
0
}
3463
3464
3465
static const per_sequence_t T38FaxProfile_sequence[] = {
3466
  { &hf_h245_fillBitRemoval , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3467
  { &hf_h245_transcodingJBIG, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3468
  { &hf_h245_transcodingMMR , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3469
  { &hf_h245_version        , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
3470
  { &hf_h245_t38FaxRateManagement, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T38FaxRateManagement },
3471
  { &hf_h245_t38FaxUdpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxUdpOptions },
3472
  { &hf_h245_t38FaxTcpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxTcpOptions },
3473
  { NULL, 0, 0, NULL }
3474
};
3475
3476
unsigned
3477
1
dissect_h245_T38FaxProfile(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3478
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3479
1
                                   ett_h245_T38FaxProfile, T38FaxProfile_sequence);
3480
3481
1
  return offset;
3482
1
}
3483
3484
3485
static const per_sequence_t T_t38fax_sequence[] = {
3486
  { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3487
  { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
3488
  { NULL, 0, 0, NULL }
3489
};
3490
3491
static unsigned
3492
0
dissect_h245_T_t38fax(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3493
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3494
0
                                   ett_h245_T_t38fax, T_t38fax_sequence);
3495
3496
0
  return offset;
3497
0
}
3498
3499
3500
3501
static unsigned
3502
0
dissect_h245_T_standardOid(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3503
0
  const char *standard_oid_str = NULL;
3504
0
  gef_ctx_t *gefx;
3505
3506
0
  offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &standard_oid_str);
3507
3508
0
  gefx = gef_ctx_get(actx->private_data);
3509
0
  if (gefx) gefx->id = standard_oid_str;
3510
3511
0
  if(strcmp(standard_oid_str,"0.0.8.235.0.3.76") == 0) {  /* MIKEY */
3512
0
    if (upcoming_channel)
3513
0
    upcoming_channel->srtp_flag = true;
3514
0
  }
3515
3516
0
  if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0)
3517
0
  h245_lc_dissector = amr_handle;
3518
3519
0
  return offset;
3520
0
}
3521
3522
3523
3524
static unsigned
3525
0
dissect_h245_OCTET_STRING_SIZE_16(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3526
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3527
0
                                       16, 16, false, NULL);
3528
3529
0
  return offset;
3530
0
}
3531
3532
3533
3534
static unsigned
3535
0
dissect_h245_IA5String_SIZE_1_64(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3536
0
  offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3537
0
                                          1, 64, false,
3538
0
                                          NULL);
3539
3540
0
  return offset;
3541
0
}
3542
3543
3544
static const value_string h245_CapabilityIdentifier_vals[] = {
3545
  {   0, "standard" },
3546
  {   1, "h221NonStandard" },
3547
  {   2, "uuid" },
3548
  {   3, "domainBased" },
3549
  { 0, NULL }
3550
};
3551
3552
static const per_choice_t CapabilityIdentifier_choice[] = {
3553
  {   0, &hf_h245_standardOid    , ASN1_EXTENSION_ROOT    , dissect_h245_T_standardOid },
3554
  {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3555
  {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3556
  {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3557
  { 0, NULL, 0, NULL }
3558
};
3559
3560
static unsigned
3561
0
dissect_h245_CapabilityIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3562
0
  gef_ctx_t *gefx;
3563
0
  proto_item* ti;
3564
3565
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3566
0
                                 ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice,
3567
0
                                 NULL);
3568
3569
0
  gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data));
3570
0
  gefx = gef_ctx_get(actx->private_data);
3571
0
  if (gefx) {
3572
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3573
0
  proto_item_set_hidden(ti);
3574
0
    dissector_try_string_with_data(gef_name_dissector_table, gefx->key, tvb_new_subset_length(tvb, offset>>3, 0), actx->pinfo, tree, true, actx);
3575
0
  }
3576
0
  actx->private_data = gefx;  /* subdissector could overwrite it */
3577
0
  return offset;
3578
0
}
3579
3580
3581
3582
static unsigned
3583
0
dissect_h245_INTEGER_0_4294967295(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3584
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3585
0
                                                            0U, 4294967295U, NULL, false);
3586
3587
0
  return offset;
3588
0
}
3589
3590
3591
3592
static unsigned
3593
0
dissect_h245_T_standard(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3594
0
  uint32_t value_int = (uint32_t)-1;
3595
0
  gef_ctx_t *gefx;
3596
3597
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3598
0
                                                            0U, 127U, &value_int, false);
3599
3600
0
  gefx = gef_ctx_get(actx->private_data);
3601
0
  if (gefx) gefx->id = wmem_strdup_printf(actx->pinfo->pool, "%d", value_int);
3602
3603
0
  return offset;
3604
0
}
3605
3606
3607
static const value_string h245_ParameterIdentifier_vals[] = {
3608
  {   0, "standard" },
3609
  {   1, "h221NonStandard" },
3610
  {   2, "uuid" },
3611
  {   3, "domainBased" },
3612
  { 0, NULL }
3613
};
3614
3615
static const per_choice_t ParameterIdentifier_choice[] = {
3616
  {   0, &hf_h245_standard       , ASN1_EXTENSION_ROOT    , dissect_h245_T_standard },
3617
  {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3618
  {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3619
  {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3620
  { 0, NULL, 0, NULL }
3621
};
3622
3623
static unsigned
3624
0
dissect_h245_ParameterIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3625
0
  gef_ctx_t *gefx;
3626
0
  proto_item* ti;
3627
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3628
0
                                 ett_h245_ParameterIdentifier, ParameterIdentifier_choice,
3629
0
                                 NULL);
3630
3631
0
  gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data));
3632
0
  gefx = gef_ctx_get(actx->private_data);
3633
0
  if (gefx) {
3634
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3635
0
  proto_item_set_hidden(ti);
3636
0
    dissector_try_string_with_data(gef_name_dissector_table, gefx->key, tvb_new_subset_length(tvb, offset>>3, 0), actx->pinfo, tree, false, actx);
3637
0
  }
3638
0
  actx->private_data = gefx;  /* subdissector could overwrite it */
3639
0
  return offset;
3640
0
}
3641
3642
3643
3644
static unsigned
3645
0
dissect_h245_T_booleanArray(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3646
0
  uint32_t value;
3647
0
  uint8_t *buf;
3648
0
  tvbuff_t *value_tvb;
3649
0
  gef_ctx_t *gefx;
3650
0
  proto_item* ti;
3651
3652
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3653
0
                                                            0U, 255U, &value, false);
3654
3655
0
  gefx = gef_ctx_get(actx->private_data);
3656
0
  if (gefx) {
3657
0
    buf = wmem_new(actx->pinfo->pool, uint8_t);
3658
0
    buf[0] = value;
3659
0
    value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint8_t), sizeof(uint8_t));
3660
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3661
0
  proto_item_set_hidden(ti);
3662
0
    add_new_data_source(actx->pinfo, value_tvb, "booleanArray");
3663
0
    dissector_try_string_with_data(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, false, actx);
3664
0
  }
3665
3666
0
  return offset;
3667
0
}
3668
3669
3670
3671
static unsigned
3672
0
dissect_h245_T_unsignedMin(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3673
0
  uint32_t value;
3674
0
  uint8_t *buf;
3675
0
  tvbuff_t *value_tvb;
3676
0
  gef_ctx_t *gefx;
3677
0
  proto_item* ti;
3678
3679
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3680
0
                                                            0U, 65535U, &value, false);
3681
3682
0
  gefx = gef_ctx_get(actx->private_data);
3683
0
  if (gefx) {
3684
0
    buf = (uint8_t *)wmem_new(actx->pinfo->pool, uint16_t);
3685
0
    phtonu16(buf, value);
3686
0
    value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint16_t), sizeof(uint16_t));
3687
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3688
0
  proto_item_set_hidden(ti);
3689
0
    add_new_data_source(actx->pinfo, value_tvb, "unsignedMin");
3690
0
    dissector_try_string_with_data(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, true, actx);
3691
0
  }
3692
3693
0
  return offset;
3694
0
}
3695
3696
3697
3698
static unsigned
3699
0
dissect_h245_T_unsignedMax(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3700
0
  uint32_t value;
3701
0
  uint8_t *buf;
3702
0
  tvbuff_t *value_tvb;
3703
0
  gef_ctx_t *gefx;
3704
0
  proto_item* ti;
3705
3706
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3707
0
                                                            0U, 65535U, &value, false);
3708
3709
0
  gefx = gef_ctx_get(actx->private_data);
3710
0
  if (gefx) {
3711
0
    buf = (uint8_t *)wmem_new(actx->pinfo->pool, uint16_t);
3712
0
    phtonu16(buf, value);
3713
0
    value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint16_t), sizeof(uint16_t));
3714
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3715
0
  proto_item_set_hidden(ti);
3716
0
    add_new_data_source(actx->pinfo, value_tvb, "unsignedMax");
3717
0
    dissector_try_string_with_data(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, true, actx);
3718
0
  }
3719
3720
0
  return offset;
3721
0
}
3722
3723
3724
3725
static unsigned
3726
0
dissect_h245_T_unsigned32Min(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3727
0
  uint32_t value;
3728
0
  uint8_t *buf;
3729
0
  tvbuff_t *value_tvb;
3730
0
  gef_ctx_t *gefx;
3731
0
  proto_item* ti;
3732
3733
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3734
0
                                                            0U, 4294967295U, &value, false);
3735
3736
0
  gefx = gef_ctx_get(actx->private_data);
3737
0
  if (gefx) {
3738
0
    buf = (uint8_t *)wmem_new(actx->pinfo->pool, uint32_t);
3739
0
    phtonu32(buf, value);
3740
0
    value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint32_t), sizeof(uint32_t));
3741
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3742
0
  proto_item_set_hidden(ti);
3743
0
    add_new_data_source(actx->pinfo, value_tvb, "unsigned32Min");
3744
0
    dissector_try_string_with_data(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, true, actx);
3745
0
  }
3746
3747
0
  return offset;
3748
0
}
3749
3750
3751
3752
static unsigned
3753
0
dissect_h245_T_unsigned32Max(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3754
0
  uint32_t value;
3755
0
  uint8_t *buf;
3756
0
  tvbuff_t *value_tvb;
3757
0
  gef_ctx_t *gefx;
3758
0
  proto_item* ti;
3759
3760
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3761
0
                                                            0U, 4294967295U, &value, false);
3762
3763
0
  gefx = gef_ctx_get(actx->private_data);
3764
0
  if (gefx) {
3765
0
    buf = (uint8_t *)wmem_new(actx->pinfo->pool, uint32_t);
3766
0
    phtonu32(buf, value);
3767
0
    value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint32_t), sizeof(uint32_t));
3768
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3769
0
  proto_item_set_hidden(ti);
3770
0
    add_new_data_source(actx->pinfo, value_tvb, "unsigned32Max");
3771
0
    dissector_try_string_with_data(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, true, actx);
3772
0
  }
3773
3774
0
  return offset;
3775
0
}
3776
3777
3778
3779
static unsigned
3780
0
dissect_h245_T_octetString(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3781
0
  tvbuff_t *value_tvb;
3782
0
  gef_ctx_t *gefx;
3783
0
  proto_item* ti;
3784
3785
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3786
0
                                       NO_BOUND, NO_BOUND, false, &value_tvb);
3787
3788
0
  gefx = gef_ctx_get(actx->private_data);
3789
0
  if (gefx) {
3790
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3791
0
  proto_item_set_hidden(ti);
3792
0
    dissector_try_string_with_data(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, true, actx);
3793
0
  }
3794
3795
0
  return offset;
3796
0
}
3797
3798
3799
static const per_sequence_t SEQUENCE_OF_GenericParameter_sequence_of[1] = {
3800
  { &hf_h245_genericParameters_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericParameter },
3801
};
3802
3803
static unsigned
3804
0
dissect_h245_SEQUENCE_OF_GenericParameter(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3805
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3806
0
                                      ett_h245_SEQUENCE_OF_GenericParameter, SEQUENCE_OF_GenericParameter_sequence_of);
3807
3808
0
  return offset;
3809
0
}
3810
3811
3812
static const value_string h245_ParameterValue_vals[] = {
3813
  {   0, "logical" },
3814
  {   1, "booleanArray" },
3815
  {   2, "unsignedMin" },
3816
  {   3, "unsignedMax" },
3817
  {   4, "unsigned32Min" },
3818
  {   5, "unsigned32Max" },
3819
  {   6, "octetString" },
3820
  {   7, "genericParameter" },
3821
  { 0, NULL }
3822
};
3823
3824
static const per_choice_t ParameterValue_choice[] = {
3825
  {   0, &hf_h245_logical        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3826
  {   1, &hf_h245_booleanArray   , ASN1_EXTENSION_ROOT    , dissect_h245_T_booleanArray },
3827
  {   2, &hf_h245_unsignedMin    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMin },
3828
  {   3, &hf_h245_unsignedMax    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMax },
3829
  {   4, &hf_h245_unsigned32Min  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Min },
3830
  {   5, &hf_h245_unsigned32Max  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Max },
3831
  {   6, &hf_h245_octetString    , ASN1_EXTENSION_ROOT    , dissect_h245_T_octetString },
3832
  {   7, &hf_h245_genericParameters, ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_OF_GenericParameter },
3833
  { 0, NULL, 0, NULL }
3834
};
3835
3836
static unsigned
3837
0
dissect_h245_ParameterValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3838
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3839
0
                                 ett_h245_ParameterValue, ParameterValue_choice,
3840
0
                                 NULL);
3841
3842
0
  return offset;
3843
0
}
3844
3845
3846
static const per_sequence_t SEQUENCE_OF_ParameterIdentifier_sequence_of[1] = {
3847
  { &hf_h245_supersedes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3848
};
3849
3850
static unsigned
3851
0
dissect_h245_SEQUENCE_OF_ParameterIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3852
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3853
0
                                      ett_h245_SEQUENCE_OF_ParameterIdentifier, SEQUENCE_OF_ParameterIdentifier_sequence_of);
3854
3855
0
  return offset;
3856
0
}
3857
3858
3859
static const per_sequence_t GenericParameter_sequence[] = {
3860
  { &hf_h245_parameterIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3861
  { &hf_h245_parameterValue , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterValue },
3862
  { &hf_h245_supersedes     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_ParameterIdentifier },
3863
  { NULL, 0, 0, NULL }
3864
};
3865
3866
static unsigned
3867
0
dissect_h245_GenericParameter(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3868
  // GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter
3869
0
  actx->pinfo->dissection_depth += 3;
3870
0
  increment_dissection_depth(actx->pinfo);
3871
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3872
0
                                   ett_h245_GenericParameter, GenericParameter_sequence);
3873
3874
0
  actx->pinfo->dissection_depth -= 3;
3875
0
  decrement_dissection_depth(actx->pinfo);
3876
0
  return offset;
3877
0
}
3878
3879
3880
3881
static unsigned
3882
0
dissect_h245_T_collapsing_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3883
0
  gef_ctx_t *parent_gefx;
3884
3885
0
  parent_gefx = gef_ctx_get(actx->private_data);
3886
0
  actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "collapsing");
3887
0
  offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3888
3889
0
  actx->private_data = parent_gefx;
3890
0
  return offset;
3891
0
}
3892
3893
3894
static const per_sequence_t T_collapsing_sequence_of[1] = {
3895
  { &hf_h245_collapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_collapsing_item },
3896
};
3897
3898
static unsigned
3899
0
dissect_h245_T_collapsing(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3900
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3901
0
                                      ett_h245_T_collapsing, T_collapsing_sequence_of);
3902
3903
0
  return offset;
3904
0
}
3905
3906
3907
3908
static unsigned
3909
0
dissect_h245_T_nonCollapsing_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3910
0
  gef_ctx_t *parent_gefx;
3911
3912
0
  parent_gefx = gef_ctx_get(actx->private_data);
3913
0
  actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "nonCollapsing");
3914
0
  offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3915
3916
0
  actx->private_data = parent_gefx;
3917
0
  return offset;
3918
0
}
3919
3920
3921
static const per_sequence_t T_nonCollapsing_sequence_of[1] = {
3922
  { &hf_h245_nonCollapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nonCollapsing_item },
3923
};
3924
3925
static unsigned
3926
0
dissect_h245_T_nonCollapsing(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3927
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3928
0
                                      ett_h245_T_nonCollapsing, T_nonCollapsing_sequence_of);
3929
3930
0
  return offset;
3931
0
}
3932
3933
3934
3935
static unsigned
3936
0
dissect_h245_T_nonCollapsingRaw(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3937
0
  tvbuff_t *value_tvb;
3938
0
  gef_ctx_t *parent_gefx;
3939
0
  gef_ctx_t *gefx;
3940
0
  proto_item* ti;
3941
3942
0
  parent_gefx = gef_ctx_get(actx->private_data);
3943
0
  actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "nonCollapsingRaw");
3944
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3945
0
                                       NO_BOUND, NO_BOUND, false, &value_tvb);
3946
3947
0
  gefx = gef_ctx_get(actx->private_data);
3948
0
  if (gefx) {
3949
0
    ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
3950
0
  proto_item_set_hidden(ti);
3951
0
    dissector_try_string_with_data(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, true, actx);
3952
0
  }
3953
0
  actx->private_data = parent_gefx;
3954
3955
0
  return offset;
3956
0
}
3957
3958
3959
static const per_sequence_t GenericCapability_sequence[] = {
3960
  { &hf_h245_capabilityIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
3961
  { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
3962
  { &hf_h245_collapsing     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_collapsing },
3963
  { &hf_h245_nonCollapsing  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsing },
3964
  { &hf_h245_nonCollapsingRaw, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsingRaw },
3965
  { &hf_h245_transport      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataProtocolCapability },
3966
  { NULL, 0, 0, NULL }
3967
};
3968
3969
static unsigned
3970
0
dissect_h245_GenericCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3971
0
  void *priv_data = actx->private_data;
3972
0
  actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericCapability");
3973
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3974
0
                                   ett_h245_GenericCapability, GenericCapability_sequence);
3975
3976
0
  actx->private_data = priv_data;
3977
0
  return offset;
3978
0
}
3979
3980
3981
static const value_string h245_Application_vals[] = {
3982
  {   0, "nonStandard" },
3983
  {   1, "t120" },
3984
  {   2, "dsm-cc" },
3985
  {   3, "userData" },
3986
  {   4, "t84" },
3987
  {   5, "t434" },
3988
  {   6, "h224" },
3989
  {   7, "nlpid" },
3990
  {   8, "dsvdControl" },
3991
  {   9, "h222DataPartitioning" },
3992
  {  10, "t30fax" },
3993
  {  11, "t140" },
3994
  {  12, "t38fax" },
3995
  {  13, "genericDataCapability" },
3996
  { 0, NULL }
3997
};
3998
3999
static const per_choice_t Application_choice[] = {
4000
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4001
  {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4002
  {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4003
  {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4004
  {   4, &hf_h245_t84            , ASN1_EXTENSION_ROOT    , dissect_h245_T_t84 },
4005
  {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4006
  {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4007
  {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
4008
  {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4009
  {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4010
  {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4011
  {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4012
  {  12, &hf_h245_t38fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_t38fax },
4013
  {  13, &hf_h245_genericDataCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4014
  { 0, NULL, 0, NULL }
4015
};
4016
4017
static unsigned
4018
0
dissect_h245_Application(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4019
0
  int32_t value;
4020
4021
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4022
0
                                 ett_h245_Application, Application_choice,
4023
0
                                 &value);
4024
4025
0
        codec_type = val_to_str_const(value, h245_Application_vals, "<unknown>");
4026
4027
0
  return offset;
4028
0
}
4029
4030
4031
static const per_sequence_t DataApplicationCapability_sequence[] = {
4032
  { &hf_h245_application    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Application },
4033
  { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
4034
  { NULL, 0, 0, NULL }
4035
};
4036
4037
static unsigned
4038
0
dissect_h245_DataApplicationCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4039
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4040
0
                                   ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
4041
4042
0
  return offset;
4043
0
}
4044
4045
4046
static const per_sequence_t SEQUENCE_OF_DataApplicationCapability_sequence_of[1] = {
4047
  { &hf_h245_centralizedData_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataApplicationCapability },
4048
};
4049
4050
static unsigned
4051
0
dissect_h245_SEQUENCE_OF_DataApplicationCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4052
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4053
0
                                      ett_h245_SEQUENCE_OF_DataApplicationCapability, SEQUENCE_OF_DataApplicationCapability_sequence_of);
4054
4055
0
  return offset;
4056
0
}
4057
4058
4059
static const per_sequence_t MediaDistributionCapability_sequence[] = {
4060
  { &hf_h245_centralizedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4061
  { &hf_h245_distributedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4062
  { &hf_h245_centralizedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4063
  { &hf_h245_distributedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4064
  { &hf_h245_centralizedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4065
  { &hf_h245_distributedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4066
  { &hf_h245_centralizedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4067
  { &hf_h245_distributedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4068
  { NULL, 0, 0, NULL }
4069
};
4070
4071
static unsigned
4072
0
dissect_h245_MediaDistributionCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4073
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4074
0
                                   ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
4075
4076
0
  return offset;
4077
0
}
4078
4079
4080
static const per_sequence_t SEQUENCE_OF_MediaDistributionCapability_sequence_of[1] = {
4081
  { &hf_h245_mediaDistributionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaDistributionCapability },
4082
};
4083
4084
static unsigned
4085
0
dissect_h245_SEQUENCE_OF_MediaDistributionCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4086
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4087
0
                                      ett_h245_SEQUENCE_OF_MediaDistributionCapability, SEQUENCE_OF_MediaDistributionCapability_sequence_of);
4088
4089
0
  return offset;
4090
0
}
4091
4092
4093
static const per_sequence_t MultipointCapability_sequence[] = {
4094
  { &hf_h245_multicastCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4095
  { &hf_h245_multiUniCastConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4096
  { &hf_h245_mediaDistributionCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MediaDistributionCapability },
4097
  { NULL, 0, 0, NULL }
4098
};
4099
4100
static unsigned
4101
0
dissect_h245_MultipointCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4102
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4103
0
                                   ett_h245_MultipointCapability, MultipointCapability_sequence);
4104
4105
0
  return offset;
4106
0
}
4107
4108
4109
static const per_sequence_t T_mcCapability_sequence[] = {
4110
  { &hf_h245_centralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4111
  { &hf_h245_decentralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4112
  { NULL, 0, 0, NULL }
4113
};
4114
4115
static unsigned
4116
0
dissect_h245_T_mcCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4117
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4118
0
                                   ett_h245_T_mcCapability, T_mcCapability_sequence);
4119
4120
0
  return offset;
4121
0
}
4122
4123
4124
4125
static unsigned
4126
0
dissect_h245_T_rfc_number(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4127
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4128
0
                                                            1U, 32768U, &rfc_number, true);
4129
4130
0
  return offset;
4131
0
}
4132
4133
4134
static const value_string h245_T_payloadDescriptor_vals[] = {
4135
  {   0, "nonStandardIdentifier" },
4136
  {   1, "rfc-number" },
4137
  {   2, "oid" },
4138
  { 0, NULL }
4139
};
4140
4141
static const per_choice_t T_payloadDescriptor_choice[] = {
4142
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4143
  {   1, &hf_h245_rfc_number     , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc_number },
4144
  {   2, &hf_h245_oid            , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
4145
  { 0, NULL, 0, NULL }
4146
};
4147
4148
static unsigned
4149
0
dissect_h245_T_payloadDescriptor(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4150
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4151
0
                                 ett_h245_T_payloadDescriptor, T_payloadDescriptor_choice,
4152
0
                                 NULL);
4153
4154
0
  return offset;
4155
0
}
4156
4157
4158
4159
static unsigned
4160
0
dissect_h245_T_rtpPayloadType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4161
0
  unsigned int pt;
4162
4163
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4164
0
                                                            0U, 127U, &pt, false);
4165
4166
4167
0
  if ((rfc_number == 2198) && upcoming_channel) {
4168
0
    upcoming_channel->rfc2198 = pt;
4169
0
  }
4170
4171
0
  return offset;
4172
0
}
4173
4174
4175
static const per_sequence_t RTPPayloadType_sequence[] = {
4176
  { &hf_h245_payloadDescriptor, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_payloadDescriptor },
4177
  { &hf_h245_rtpPayloadType_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtpPayloadType },
4178
  { NULL, 0, 0, NULL }
4179
};
4180
4181
static unsigned
4182
0
dissect_h245_RTPPayloadType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4183
0
  rfc_number = 0;
4184
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4185
0
                                   ett_h245_RTPPayloadType, RTPPayloadType_sequence);
4186
4187
0
  return offset;
4188
0
}
4189
4190
4191
static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of[1] = {
4192
  { &hf_h245_rtpPayloadTypes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPPayloadType },
4193
};
4194
4195
static unsigned
4196
0
dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4197
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4198
0
                                                  ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType, SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of,
4199
0
                                                  1, 256, false);
4200
4201
0
  return offset;
4202
0
}
4203
4204
4205
static const per_sequence_t MediaPacketizationCapability_sequence[] = {
4206
  { &hf_h245_h261aVideoPacketization, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4207
  { &hf_h245_rtpPayloadTypes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType },
4208
  { NULL, 0, 0, NULL }
4209
};
4210
4211
static unsigned
4212
0
dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4213
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4214
0
                                   ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
4215
4216
0
  return offset;
4217
0
}
4218
4219
4220
static const value_string h245_QOSMode_vals[] = {
4221
  {   0, "guaranteedQOS" },
4222
  {   1, "controlledLoad" },
4223
  { 0, NULL }
4224
};
4225
4226
static const per_choice_t QOSMode_choice[] = {
4227
  {   0, &hf_h245_guaranteedQOS  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4228
  {   1, &hf_h245_controlledLoad , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4229
  { 0, NULL, 0, NULL }
4230
};
4231
4232
static unsigned
4233
13
dissect_h245_QOSMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4234
13
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4235
13
                                 ett_h245_QOSMode, QOSMode_choice,
4236
13
                                 NULL);
4237
4238
13
  return offset;
4239
13
}
4240
4241
4242
4243
static unsigned
4244
143
dissect_h245_INTEGER_1_4294967295(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4245
143
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4246
143
                                                            1U, 4294967295U, NULL, false);
4247
4248
143
  return offset;
4249
143
}
4250
4251
4252
static const per_sequence_t RSVPParameters_sequence[] = {
4253
  { &hf_h245_qosMode        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_QOSMode },
4254
  { &hf_h245_tokenRate      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4255
  { &hf_h245_bucketSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4256
  { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4257
  { &hf_h245_minPoliced     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4258
  { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4259
  { NULL, 0, 0, NULL }
4260
};
4261
4262
static unsigned
4263
87
dissect_h245_RSVPParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4264
87
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4265
87
                                   ett_h245_RSVPParameters, RSVPParameters_sequence);
4266
4267
87
  return offset;
4268
87
}
4269
4270
4271
static const per_sequence_t ATMParameters_sequence[] = {
4272
  { &hf_h245_maxNTUSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
4273
  { &hf_h245_atmUBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4274
  { &hf_h245_atmrtVBR       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4275
  { &hf_h245_atmnrtVBR      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4276
  { &hf_h245_atmABR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4277
  { &hf_h245_atmCBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4278
  { NULL, 0, 0, NULL }
4279
};
4280
4281
static unsigned
4282
32
dissect_h245_ATMParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4283
32
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4284
32
                                   ett_h245_ATMParameters, ATMParameters_sequence);
4285
4286
32
  return offset;
4287
32
}
4288
4289
4290
static const per_sequence_t GenericTransportParameters_sequence[] = {
4291
  { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4292
  { &hf_h245_averageRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4293
  { &hf_h245_burst          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4294
  { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4295
  { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4296
  { NULL, 0, 0, NULL }
4297
};
4298
4299
static unsigned
4300
1
dissect_h245_GenericTransportParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4301
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4302
1
                                   ett_h245_GenericTransportParameters, GenericTransportParameters_sequence);
4303
4304
1
  return offset;
4305
1
}
4306
4307
4308
static const per_sequence_t ServicePriorityValue_sequence[] = {
4309
  { &hf_h245_nonStandardParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4310
  { &hf_h245_value          , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4311
  { NULL, 0, 0, NULL }
4312
};
4313
4314
static unsigned
4315
0
dissect_h245_ServicePriorityValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4316
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4317
0
                                   ett_h245_ServicePriorityValue, ServicePriorityValue_sequence);
4318
4319
0
  return offset;
4320
0
}
4321
4322
4323
4324
static unsigned
4325
0
dissect_h245_INTEGER_0_4095(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4326
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4327
0
                                                            0U, 4095U, NULL, false);
4328
4329
0
  return offset;
4330
0
}
4331
4332
4333
static const per_sequence_t ServicePriority_sequence[] = {
4334
  { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4335
  { &hf_h245_servicePrioritySignalled, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4336
  { &hf_h245_servicePriorityValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ServicePriorityValue },
4337
  { &hf_h245_serviceClass   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4095 },
4338
  { &hf_h245_serviceSubclass, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
4339
  { NULL, 0, 0, NULL }
4340
};
4341
4342
static unsigned
4343
2
dissect_h245_ServicePriority(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4344
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4345
2
                                   ett_h245_ServicePriority, ServicePriority_sequence);
4346
4347
2
  return offset;
4348
2
}
4349
4350
4351
static const per_sequence_t AuthorizationParameters_sequence[] = {
4352
  { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4353
  { NULL, 0, 0, NULL }
4354
};
4355
4356
static unsigned
4357
1
dissect_h245_AuthorizationParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4358
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4359
1
                                   ett_h245_AuthorizationParameters, AuthorizationParameters_sequence);
4360
4361
1
  return offset;
4362
1
}
4363
4364
4365
static const value_string h245_QOSType_vals[] = {
4366
  {   0, "desired" },
4367
  {   1, "required" },
4368
  { 0, NULL }
4369
};
4370
4371
static const per_choice_t QOSType_choice[] = {
4372
  {   0, &hf_h245_desired        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4373
  {   1, &hf_h245_required       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4374
  { 0, NULL, 0, NULL }
4375
};
4376
4377
static unsigned
4378
1
dissect_h245_QOSType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4379
1
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4380
1
                                 ett_h245_QOSType, QOSType_choice,
4381
1
                                 NULL);
4382
4383
1
  return offset;
4384
1
}
4385
4386
4387
static const value_string h245_QOSClass_vals[] = {
4388
  {   0, "class0" },
4389
  {   1, "class1" },
4390
  {   2, "class2" },
4391
  {   3, "class3" },
4392
  {   4, "class4" },
4393
  {   5, "class5" },
4394
  { 0, NULL }
4395
};
4396
4397
static const per_choice_t QOSClass_choice[] = {
4398
  {   0, &hf_h245_class0         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4399
  {   1, &hf_h245_class1         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4400
  {   2, &hf_h245_class2         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4401
  {   3, &hf_h245_class3         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4402
  {   4, &hf_h245_class4         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4403
  {   5, &hf_h245_class5         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4404
  { 0, NULL, 0, NULL }
4405
};
4406
4407
static unsigned
4408
1
dissect_h245_QOSClass(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4409
1
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4410
1
                                 ett_h245_QOSClass, QOSClass_choice,
4411
1
                                 NULL);
4412
4413
1
  return offset;
4414
1
}
4415
4416
4417
static const per_sequence_t QOSDescriptor_sequence[] = {
4418
  { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4419
  { &hf_h245_qosType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSType },
4420
  { &hf_h245_qosClass       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSClass },
4421
  { NULL, 0, 0, NULL }
4422
};
4423
4424
static unsigned
4425
1
dissect_h245_QOSDescriptor(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4426
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4427
1
                                   ett_h245_QOSDescriptor, QOSDescriptor_sequence);
4428
4429
1
  return offset;
4430
1
}
4431
4432
4433
4434
static unsigned
4435
45
dissect_h245_INTEGER_0_63(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4436
45
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4437
45
                                                            0U, 63U, NULL, false);
4438
4439
45
  return offset;
4440
45
}
4441
4442
4443
static const per_sequence_t QOSCapability_sequence[] = {
4444
  { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4445
  { &hf_h245_rsvpParameters , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RSVPParameters },
4446
  { &hf_h245_atmParameters  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ATMParameters },
4447
  { &hf_h245_localQoS       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
4448
  { &hf_h245_genericTransportParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericTransportParameters },
4449
  { &hf_h245_servicePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_ServicePriority },
4450
  { &hf_h245_authorizationParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_AuthorizationParameters },
4451
  { &hf_h245_qosDescriptor  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSDescriptor },
4452
  { &hf_h245_dscpValue      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_63 },
4453
  { NULL, 0, 0, NULL }
4454
};
4455
4456
unsigned
4457
694
dissect_h245_QOSCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4458
694
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4459
694
                                   ett_h245_QOSCapability, QOSCapability_sequence);
4460
4461
694
  return offset;
4462
694
}
4463
4464
4465
static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = {
4466
  { &hf_h245_qOSCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability },
4467
};
4468
4469
static unsigned
4470
0
dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4471
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4472
0
                                                  ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of,
4473
0
                                                  1, 256, false);
4474
4475
0
  return offset;
4476
0
}
4477
4478
4479
static const per_sequence_t T_atm_AAL5_compressed_sequence[] = {
4480
  { &hf_h245_variable_delta , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4481
  { NULL, 0, 0, NULL }
4482
};
4483
4484
static unsigned
4485
0
dissect_h245_T_atm_AAL5_compressed(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4486
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4487
0
                                   ett_h245_T_atm_AAL5_compressed, T_atm_AAL5_compressed_sequence);
4488
4489
0
  return offset;
4490
0
}
4491
4492
4493
static const value_string h245_MediaTransportType_vals[] = {
4494
  {   0, "ip-UDP" },
4495
  {   1, "ip-TCP" },
4496
  {   2, "atm-AAL5-UNIDIR" },
4497
  {   3, "atm-AAL5-BIDIR" },
4498
  {   4, "atm-AAL5-compressed" },
4499
  { 0, NULL }
4500
};
4501
4502
static const per_choice_t MediaTransportType_choice[] = {
4503
  {   0, &hf_h245_ip_UDP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4504
  {   1, &hf_h245_ip_TCP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4505
  {   2, &hf_h245_atm_AAL5_UNIDIR, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4506
  {   3, &hf_h245_atm_AAL5_BIDIR , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4507
  {   4, &hf_h245_atm_AAL5_compressed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_atm_AAL5_compressed },
4508
  { 0, NULL, 0, NULL }
4509
};
4510
4511
static unsigned
4512
0
dissect_h245_MediaTransportType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4513
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4514
0
                                 ett_h245_MediaTransportType, MediaTransportType_choice,
4515
0
                                 NULL);
4516
4517
0
  return offset;
4518
0
}
4519
4520
4521
static const per_sequence_t MediaChannelCapability_sequence[] = {
4522
  { &hf_h245_mediaTransport , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MediaTransportType },
4523
  { NULL, 0, 0, NULL }
4524
};
4525
4526
static unsigned
4527
0
dissect_h245_MediaChannelCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4528
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4529
0
                                   ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4530
4531
0
  return offset;
4532
0
}
4533
4534
4535
static const per_sequence_t SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of[1] = {
4536
  { &hf_h245_mediaChannelCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaChannelCapability },
4537
};
4538
4539
static unsigned
4540
0
dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4541
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4542
0
                                                  ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability, SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of,
4543
0
                                                  1, 256, false);
4544
4545
0
  return offset;
4546
0
}
4547
4548
4549
static const per_sequence_t TransportCapability_sequence[] = {
4550
  { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4551
  { &hf_h245_qOSCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability },
4552
  { &hf_h245_mediaChannelCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability },
4553
  { NULL, 0, 0, NULL }
4554
};
4555
4556
static unsigned
4557
0
dissect_h245_TransportCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4558
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4559
0
                                   ett_h245_TransportCapability, TransportCapability_sequence);
4560
4561
0
  return offset;
4562
0
}
4563
4564
4565
4566
static unsigned
4567
0
dissect_h245_INTEGER_1_16(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4568
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4569
0
                                                            1U, 16U, NULL, false);
4570
4571
0
  return offset;
4572
0
}
4573
4574
4575
4576
static unsigned
4577
0
dissect_h245_INTEGER_0_15(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4578
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4579
0
                                                            0U, 15U, NULL, false);
4580
4581
0
  return offset;
4582
0
}
4583
4584
4585
static const per_sequence_t T_frameSequence_sequence_of[1] = {
4586
  { &hf_h245_frameSequence_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4587
};
4588
4589
static unsigned
4590
0
dissect_h245_T_frameSequence(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4591
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4592
0
                                                  ett_h245_T_frameSequence, T_frameSequence_sequence_of,
4593
0
                                                  1, 256, false);
4594
4595
0
  return offset;
4596
0
}
4597
4598
4599
static const per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
4600
  { &hf_h245_threadNumber   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4601
  { &hf_h245_frameSequence  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameSequence },
4602
  { NULL, 0, 0, NULL }
4603
};
4604
4605
static unsigned
4606
0
dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4607
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4608
0
                                   ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
4609
4610
0
  return offset;
4611
0
}
4612
4613
4614
static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of[1] = {
4615
  { &hf_h245_custom_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPH263VideoRedundancyFrameMapping },
4616
};
4617
4618
static unsigned
4619
0
dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4620
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4621
0
                                                  ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping, SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of,
4622
0
                                                  1, 256, false);
4623
4624
0
  return offset;
4625
0
}
4626
4627
4628
static const value_string h245_T_frameToThreadMapping_vals[] = {
4629
  {   0, "roundrobin" },
4630
  {   1, "custom" },
4631
  { 0, NULL }
4632
};
4633
4634
static const per_choice_t T_frameToThreadMapping_choice[] = {
4635
  {   0, &hf_h245_roundrobin     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4636
  {   1, &hf_h245_custom         , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping },
4637
  { 0, NULL, 0, NULL }
4638
};
4639
4640
static unsigned
4641
0
dissect_h245_T_frameToThreadMapping(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4642
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4643
0
                                 ett_h245_T_frameToThreadMapping, T_frameToThreadMapping_choice,
4644
0
                                 NULL);
4645
4646
0
  return offset;
4647
0
}
4648
4649
4650
static const per_sequence_t T_containedThreads_sequence_of[1] = {
4651
  { &hf_h245_containedThreads_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4652
};
4653
4654
static unsigned
4655
0
dissect_h245_T_containedThreads(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4656
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4657
0
                                                  ett_h245_T_containedThreads, T_containedThreads_sequence_of,
4658
0
                                                  1, 256, false);
4659
4660
0
  return offset;
4661
0
}
4662
4663
4664
static const per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
4665
  { &hf_h245_numberOfThreads, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_16 },
4666
  { &hf_h245_framesBetweenSyncPoints, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
4667
  { &hf_h245_frameToThreadMapping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameToThreadMapping },
4668
  { &hf_h245_containedThreads, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_containedThreads },
4669
  { NULL, 0, 0, NULL }
4670
};
4671
4672
static unsigned
4673
0
dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4674
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4675
0
                                   ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
4676
4677
0
  return offset;
4678
0
}
4679
4680
4681
static const value_string h245_RedundancyEncodingMethod_vals[] = {
4682
  {   0, "nonStandard" },
4683
  {   1, "rtpAudioRedundancyEncoding" },
4684
  {   2, "rtpH263VideoRedundancyEncoding" },
4685
  { 0, NULL }
4686
};
4687
4688
static const per_choice_t RedundancyEncodingMethod_choice[] = {
4689
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4690
  {   1, &hf_h245_rtpAudioRedundancyEncoding, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4691
  {   2, &hf_h245_rtpH263VideoRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPH263VideoRedundancyEncoding },
4692
  { 0, NULL, 0, NULL }
4693
};
4694
4695
static unsigned
4696
0
dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4697
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4698
0
                                 ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice,
4699
0
                                 NULL);
4700
4701
0
  return offset;
4702
0
}
4703
4704
4705
4706
static unsigned
4707
0
dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4708
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4709
0
                                                            1U, 65535U, NULL, false);
4710
4711
0
  return offset;
4712
0
}
4713
4714
4715
static const per_sequence_t SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of[1] = {
4716
  { &hf_h245_secondaryEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4717
};
4718
4719
static unsigned
4720
0
dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4721
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4722
0
                                                  ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber, SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of,
4723
0
                                                  1, 256, false);
4724
4725
0
  return offset;
4726
0
}
4727
4728
4729
static const per_sequence_t RedundancyEncodingCapability_sequence[] = {
4730
  { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
4731
  { &hf_h245_primaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4732
  { &hf_h245_secondaryEncodingCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber },
4733
  { NULL, 0, 0, NULL }
4734
};
4735
4736
static unsigned
4737
0
dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4738
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4739
0
                                   ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
4740
4741
0
  return offset;
4742
0
}
4743
4744
4745
static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of[1] = {
4746
  { &hf_h245_redundancyEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingCapability },
4747
};
4748
4749
static unsigned
4750
0
dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4751
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4752
0
                                                  ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability, SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of,
4753
0
                                                  1, 256, false);
4754
4755
0
  return offset;
4756
0
}
4757
4758
4759
static const per_sequence_t H2250Capability_sequence[] = {
4760
  { &hf_h245_maximumAudioDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
4761
  { &hf_h245_receiveMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4762
  { &hf_h245_transmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4763
  { &hf_h245_receiveAndTransmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4764
  { &hf_h245_mcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mcCapability },
4765
  { &hf_h245_rtcpVideoControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4766
  { &hf_h245_mediaPacketizationCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MediaPacketizationCapability },
4767
  { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
4768
  { &hf_h245_redundancyEncodingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability },
4769
  { &hf_h245_logicalChannelSwitchingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4770
  { &hf_h245_t120DynamicPortCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4771
  { NULL, 0, 0, NULL }
4772
};
4773
4774
static unsigned
4775
0
dissect_h245_H2250Capability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4776
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4777
0
                                   ett_h245_H2250Capability, H2250Capability_sequence);
4778
4779
0
  return offset;
4780
0
}
4781
4782
4783
static const value_string h245_MultiplexCapability_vals[] = {
4784
  {   0, "nonStandard" },
4785
  {   1, "h222Capability" },
4786
  {   2, "h223Capability" },
4787
  {   3, "v76Capability" },
4788
  {   4, "h2250Capability" },
4789
  {   5, "genericMultiplexCapability" },
4790
  { 0, NULL }
4791
};
4792
4793
static const per_choice_t MultiplexCapability_choice[] = {
4794
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4795
  {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
4796
  {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
4797
  {   3, &hf_h245_v76Capability  , ASN1_EXTENSION_ROOT    , dissect_h245_V76Capability },
4798
  {   4, &hf_h245_h2250Capability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250Capability },
4799
  {   5, &hf_h245_genericMultiplexCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4800
  { 0, NULL, 0, NULL }
4801
};
4802
4803
static unsigned
4804
0
dissect_h245_MultiplexCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4805
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4806
0
                                 ett_h245_MultiplexCapability, MultiplexCapability_choice,
4807
0
                                 NULL);
4808
4809
0
  return offset;
4810
0
}
4811
4812
4813
4814
static unsigned
4815
0
dissect_h245_INTEGER_1_4(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4816
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4817
0
                                                            1U, 4U, NULL, false);
4818
4819
0
  return offset;
4820
0
}
4821
4822
4823
static const per_sequence_t H261VideoCapability_sequence[] = {
4824
  { &hf_h245_qcifMPI_1_4    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4825
  { &hf_h245_cifMPI_1_4     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4826
  { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4827
  { &hf_h245_maxBitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
4828
  { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4829
  { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4830
  { NULL, 0, 0, NULL }
4831
};
4832
4833
static unsigned
4834
0
dissect_h245_H261VideoCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4835
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4836
0
                                   ett_h245_H261VideoCapability, H261VideoCapability_sequence);
4837
4838
0
  return offset;
4839
0
}
4840
4841
4842
4843
static unsigned
4844
0
dissect_h245_INTEGER_0_1073741823(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4845
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4846
0
                                                            0U, 1073741823U, NULL, false);
4847
4848
0
  return offset;
4849
0
}
4850
4851
4852
4853
static unsigned
4854
0
dissect_h245_INTEGER_0_262143(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4855
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4856
0
                                                            0U, 262143U, NULL, false);
4857
4858
0
  return offset;
4859
0
}
4860
4861
4862
4863
static unsigned
4864
0
dissect_h245_INTEGER_0_16383(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4865
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4866
0
                                                            0U, 16383U, NULL, false);
4867
4868
0
  return offset;
4869
0
}
4870
4871
4872
static const per_sequence_t H262VideoCapability_sequence[] = {
4873
  { &hf_h245_profileAndLevel_SPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4874
  { &hf_h245_profileAndLevel_MPatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4875
  { &hf_h245_profileAndLevel_MPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4876
  { &hf_h245_profileAndLevel_MPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4877
  { &hf_h245_profileAndLevel_MPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4878
  { &hf_h245_profileAndLevel_SNRatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4879
  { &hf_h245_profileAndLevel_SNRatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4880
  { &hf_h245_profileAndLevel_SpatialatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4881
  { &hf_h245_profileAndLevel_HPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4882
  { &hf_h245_profileAndLevel_HPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4883
  { &hf_h245_profileAndLevel_HPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4884
  { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
4885
  { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
4886
  { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4887
  { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4888
  { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
4889
  { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4890
  { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4891
  { NULL, 0, 0, NULL }
4892
};
4893
4894
static unsigned
4895
0
dissect_h245_H262VideoCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4896
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4897
0
                                   ett_h245_H262VideoCapability, H262VideoCapability_sequence);
4898
4899
0
  return offset;
4900
0
}
4901
4902
4903
4904
static unsigned
4905
0
dissect_h245_INTEGER_1_32(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4906
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4907
0
                                                            1U, 32U, NULL, false);
4908
4909
0
  return offset;
4910
0
}
4911
4912
4913
4914
static unsigned
4915
0
dissect_h245_INTEGER_1_192400(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4916
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4917
0
                                                            1U, 192400U, NULL, false);
4918
4919
0
  return offset;
4920
0
}
4921
4922
4923
4924
static unsigned
4925
0
dissect_h245_INTEGER_0_524287(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4926
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4927
0
                                                            0U, 524287U, NULL, false);
4928
4929
0
  return offset;
4930
0
}
4931
4932
4933
4934
static unsigned
4935
0
dissect_h245_INTEGER_1_3600(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4936
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4937
0
                                                            1U, 3600U, NULL, false);
4938
4939
0
  return offset;
4940
0
}
4941
4942
4943
4944
static unsigned
4945
0
dissect_h245_INTEGER_M262144_262143(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4946
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4947
0
                                                            -262144, 262143U, NULL, false);
4948
4949
0
  return offset;
4950
0
}
4951
4952
4953
static const per_sequence_t TransparencyParameters_sequence[] = {
4954
  { &hf_h245_presentationOrder, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
4955
  { &hf_h245_offset_x       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
4956
  { &hf_h245_offset_y       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
4957
  { &hf_h245_scale_x        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
4958
  { &hf_h245_scale_y        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
4959
  { NULL, 0, 0, NULL }
4960
};
4961
4962
static unsigned
4963
0
dissect_h245_TransparencyParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4964
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4965
0
                                   ett_h245_TransparencyParameters, TransparencyParameters_sequence);
4966
4967
0
  return offset;
4968
0
}
4969
4970
4971
static const per_sequence_t T_additionalPictureMemory_sequence[] = {
4972
  { &hf_h245_sqcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4973
  { &hf_h245_qcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4974
  { &hf_h245_cifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4975
  { &hf_h245_cif4AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4976
  { &hf_h245_cif16AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4977
  { &hf_h245_bigCpfAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4978
  { NULL, 0, 0, NULL }
4979
};
4980
4981
static unsigned
4982
0
dissect_h245_T_additionalPictureMemory(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4983
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4984
0
                                   ett_h245_T_additionalPictureMemory, T_additionalPictureMemory_sequence);
4985
4986
0
  return offset;
4987
0
}
4988
4989
4990
static const value_string h245_T_videoBackChannelSend_vals[] = {
4991
  {   0, "none" },
4992
  {   1, "ackMessageOnly" },
4993
  {   2, "nackMessageOnly" },
4994
  {   3, "ackOrNackMessageOnly" },
4995
  {   4, "ackAndNackMessage" },
4996
  { 0, NULL }
4997
};
4998
4999
static const per_choice_t T_videoBackChannelSend_choice[] = {
5000
  {   0, &hf_h245_none           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5001
  {   1, &hf_h245_ackMessageOnly , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5002
  {   2, &hf_h245_nackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5003
  {   3, &hf_h245_ackOrNackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5004
  {   4, &hf_h245_ackAndNackMessage, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5005
  { 0, NULL, 0, NULL }
5006
};
5007
5008
static unsigned
5009
0
dissect_h245_T_videoBackChannelSend(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5010
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5011
0
                                 ett_h245_T_videoBackChannelSend, T_videoBackChannelSend_choice,
5012
0
                                 NULL);
5013
5014
0
  return offset;
5015
0
}
5016
5017
5018
5019
static unsigned
5020
0
dissect_h245_INTEGER_1_128(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5021
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5022
0
                                                            1U, 128U, NULL, false);
5023
5024
0
  return offset;
5025
0
}
5026
5027
5028
5029
static unsigned
5030
0
dissect_h245_INTEGER_1_72(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5031
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5032
0
                                                            1U, 72U, NULL, false);
5033
5034
0
  return offset;
5035
0
}
5036
5037
5038
static const per_sequence_t T_subPictureRemovalParameters_sequence[] = {
5039
  { &hf_h245_mpuHorizMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_128 },
5040
  { &hf_h245_mpuVertMBs     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_72 },
5041
  { &hf_h245_mpuTotalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
5042
  { NULL, 0, 0, NULL }
5043
};
5044
5045
static unsigned
5046
0
dissect_h245_T_subPictureRemovalParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5047
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5048
0
                                   ett_h245_T_subPictureRemovalParameters, T_subPictureRemovalParameters_sequence);
5049
5050
0
  return offset;
5051
0
}
5052
5053
5054
static const per_sequence_t T_enhancedReferencePicSelect_sequence[] = {
5055
  { &hf_h245_subPictureRemovalParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subPictureRemovalParameters },
5056
  { NULL, 0, 0, NULL }
5057
};
5058
5059
static unsigned
5060
0
dissect_h245_T_enhancedReferencePicSelect(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5061
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5062
0
                                   ett_h245_T_enhancedReferencePicSelect, T_enhancedReferencePicSelect_sequence);
5063
5064
0
  return offset;
5065
0
}
5066
5067
5068
static const per_sequence_t RefPictureSelection_sequence[] = {
5069
  { &hf_h245_additionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_additionalPictureMemory },
5070
  { &hf_h245_videoMux       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5071
  { &hf_h245_videoBackChannelSend, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_videoBackChannelSend },
5072
  { &hf_h245_enhancedReferencePicSelect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_enhancedReferencePicSelect },
5073
  { NULL, 0, 0, NULL }
5074
};
5075
5076
static unsigned
5077
0
dissect_h245_RefPictureSelection(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5078
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5079
0
                                   ett_h245_RefPictureSelection, RefPictureSelection_sequence);
5080
5081
0
  return offset;
5082
0
}
5083
5084
5085
5086
static unsigned
5087
0
dissect_h245_INTEGER_1000_1001(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5088
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5089
0
                                                            1000U, 1001U, NULL, false);
5090
5091
0
  return offset;
5092
0
}
5093
5094
5095
5096
static unsigned
5097
0
dissect_h245_INTEGER_1_2048(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5098
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5099
0
                                                            1U, 2048U, NULL, false);
5100
5101
0
  return offset;
5102
0
}
5103
5104
5105
static const per_sequence_t CustomPictureClockFrequency_sequence[] = {
5106
  { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5107
  { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5108
  { &hf_h245_sqcifMPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5109
  { &hf_h245_qcifMPI_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5110
  { &hf_h245_cifMPI2_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5111
  { &hf_h245_cif4MPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5112
  { &hf_h245_cif16MPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5113
  { NULL, 0, 0, NULL }
5114
};
5115
5116
static unsigned
5117
0
dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5118
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5119
0
                                   ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
5120
5121
0
  return offset;
5122
0
}
5123
5124
5125
static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of[1] = {
5126
  { &hf_h245_customPictureClockFrequency_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureClockFrequency },
5127
};
5128
5129
static unsigned
5130
0
dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5131
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5132
0
                                             ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency, SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of,
5133
0
                                             1, 16, false);
5134
5135
0
  return offset;
5136
0
}
5137
5138
5139
5140
static unsigned
5141
0
dissect_h245_INTEGER_1_31(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5142
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5143
0
                                                            1U, 31U, NULL, false);
5144
5145
0
  return offset;
5146
0
}
5147
5148
5149
static const per_sequence_t T_customPCF_item_sequence[] = {
5150
  { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5151
  { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5152
  { &hf_h245_customMPI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5153
  { NULL, 0, 0, NULL }
5154
};
5155
5156
static unsigned
5157
0
dissect_h245_T_customPCF_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5158
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5159
0
                                   ett_h245_T_customPCF_item, T_customPCF_item_sequence);
5160
5161
0
  return offset;
5162
0
}
5163
5164
5165
static const per_sequence_t T_customPCF_set_of[1] = {
5166
  { &hf_h245_customPCF_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_customPCF_item },
5167
};
5168
5169
static unsigned
5170
0
dissect_h245_T_customPCF(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5171
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5172
0
                                             ett_h245_T_customPCF, T_customPCF_set_of,
5173
0
                                             1, 16, false);
5174
5175
0
  return offset;
5176
0
}
5177
5178
5179
static const per_sequence_t T_mPI_sequence[] = {
5180
  { &hf_h245_standardMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_31 },
5181
  { &hf_h245_customPCF      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_customPCF },
5182
  { NULL, 0, 0, NULL }
5183
};
5184
5185
static unsigned
5186
0
dissect_h245_T_mPI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5187
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5188
0
                                   ett_h245_T_mPI, T_mPI_sequence);
5189
5190
0
  return offset;
5191
0
}
5192
5193
5194
5195
static unsigned
5196
0
dissect_h245_INTEGER_1_14(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5197
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5198
0
                                                            1U, 14U, NULL, false);
5199
5200
0
  return offset;
5201
0
}
5202
5203
5204
static const per_sequence_t T_pixelAspectCode_set_of[1] = {
5205
  { &hf_h245_pixelAspectCode_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_14 },
5206
};
5207
5208
static unsigned
5209
0
dissect_h245_T_pixelAspectCode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5210
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5211
0
                                             ett_h245_T_pixelAspectCode, T_pixelAspectCode_set_of,
5212
0
                                             1, 14, false);
5213
5214
0
  return offset;
5215
0
}
5216
5217
5218
static const per_sequence_t T_extendedPAR_item_sequence[] = {
5219
  { &hf_h245_width          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5220
  { &hf_h245_height         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5221
  { NULL, 0, 0, NULL }
5222
};
5223
5224
static unsigned
5225
0
dissect_h245_T_extendedPAR_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5226
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5227
0
                                   ett_h245_T_extendedPAR_item, T_extendedPAR_item_sequence);
5228
5229
0
  return offset;
5230
0
}
5231
5232
5233
static const per_sequence_t T_extendedPAR_set_of[1] = {
5234
  { &hf_h245_extendedPAR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_extendedPAR_item },
5235
};
5236
5237
static unsigned
5238
0
dissect_h245_T_extendedPAR(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5239
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5240
0
                                             ett_h245_T_extendedPAR, T_extendedPAR_set_of,
5241
0
                                             1, 256, false);
5242
5243
0
  return offset;
5244
0
}
5245
5246
5247
static const value_string h245_T_pixelAspectInformation_vals[] = {
5248
  {   0, "anyPixelAspectRatio" },
5249
  {   1, "pixelAspectCode" },
5250
  {   2, "extendedPAR" },
5251
  { 0, NULL }
5252
};
5253
5254
static const per_choice_t T_pixelAspectInformation_choice[] = {
5255
  {   0, &hf_h245_anyPixelAspectRatio, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
5256
  {   1, &hf_h245_pixelAspectCode, ASN1_EXTENSION_ROOT    , dissect_h245_T_pixelAspectCode },
5257
  {   2, &hf_h245_extendedPAR    , ASN1_EXTENSION_ROOT    , dissect_h245_T_extendedPAR },
5258
  { 0, NULL, 0, NULL }
5259
};
5260
5261
static unsigned
5262
0
dissect_h245_T_pixelAspectInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5263
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5264
0
                                 ett_h245_T_pixelAspectInformation, T_pixelAspectInformation_choice,
5265
0
                                 NULL);
5266
5267
0
  return offset;
5268
0
}
5269
5270
5271
static const per_sequence_t CustomPictureFormat_sequence[] = {
5272
  { &hf_h245_maxCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5273
  { &hf_h245_maxCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5274
  { &hf_h245_minCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5275
  { &hf_h245_minCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5276
  { &hf_h245_mPI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mPI },
5277
  { &hf_h245_pixelAspectInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pixelAspectInformation },
5278
  { NULL, 0, 0, NULL }
5279
};
5280
5281
static unsigned
5282
0
dissect_h245_CustomPictureFormat(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5283
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5284
0
                                   ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
5285
5286
0
  return offset;
5287
0
}
5288
5289
5290
static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureFormat_set_of[1] = {
5291
  { &hf_h245_customPictureFormat_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureFormat },
5292
};
5293
5294
static unsigned
5295
0
dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5296
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5297
0
                                             ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat, SET_SIZE_1_16_OF_CustomPictureFormat_set_of,
5298
0
                                             1, 16, false);
5299
5300
0
  return offset;
5301
0
}
5302
5303
5304
static const per_sequence_t H263Version3Options_sequence[] = {
5305
  { &hf_h245_dataPartitionedSlices, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5306
  { &hf_h245_fixedPointIDCT0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5307
  { &hf_h245_interlacedFields, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5308
  { &hf_h245_currentPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5309
  { &hf_h245_previousPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5310
  { &hf_h245_nextPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5311
  { &hf_h245_pictureNumberBoolean, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5312
  { &hf_h245_spareReferencePictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5313
  { NULL, 0, 0, NULL }
5314
};
5315
5316
static unsigned
5317
0
dissect_h245_H263Version3Options(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5318
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5319
0
                                   ett_h245_H263Version3Options, H263Version3Options_sequence);
5320
5321
0
  return offset;
5322
0
}
5323
5324
5325
static const per_sequence_t H263ModeComboFlags_sequence[] = {
5326
  { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5327
  { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5328
  { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5329
  { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5330
  { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5331
  { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5332
  { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5333
  { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5334
  { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5335
  { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5336
  { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5337
  { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5338
  { &hf_h245_referencePicSelect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5339
  { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5340
  { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5341
  { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5342
  { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5343
  { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5344
  { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5345
  { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5346
  { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5347
  { &hf_h245_enhancedReferencePicSelectBool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5348
  { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5349
  { NULL, 0, 0, NULL }
5350
};
5351
5352
static unsigned
5353
0
dissect_h245_H263ModeComboFlags(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5354
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5355
0
                                   ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5356
5357
0
  return offset;
5358
0
}
5359
5360
5361
static const per_sequence_t SET_SIZE_1_16_OF_H263ModeComboFlags_set_of[1] = {
5362
  { &hf_h245_h263VideoCoupledModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5363
};
5364
5365
static unsigned
5366
0
dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5367
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5368
0
                                             ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags, SET_SIZE_1_16_OF_H263ModeComboFlags_set_of,
5369
0
                                             1, 16, false);
5370
5371
0
  return offset;
5372
0
}
5373
5374
5375
static const per_sequence_t H263VideoModeCombos_sequence[] = {
5376
  { &hf_h245_h263VideoUncoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5377
  { &hf_h245_h263VideoCoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags },
5378
  { NULL, 0, 0, NULL }
5379
};
5380
5381
static unsigned
5382
0
dissect_h245_H263VideoModeCombos(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5383
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5384
0
                                   ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
5385
5386
0
  return offset;
5387
0
}
5388
5389
5390
static const per_sequence_t SET_SIZE_1_16_OF_H263VideoModeCombos_set_of[1] = {
5391
  { &hf_h245_modeCombos_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263VideoModeCombos },
5392
};
5393
5394
static unsigned
5395
0
dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5396
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5397
0
                                             ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos, SET_SIZE_1_16_OF_H263VideoModeCombos_set_of,
5398
0
                                             1, 16, false);
5399
5400
0
  return offset;
5401
0
}
5402
5403
5404
static const per_sequence_t H263Options_sequence[] = {
5405
  { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5406
  { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5407
  { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5408
  { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5409
  { &hf_h245_fullPictureFreeze, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5410
  { &hf_h245_partialPictureFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5411
  { &hf_h245_resizingPartPicFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5412
  { &hf_h245_fullPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5413
  { &hf_h245_partialPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5414
  { &hf_h245_videoSegmentTagging, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5415
  { &hf_h245_progressiveRefinement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5416
  { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5417
  { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5418
  { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5419
  { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5420
  { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5421
  { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5422
  { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5423
  { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5424
  { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5425
  { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5426
  { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5427
  { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5428
  { &hf_h245_transparencyParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransparencyParameters },
5429
  { &hf_h245_separateVideoBackChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5430
  { &hf_h245_refPictureSelection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RefPictureSelection },
5431
  { &hf_h245_customPictureClockFrequency, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency },
5432
  { &hf_h245_customPictureFormat, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat },
5433
  { &hf_h245_modeCombos     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos },
5434
  { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5435
  { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5436
  { NULL, 0, 0, NULL }
5437
};
5438
5439
static unsigned
5440
0
dissect_h245_H263Options(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5441
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5442
0
                                   ett_h245_H263Options, H263Options_sequence);
5443
5444
0
  return offset;
5445
0
}
5446
5447
5448
static const per_sequence_t EnhancementOptions_sequence[] = {
5449
  { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5450
  { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5451
  { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5452
  { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5453
  { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5454
  { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5455
  { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5456
  { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5457
  { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5458
  { &hf_h245_slowSqcifMPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5459
  { &hf_h245_slowQcifMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5460
  { &hf_h245_slowCifMPI     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5461
  { &hf_h245_slowCif4MPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5462
  { &hf_h245_slowCif16MPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5463
  { &hf_h245_errorCompensation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5464
  { &hf_h245_h263Options    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H263Options },
5465
  { NULL, 0, 0, NULL }
5466
};
5467
5468
static unsigned
5469
0
dissect_h245_EnhancementOptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5470
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5471
0
                                   ett_h245_EnhancementOptions, EnhancementOptions_sequence);
5472
5473
0
  return offset;
5474
0
}
5475
5476
5477
static const per_sequence_t SET_SIZE_1_14_OF_EnhancementOptions_set_of[1] = {
5478
  { &hf_h245_snrEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5479
};
5480
5481
static unsigned
5482
0
dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5483
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5484
0
                                             ett_h245_SET_SIZE_1_14_OF_EnhancementOptions, SET_SIZE_1_14_OF_EnhancementOptions_set_of,
5485
0
                                             1, 14, false);
5486
5487
0
  return offset;
5488
0
}
5489
5490
5491
5492
static unsigned
5493
0
dissect_h245_INTEGER_1_64(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5494
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5495
0
                                                            1U, 64U, NULL, false);
5496
5497
0
  return offset;
5498
0
}
5499
5500
5501
static const per_sequence_t BEnhancementParameters_sequence[] = {
5502
  { &hf_h245_enhancementOptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5503
  { &hf_h245_numberOfBPictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_64 },
5504
  { NULL, 0, 0, NULL }
5505
};
5506
5507
static unsigned
5508
0
dissect_h245_BEnhancementParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5509
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5510
0
                                   ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
5511
5512
0
  return offset;
5513
0
}
5514
5515
5516
static const per_sequence_t SET_SIZE_1_14_OF_BEnhancementParameters_set_of[1] = {
5517
  { &hf_h245_bPictureEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BEnhancementParameters },
5518
};
5519
5520
static unsigned
5521
0
dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5522
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5523
0
                                             ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters, SET_SIZE_1_14_OF_BEnhancementParameters_set_of,
5524
0
                                             1, 14, false);
5525
5526
0
  return offset;
5527
0
}
5528
5529
5530
static const per_sequence_t EnhancementLayerInfo_sequence[] = {
5531
  { &hf_h245_baseBitRateConstrained, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5532
  { &hf_h245_snrEnhancement , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5533
  { &hf_h245_spatialEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5534
  { &hf_h245_bPictureEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters },
5535
  { NULL, 0, 0, NULL }
5536
};
5537
5538
static unsigned
5539
0
dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5540
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5541
0
                                   ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
5542
5543
0
  return offset;
5544
0
}
5545
5546
5547
static const per_sequence_t H263VideoCapability_sequence[] = {
5548
  { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5549
  { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5550
  { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5551
  { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5552
  { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5553
  { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5554
  { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5555
  { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5556
  { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5557
  { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5558
  { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5559
  { &hf_h245_hrd_B          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_524287 },
5560
  { &hf_h245_bppMaxKb       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
5561
  { &hf_h245_slowSqcifMPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5562
  { &hf_h245_slowQcifMPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5563
  { &hf_h245_slowCifMPI     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5564
  { &hf_h245_slowCif4MPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5565
  { &hf_h245_slowCif16MPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5566
  { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5567
  { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
5568
  { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
5569
  { NULL, 0, 0, NULL }
5570
};
5571
5572
static unsigned
5573
0
dissect_h245_H263VideoCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5574
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5575
0
                                   ett_h245_H263VideoCapability, H263VideoCapability_sequence);
5576
5577
0
  h245_lc_dissector = h263_handle;
5578
0
  return offset;
5579
0
}
5580
5581
5582
static const per_sequence_t IS11172VideoCapability_sequence[] = {
5583
  { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5584
  { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
5585
  { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
5586
  { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5587
  { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5588
  { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
5589
  { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
5590
  { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5591
  { NULL, 0, 0, NULL }
5592
};
5593
5594
static unsigned
5595
0
dissect_h245_IS11172VideoCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5596
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5597
0
                                   ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
5598
5599
0
  return offset;
5600
0
}
5601
5602
5603
static const per_sequence_t SEQUENCE_OF_VideoCapability_sequence_of[1] = {
5604
  { &hf_h245_videoCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VideoCapability },
5605
};
5606
5607
static unsigned
5608
0
dissect_h245_SEQUENCE_OF_VideoCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5609
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5610
0
                                      ett_h245_SEQUENCE_OF_VideoCapability, SEQUENCE_OF_VideoCapability_sequence_of);
5611
5612
0
  return offset;
5613
0
}
5614
5615
5616
static const per_sequence_t SEQUENCE_OF_GenericCapability_sequence_of[1] = {
5617
  { &hf_h245_videoCapabilityExtension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericCapability },
5618
};
5619
5620
static unsigned
5621
0
dissect_h245_SEQUENCE_OF_GenericCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5622
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5623
0
                                      ett_h245_SEQUENCE_OF_GenericCapability, SEQUENCE_OF_GenericCapability_sequence_of);
5624
5625
0
  return offset;
5626
0
}
5627
5628
5629
static const per_sequence_t ExtendedVideoCapability_sequence[] = {
5630
  { &hf_h245_videoCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_VideoCapability },
5631
  { &hf_h245_videoCapabilityExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericCapability },
5632
  { NULL, 0, 0, NULL }
5633
};
5634
5635
static unsigned
5636
0
dissect_h245_ExtendedVideoCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5637
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5638
0
                                   ett_h245_ExtendedVideoCapability, ExtendedVideoCapability_sequence);
5639
5640
0
  return offset;
5641
0
}
5642
5643
5644
static const value_string h245_VideoCapability_vals[] = {
5645
  {   0, "nonStandard" },
5646
  {   1, "h261VideoCapability" },
5647
  {   2, "h262VideoCapability" },
5648
  {   3, "h263VideoCapability" },
5649
  {   4, "is11172VideoCapability" },
5650
  {   5, "genericVideoCapability" },
5651
  {   6, "extendedVideoCapability" },
5652
  { 0, NULL }
5653
};
5654
5655
static const per_choice_t VideoCapability_choice[] = {
5656
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
5657
  {   1, &hf_h245_h261VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoCapability },
5658
  {   2, &hf_h245_h262VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoCapability },
5659
  {   3, &hf_h245_h263VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoCapability },
5660
  {   4, &hf_h245_is11172VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoCapability },
5661
  {   5, &hf_h245_genericVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
5662
  {   6, &hf_h245_extendedVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ExtendedVideoCapability },
5663
  { 0, NULL, 0, NULL }
5664
};
5665
5666
static unsigned
5667
0
dissect_h245_VideoCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5668
  // VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability
5669
0
  actx->pinfo->dissection_depth += 3;
5670
0
  increment_dissection_depth(actx->pinfo);
5671
0
  int32_t value;
5672
5673
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5674
0
                                 ett_h245_VideoCapability, VideoCapability_choice,
5675
0
                                 &value);
5676
5677
0
        codec_type = val_to_str_const(value, h245_VideoCapability_vals, "<unknown>");
5678
5679
5680
0
  actx->pinfo->dissection_depth -= 3;
5681
0
  decrement_dissection_depth(actx->pinfo);
5682
0
  return offset;
5683
0
}
5684
5685
5686
static const per_sequence_t T_g7231_sequence[] = {
5687
  { &hf_h245_maxAl_sduAudioFrames, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5688
  { &hf_h245_silenceSuppression, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5689
  { NULL, 0, 0, NULL }
5690
};
5691
5692
static unsigned
5693
0
dissect_h245_T_g7231(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5694
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5695
0
                                   ett_h245_T_g7231, T_g7231_sequence);
5696
5697
0
  return offset;
5698
0
}
5699
5700
5701
5702
static unsigned
5703
0
dissect_h245_INTEGER_1_448(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5704
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5705
0
                                                            1U, 448U, NULL, false);
5706
5707
0
  return offset;
5708
0
}
5709
5710
5711
static const per_sequence_t IS11172AudioCapability_sequence[] = {
5712
  { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5713
  { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5714
  { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5715
  { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5716
  { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5717
  { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5718
  { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5719
  { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5720
  { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
5721
  { NULL, 0, 0, NULL }
5722
};
5723
5724
static unsigned
5725
0
dissect_h245_IS11172AudioCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5726
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5727
0
                                   ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
5728
5729
0
  return offset;
5730
0
}
5731
5732
5733
5734
static unsigned
5735
0
dissect_h245_INTEGER_1_1130(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5736
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5737
0
                                                            1U, 1130U, NULL, false);
5738
5739
0
  return offset;
5740
0
}
5741
5742
5743
static const per_sequence_t IS13818AudioCapability_sequence[] = {
5744
  { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5745
  { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5746
  { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5747
  { &hf_h245_audioSampling16k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5748
  { &hf_h245_audioSampling22k05, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5749
  { &hf_h245_audioSampling24k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5750
  { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5751
  { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5752
  { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5753
  { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5754
  { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5755
  { &hf_h245_threeChannels2_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5756
  { &hf_h245_threeChannels3_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5757
  { &hf_h245_fourChannels2_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5758
  { &hf_h245_fourChannels2_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5759
  { &hf_h245_fourChannels3_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5760
  { &hf_h245_fiveChannels3_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5761
  { &hf_h245_fiveChannels3_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5762
  { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5763
  { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5764
  { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
5765
  { NULL, 0, 0, NULL }
5766
};
5767
5768
static unsigned
5769
0
dissect_h245_IS13818AudioCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5770
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5771
0
                                   ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
5772
5773
0
  return offset;
5774
0
}
5775
5776
5777
5778
static unsigned
5779
0
dissect_h245_INTEGER_27_78(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5780
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5781
0
                                                            27U, 78U, NULL, false);
5782
5783
0
  return offset;
5784
0
}
5785
5786
5787
5788
static unsigned
5789
0
dissect_h245_INTEGER_23_66(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5790
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5791
0
                                                            23U, 66U, NULL, false);
5792
5793
0
  return offset;
5794
0
}
5795
5796
5797
5798
static unsigned
5799
0
dissect_h245_INTEGER_6_17(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5800
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5801
0
                                                            6U, 17U, NULL, false);
5802
5803
0
  return offset;
5804
0
}
5805
5806
5807
static const per_sequence_t G723AnnexCAudioMode_sequence[] = {
5808
  { &hf_h245_highRateMode0  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5809
  { &hf_h245_highRateMode1  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5810
  { &hf_h245_lowRateMode0   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5811
  { &hf_h245_lowRateMode1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5812
  { &hf_h245_sidMode0       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5813
  { &hf_h245_sidMode1       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5814
  { NULL, 0, 0, NULL }
5815
};
5816
5817
static unsigned
5818
0
dissect_h245_G723AnnexCAudioMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5819
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5820
0
                                   ett_h245_G723AnnexCAudioMode, G723AnnexCAudioMode_sequence);
5821
5822
0
  return offset;
5823
0
}
5824
5825
5826
static const per_sequence_t G7231AnnexCCapability_sequence[] = {
5827
  { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5828
  { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5829
  { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_G723AnnexCAudioMode },
5830
  { NULL, 0, 0, NULL }
5831
};
5832
5833
static unsigned
5834
0
dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5835
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5836
0
                                   ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
5837
5838
0
  return offset;
5839
0
}
5840
5841
5842
static const per_sequence_t GSMAudioCapability_sequence[] = {
5843
  { &hf_h245_audioUnitSize  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5844
  { &hf_h245_comfortNoise   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5845
  { &hf_h245_scrambled      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5846
  { NULL, 0, 0, NULL }
5847
};
5848
5849
static unsigned
5850
0
dissect_h245_GSMAudioCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5851
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5852
0
                                   ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
5853
5854
0
  return offset;
5855
0
}
5856
5857
5858
static const per_sequence_t G729Extensions_sequence[] = {
5859
  { &hf_h245_audioUnit      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5860
  { &hf_h245_annexA         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5861
  { &hf_h245_annexB         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5862
  { &hf_h245_annexD         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5863
  { &hf_h245_annexE         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5864
  { &hf_h245_annexF         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5865
  { &hf_h245_annexG         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5866
  { &hf_h245_annexH         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5867
  { NULL, 0, 0, NULL }
5868
};
5869
5870
static unsigned
5871
0
dissect_h245_G729Extensions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5872
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5873
0
                                   ett_h245_G729Extensions, G729Extensions_sequence);
5874
5875
0
  return offset;
5876
0
}
5877
5878
5879
static const per_sequence_t VBDCapability_sequence[] = {
5880
  { &hf_h245_vbd_cap_type   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioCapability },
5881
  { NULL, 0, 0, NULL }
5882
};
5883
5884
static unsigned
5885
0
dissect_h245_VBDCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5886
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5887
0
                                   ett_h245_VBDCapability, VBDCapability_sequence);
5888
5889
0
  return offset;
5890
0
}
5891
5892
5893
5894
static unsigned
5895
0
dissect_h245_GeneralString(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5896
0
  offset = dissect_per_GeneralString(tvb, offset, actx, tree, hf_index);
5897
5898
0
  return offset;
5899
0
}
5900
5901
5902
static const per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
5903
  { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
5904
  { NULL, 0, 0, NULL }
5905
};
5906
5907
static unsigned
5908
0
dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5909
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5910
0
                                   ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
5911
5912
0
  return offset;
5913
0
}
5914
5915
5916
static const per_sequence_t NoPTAudioToneCapability_sequence[] = {
5917
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
5918
};
5919
5920
static unsigned
5921
0
dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5922
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5923
0
                                   ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
5924
5925
0
  return offset;
5926
0
}
5927
5928
5929
static const value_string h245_AudioCapability_vals[] = {
5930
  { AudioCapability_nonStandard, "nonStandard" },
5931
  { AudioCapability_g711Alaw64k, "g711Alaw64k" },
5932
  { AudioCapability_g711Alaw56k, "g711Alaw56k" },
5933
  { AudioCapability_g711Ulaw64k, "g711Ulaw64k" },
5934
  { AudioCapability_g711Ulaw56k, "g711Ulaw56k" },
5935
  { AudioCapability_g722_64k, "g722-64k" },
5936
  { AudioCapability_g722_56k, "g722-56k" },
5937
  { AudioCapability_g722_48k, "g722-48k" },
5938
  { AudioCapability_g7231, "g7231" },
5939
  { AudioCapability_g728, "g728" },
5940
  { AudioCapability_g729, "g729" },
5941
  { AudioCapability_g729AnnexA, "g729AnnexA" },
5942
  { AudioCapability_is11172AudioCapability, "is11172AudioCapability" },
5943
  { AudioCapability_is13818AudioCapability, "is13818AudioCapability" },
5944
  { AudioCapability_g729wAnnexB, "g729wAnnexB" },
5945
  { AudioCapability_g729AnnexAwAnnexB, "g729AnnexAwAnnexB" },
5946
  { AudioCapability_g7231AnnexCCapability, "g7231AnnexCCapability" },
5947
  { AudioCapability_gsmFullRate, "gsmFullRate" },
5948
  { AudioCapability_gsmHalfRate, "gsmHalfRate" },
5949
  { AudioCapability_gsmEnhancedFullRate, "gsmEnhancedFullRate" },
5950
  { AudioCapability_genericAudioCapability, "genericAudioCapability" },
5951
  { AudioCapability_g729Extensions, "g729Extensions" },
5952
  { AudioCapability_vbd, "vbd" },
5953
  { AudioCapability_audioTelephonyEvent, "audioTelephonyEvent" },
5954
  { AudioCapability_audioTone, "audioTone" },
5955
  { 0, NULL }
5956
};
5957
5958
static const per_choice_t AudioCapability_choice[] = {
5959
  { AudioCapability_nonStandard, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
5960
  { AudioCapability_g711Alaw64k, &hf_h245_g711Alaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5961
  { AudioCapability_g711Alaw56k, &hf_h245_g711Alaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5962
  { AudioCapability_g711Ulaw64k, &hf_h245_g711Ulaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5963
  { AudioCapability_g711Ulaw56k, &hf_h245_g711Ulaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5964
  { AudioCapability_g722_64k, &hf_h245_g722_64k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5965
  { AudioCapability_g722_56k, &hf_h245_g722_56k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5966
  { AudioCapability_g722_48k, &hf_h245_g722_48k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5967
  { AudioCapability_g7231, &hf_h245_g7231          , ASN1_EXTENSION_ROOT    , dissect_h245_T_g7231 },
5968
  { AudioCapability_g728, &hf_h245_g728           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5969
  { AudioCapability_g729, &hf_h245_g729           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5970
  { AudioCapability_g729AnnexA, &hf_h245_g729AnnexA     , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5971
  { AudioCapability_is11172AudioCapability, &hf_h245_is11172AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioCapability },
5972
  { AudioCapability_is13818AudioCapability, &hf_h245_is13818AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioCapability },
5973
  { AudioCapability_g729wAnnexB, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
5974
  { AudioCapability_g729AnnexAwAnnexB, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
5975
  { AudioCapability_g7231AnnexCCapability, &hf_h245_g7231AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCCapability },
5976
  { AudioCapability_gsmFullRate, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
5977
  { AudioCapability_gsmHalfRate, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
5978
  { AudioCapability_gsmEnhancedFullRate, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
5979
  { AudioCapability_genericAudioCapability, &hf_h245_genericAudioCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
5980
  { AudioCapability_g729Extensions, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
5981
  { AudioCapability_vbd, &hf_h245_vbd            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDCapability },
5982
  { AudioCapability_audioTelephonyEvent, &hf_h245_audioTelephonyEvent, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioTelephonyEventCapability },
5983
  { AudioCapability_audioTone, &hf_h245_audioTone      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioToneCapability },
5984
  { 0, NULL, 0, NULL }
5985
};
5986
5987
static unsigned
5988
0
dissect_h245_AudioCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5989
  // AudioCapability -> VBDCapability -> AudioCapability
5990
0
  actx->pinfo->dissection_depth += 2;
5991
0
  increment_dissection_depth(actx->pinfo);
5992
0
  int32_t value;
5993
5994
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5995
0
                                 ett_h245_AudioCapability, AudioCapability_choice,
5996
0
                                 &value);
5997
5998
0
        codec_type = val_to_str_const(value, h245_AudioCapability_short_vals, "<unknown>");
5999
6000
0
  actx->pinfo->dissection_depth -= 2;
6001
0
  decrement_dissection_depth(actx->pinfo);
6002
0
  return offset;
6003
0
}
6004
6005
6006
static const per_sequence_t T_h233EncryptionReceiveCapability_sequence[] = {
6007
  { &hf_h245_h233IVResponseTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
6008
  { NULL, 0, 0, NULL }
6009
};
6010
6011
static unsigned
6012
0
dissect_h245_T_h233EncryptionReceiveCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6013
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6014
0
                                   ett_h245_T_h233EncryptionReceiveCapability, T_h233EncryptionReceiveCapability_sequence);
6015
6016
0
  return offset;
6017
0
}
6018
6019
6020
static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
6021
  { &hf_h245_nonStandardParams_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6022
};
6023
6024
static unsigned
6025
0
dissect_h245_SEQUENCE_OF_NonStandardParameter(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6026
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6027
0
                                      ett_h245_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
6028
6029
0
  return offset;
6030
0
}
6031
6032
6033
static const per_sequence_t ConferenceCapability_sequence[] = {
6034
  { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
6035
  { &hf_h245_chairControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6036
  { &hf_h245_videoIndicateMixingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6037
  { &hf_h245_multipointVisualizationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
6038
  { NULL, 0, 0, NULL }
6039
};
6040
6041
static unsigned
6042
0
dissect_h245_ConferenceCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6043
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6044
0
                                   ett_h245_ConferenceCapability, ConferenceCapability_sequence);
6045
6046
0
  return offset;
6047
0
}
6048
6049
6050
static const value_string h245_MediaEncryptionAlgorithm_vals[] = {
6051
  {   0, "nonStandard" },
6052
  {   1, "algorithm" },
6053
  { 0, NULL }
6054
};
6055
6056
static const per_choice_t MediaEncryptionAlgorithm_choice[] = {
6057
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6058
  {   1, &hf_h245_algorithm      , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
6059
  { 0, NULL, 0, NULL }
6060
};
6061
6062
static unsigned
6063
0
dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6064
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6065
0
                                 ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice,
6066
0
                                 NULL);
6067
6068
0
  return offset;
6069
0
}
6070
6071
6072
static const per_sequence_t EncryptionCapability_sequence_of[1] = {
6073
  { &hf_h245_EncryptionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaEncryptionAlgorithm },
6074
};
6075
6076
static unsigned
6077
0
dissect_h245_EncryptionCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6078
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6079
0
                                                  ett_h245_EncryptionCapability, EncryptionCapability_sequence_of,
6080
0
                                                  1, 256, false);
6081
6082
0
  return offset;
6083
0
}
6084
6085
6086
static const per_sequence_t AuthenticationCapability_sequence[] = {
6087
  { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6088
  { &hf_h245_antiSpamAlgorithm, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6089
  { NULL, 0, 0, NULL }
6090
};
6091
6092
static unsigned
6093
0
dissect_h245_AuthenticationCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6094
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6095
0
                                   ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
6096
6097
0
  return offset;
6098
0
}
6099
6100
6101
static const per_sequence_t IntegrityCapability_sequence[] = {
6102
  { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6103
  { NULL, 0, 0, NULL }
6104
};
6105
6106
static unsigned
6107
0
dissect_h245_IntegrityCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6108
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6109
0
                                   ett_h245_IntegrityCapability, IntegrityCapability_sequence);
6110
6111
0
  return offset;
6112
0
}
6113
6114
6115
static const per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
6116
  { &hf_h245_encryptionCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_EncryptionCapability },
6117
  { &hf_h245_authenticationCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_AuthenticationCapability },
6118
  { &hf_h245_integrityCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IntegrityCapability },
6119
  { &hf_h245_genericH235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
6120
  { NULL, 0, 0, NULL }
6121
};
6122
6123
static unsigned
6124
0
dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6125
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6126
0
                                   ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
6127
6128
0
  return offset;
6129
0
}
6130
6131
6132
static const per_sequence_t H235SecurityCapability_sequence[] = {
6133
  { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
6134
  { &hf_h245_mediaCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6135
  { NULL, 0, 0, NULL }
6136
};
6137
6138
static unsigned
6139
0
dissect_h245_H235SecurityCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6140
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6141
0
                                   ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
6142
6143
0
  return offset;
6144
0
}
6145
6146
6147
static const per_sequence_t SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of[1] = {
6148
  { &hf_h245_ui_nonStandard_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6149
};
6150
6151
static unsigned
6152
0
dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6153
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6154
0
                                                  ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter, SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of,
6155
0
                                                  1, 16, false);
6156
6157
0
  return offset;
6158
0
}
6159
6160
6161
static const value_string h245_UserInputCapability_vals[] = {
6162
  {   0, "nonStandard" },
6163
  {   1, "basicString" },
6164
  {   2, "iA5String" },
6165
  {   3, "generalString" },
6166
  {   4, "dtmf" },
6167
  {   5, "hookflash" },
6168
  {   6, "extendedAlphanumeric" },
6169
  {   7, "encryptedBasicString" },
6170
  {   8, "encryptedIA5String" },
6171
  {   9, "encryptedGeneralString" },
6172
  {  10, "secureDTMF" },
6173
  {  11, "genericUserInputCapability" },
6174
  { 0, NULL }
6175
};
6176
6177
static const per_choice_t UserInputCapability_choice[] = {
6178
  {   0, &hf_h245_ui_nonStandard , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter },
6179
  {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6180
  {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6181
  {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6182
  {   4, &hf_h245_dtmf           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6183
  {   5, &hf_h245_hookflash      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6184
  {   6, &hf_h245_extendedAlphanumericFlag, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6185
  {   7, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6186
  {   8, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6187
  {   9, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6188
  {  10, &hf_h245_secureDTMF     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6189
  {  11, &hf_h245_genericUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6190
  { 0, NULL, 0, NULL }
6191
};
6192
6193
static unsigned
6194
0
dissect_h245_UserInputCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6195
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6196
0
                                 ett_h245_UserInputCapability, UserInputCapability_choice,
6197
0
                                 NULL);
6198
6199
0
  return offset;
6200
0
}
6201
6202
6203
static const value_string h245_MultiplexFormat_vals[] = {
6204
  {   0, "nonStandard" },
6205
  {   1, "h222Capability" },
6206
  {   2, "h223Capability" },
6207
  { 0, NULL }
6208
};
6209
6210
static const per_choice_t MultiplexFormat_choice[] = {
6211
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6212
  {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
6213
  {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
6214
  { 0, NULL, 0, NULL }
6215
};
6216
6217
static unsigned
6218
0
dissect_h245_MultiplexFormat(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6219
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6220
0
                                 ett_h245_MultiplexFormat, MultiplexFormat_choice,
6221
0
                                 NULL);
6222
6223
0
  return offset;
6224
0
}
6225
6226
6227
static const per_sequence_t AlternativeCapabilitySet_sequence_of[1] = {
6228
  { &hf_h245_AlternativeCapabilitySet_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6229
};
6230
6231
static unsigned
6232
0
dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6233
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6234
0
                                                  ett_h245_AlternativeCapabilitySet, AlternativeCapabilitySet_sequence_of,
6235
0
                                                  1, 256, false);
6236
6237
0
  return offset;
6238
0
}
6239
6240
6241
static const per_sequence_t SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of[1] = {
6242
  { &hf_h245_simultaneousCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_AlternativeCapabilitySet },
6243
};
6244
6245
static unsigned
6246
0
dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6247
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6248
0
                                             ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet, SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of,
6249
0
                                             1, 256, false);
6250
6251
0
  return offset;
6252
0
}
6253
6254
6255
static const per_sequence_t MultiplexedStreamCapability_sequence[] = {
6256
  { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
6257
  { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6258
  { &hf_h245_capabilityOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6259
  { NULL, 0, 0, NULL }
6260
};
6261
6262
static unsigned
6263
0
dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6264
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6265
0
                                   ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
6266
6267
0
  return offset;
6268
0
}
6269
6270
6271
6272
static unsigned
6273
0
dissect_h245_INTEGER_96_127(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6274
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6275
0
                                                            96U, 127U, NULL, false);
6276
6277
0
  return offset;
6278
0
}
6279
6280
6281
static const per_sequence_t AudioTelephonyEventCapability_sequence[] = {
6282
  { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6283
  { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
6284
  { NULL, 0, 0, NULL }
6285
};
6286
6287
static unsigned
6288
0
dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6289
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6290
0
                                   ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
6291
6292
0
  return offset;
6293
0
}
6294
6295
6296
static const per_sequence_t AudioToneCapability_sequence[] = {
6297
  { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6298
  { NULL, 0, 0, NULL }
6299
};
6300
6301
static unsigned
6302
0
dissect_h245_AudioToneCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6303
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6304
0
                                   ett_h245_AudioToneCapability, AudioToneCapability_sequence);
6305
6306
0
  return offset;
6307
0
}
6308
6309
6310
static const per_sequence_t T_separateStreamBool_sequence[] = {
6311
  { &hf_h245_separatePort   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6312
  { &hf_h245_samePortBool   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6313
  { NULL, 0, 0, NULL }
6314
};
6315
6316
static unsigned
6317
0
dissect_h245_T_separateStreamBool(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6318
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6319
0
                                   ett_h245_T_separateStreamBool, T_separateStreamBool_sequence);
6320
6321
0
  return offset;
6322
0
}
6323
6324
6325
static const per_sequence_t FECC_rfc2733_sequence[] = {
6326
  { &hf_h245_redundancyEncodingBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6327
  { &hf_h245_separateStreamBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_separateStreamBool },
6328
  { NULL, 0, 0, NULL }
6329
};
6330
6331
static unsigned
6332
0
dissect_h245_FECC_rfc2733(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6333
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6334
0
                                   ett_h245_FECC_rfc2733, FECC_rfc2733_sequence);
6335
6336
0
  return offset;
6337
0
}
6338
6339
6340
static const value_string h245_DepFECCapability_vals[] = {
6341
  {   0, "rfc2733" },
6342
  { 0, NULL }
6343
};
6344
6345
static const per_choice_t DepFECCapability_choice[] = {
6346
  {   0, &hf_h245_fecc_rfc2733   , ASN1_EXTENSION_ROOT    , dissect_h245_FECC_rfc2733 },
6347
  { 0, NULL, 0, NULL }
6348
};
6349
6350
static unsigned
6351
0
dissect_h245_DepFECCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6352
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6353
0
                                 ett_h245_DepFECCapability, DepFECCapability_choice,
6354
0
                                 NULL);
6355
6356
0
  return offset;
6357
0
}
6358
6359
6360
static const per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
6361
  { &hf_h245_capabilities   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6362
  { NULL, 0, 0, NULL }
6363
};
6364
6365
static unsigned
6366
0
dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6367
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6368
0
                                   ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
6369
6370
0
  return offset;
6371
0
}
6372
6373
6374
6375
static unsigned
6376
0
dissect_h245_MaxRedundancy(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6377
0
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
6378
0
                                                            1U, NO_BOUND, NULL, false);
6379
6380
0
  return offset;
6381
0
}
6382
6383
6384
static const value_string h245_Rfc2733Format_vals[] = {
6385
  {   0, "rfc2733rfc2198" },
6386
  {   1, "rfc2733sameport" },
6387
  {   2, "rfc2733diffport" },
6388
  { 0, NULL }
6389
};
6390
6391
static const per_choice_t Rfc2733Format_choice[] = {
6392
  {   0, &hf_h245_rfc2733rfc2198 , ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6393
  {   1, &hf_h245_rfc2733sameport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6394
  {   2, &hf_h245_rfc2733diffport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6395
  { 0, NULL, 0, NULL }
6396
};
6397
6398
static unsigned
6399
0
dissect_h245_Rfc2733Format(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6400
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6401
0
                                 ett_h245_Rfc2733Format, Rfc2733Format_choice,
6402
0
                                 NULL);
6403
6404
0
  return offset;
6405
0
}
6406
6407
6408
static const per_sequence_t FECCapability_sequence[] = {
6409
  { &hf_h245_protectedCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6410
  { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6411
  { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
6412
  { NULL, 0, 0, NULL }
6413
};
6414
6415
static unsigned
6416
0
dissect_h245_FECCapability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6417
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6418
0
                                   ett_h245_FECCapability, FECCapability_sequence);
6419
6420
0
  return offset;
6421
0
}
6422
6423
6424
const value_string h245_Capability_vals[] = {
6425
  {   0, "nonStandard" },
6426
  {   1, "receiveVideoCapability" },
6427
  {   2, "transmitVideoCapability" },
6428
  {   3, "receiveAndTransmitVideoCapability" },
6429
  {   4, "receiveAudioCapability" },
6430
  {   5, "transmitAudioCapability" },
6431
  {   6, "receiveAndTransmitAudioCapability" },
6432
  {   7, "receiveDataApplicationCapability" },
6433
  {   8, "transmitDataApplicationCapability" },
6434
  {   9, "receiveAndTransmitDataApplicationCapability" },
6435
  {  10, "h233EncryptionTransmitCapability" },
6436
  {  11, "h233EncryptionReceiveCapability" },
6437
  {  12, "conferenceCapability" },
6438
  {  13, "h235SecurityCapability" },
6439
  {  14, "maxPendingReplacementFor" },
6440
  {  15, "receiveUserInputCapability" },
6441
  {  16, "transmitUserInputCapability" },
6442
  {  17, "receiveAndTransmitUserInputCapability" },
6443
  {  18, "genericControlCapability" },
6444
  {  19, "receiveMultiplexedStreamCapability" },
6445
  {  20, "transmitMultiplexedStreamCapability" },
6446
  {  21, "receiveAndTransmitMultiplexedStreamCapability" },
6447
  {  22, "receiveRTPAudioTelephonyEventCapability" },
6448
  {  23, "receiveRTPAudioToneCapability" },
6449
  {  24, "depFecCapability" },
6450
  {  25, "multiplePayloadStreamCapability" },
6451
  {  26, "fecCapability" },
6452
  {  27, "redundancyEncodingCap" },
6453
  {  28, "oneOfCapabilities" },
6454
  { 0, NULL }
6455
};
6456
6457
static const per_choice_t Capability_choice[] = {
6458
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6459
  {   1, &hf_h245_receiveVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6460
  {   2, &hf_h245_transmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6461
  {   3, &hf_h245_receiveAndTransmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6462
  {   4, &hf_h245_receiveAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6463
  {   5, &hf_h245_transmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6464
  {   6, &hf_h245_receiveAndTransmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6465
  {   7, &hf_h245_receiveDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6466
  {   8, &hf_h245_transmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6467
  {   9, &hf_h245_receiveAndTransmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6468
  {  10, &hf_h245_h233EncryptionTransmitCapability, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
6469
  {  11, &hf_h245_h233EncryptionReceiveCapability, ASN1_EXTENSION_ROOT    , dissect_h245_T_h233EncryptionReceiveCapability },
6470
  {  12, &hf_h245_conferenceCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCapability },
6471
  {  13, &hf_h245_h235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235SecurityCapability },
6472
  {  14, &hf_h245_maxPendingReplacementFor, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
6473
  {  15, &hf_h245_receiveUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6474
  {  16, &hf_h245_transmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6475
  {  17, &hf_h245_receiveAndTransmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6476
  {  18, &hf_h245_genericControlCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6477
  {  19, &hf_h245_receiveMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6478
  {  20, &hf_h245_transmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6479
  {  21, &hf_h245_receiveAndTransmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6480
  {  22, &hf_h245_receiveRTPAudioTelephonyEventCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioTelephonyEventCapability },
6481
  {  23, &hf_h245_receiveRTPAudioToneCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioToneCapability },
6482
  {  24, &hf_h245_depFecCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECCapability },
6483
  {  25, &hf_h245_multiplePayloadStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamCapability },
6484
  {  26, &hf_h245_fecCapability  , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECCapability },
6485
  {  27, &hf_h245_redundancyEncodingCap, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingCapability },
6486
  {  28, &hf_h245_oneOfCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AlternativeCapabilitySet },
6487
  { 0, NULL, 0, NULL }
6488
};
6489
6490
unsigned
6491
0
dissect_h245_Capability(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6492
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6493
0
                                 ett_h245_Capability, Capability_choice,
6494
0
                                 NULL);
6495
6496
0
  return offset;
6497
0
}
6498
6499
6500
static const per_sequence_t CapabilityTableEntry_sequence[] = {
6501
  { &hf_h245_capabilityTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6502
  { &hf_h245_capability     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_Capability },
6503
  { NULL, 0, 0, NULL }
6504
};
6505
6506
static unsigned
6507
0
dissect_h245_CapabilityTableEntry(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6508
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6509
0
                                   ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
6510
6511
0
  return offset;
6512
0
}
6513
6514
6515
static const per_sequence_t SET_SIZE_1_256_OF_CapabilityTableEntry_set_of[1] = {
6516
  { &hf_h245_capabilityTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntry },
6517
};
6518
6519
static unsigned
6520
0
dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6521
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6522
0
                                             ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry, SET_SIZE_1_256_OF_CapabilityTableEntry_set_of,
6523
0
                                             1, 256, false);
6524
6525
0
  return offset;
6526
0
}
6527
6528
6529
6530
static unsigned
6531
0
dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6532
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6533
0
                                                            0U, 255U, NULL, false);
6534
6535
0
  return offset;
6536
0
}
6537
6538
6539
static const per_sequence_t CapabilityDescriptor_sequence[] = {
6540
  { &hf_h245_capabilityDescriptorNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
6541
  { &hf_h245_simultaneousCapabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6542
  { NULL, 0, 0, NULL }
6543
};
6544
6545
static unsigned
6546
0
dissect_h245_CapabilityDescriptor(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6547
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6548
0
                                   ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
6549
6550
0
  return offset;
6551
0
}
6552
6553
6554
static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptor_set_of[1] = {
6555
  { &hf_h245_capabilityDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptor },
6556
};
6557
6558
static unsigned
6559
0
dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6560
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6561
0
                                             ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor, SET_SIZE_1_256_OF_CapabilityDescriptor_set_of,
6562
0
                                             1, 256, false);
6563
6564
0
  return offset;
6565
0
}
6566
6567
6568
6569
static unsigned
6570
0
dissect_h245_T_subMessageIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6571
0
  uint32_t subMessageIdentifier;
6572
0
  gef_ctx_t *gefx;
6573
6574
0
  gefx = gef_ctx_get(actx->private_data);
6575
0
  if (gefx) {
6576
  /* If this is a standard generic message use hf_h245_subMessageIdentifier_standard to get
6577
   * the value translated and make it fileterable.
6578
   */
6579
0
    if (strcmp("GenericMessage/0.0.8.239.2", gefx->key) == 0) {
6580
0
      hf_index = hf_h245_subMessageIdentifier_standard;
6581
0
    }
6582
0
  }
6583
6584
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6585
0
                                                            0U, 127U, &subMessageIdentifier, false);
6586
6587
0
  if (gefx) {
6588
0
    gefx->subid = wmem_strdup_printf(actx->pinfo->pool, "%u", subMessageIdentifier);
6589
0
    gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data));
6590
0
  }
6591
0
  if (hf_index == hf_h245_subMessageIdentifier_standard)
6592
0
  {
6593
0
    col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str_const(subMessageIdentifier, h245_h239subMessageIdentifier_vals, "<unknown>") );
6594
0
    snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(subMessageIdentifier, h245_h239subMessageIdentifier_vals, "<unknown>"));
6595
0
  }
6596
6597
0
  return offset;
6598
0
}
6599
6600
6601
6602
static unsigned
6603
0
dissect_h245_T_messageContent_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6604
0
  gef_ctx_t *parent_gefx;
6605
6606
0
  parent_gefx = gef_ctx_get(actx->private_data);
6607
0
  actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, NULL);
6608
0
  offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
6609
6610
0
  actx->private_data = parent_gefx;
6611
0
  return offset;
6612
0
}
6613
6614
6615
static const per_sequence_t T_messageContent_sequence_of[1] = {
6616
  { &hf_h245_messageContent_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_messageContent_item },
6617
};
6618
6619
static unsigned
6620
0
dissect_h245_T_messageContent(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6621
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6622
0
                                      ett_h245_T_messageContent, T_messageContent_sequence_of);
6623
6624
0
  return offset;
6625
0
}
6626
6627
6628
static const per_sequence_t GenericMessage_sequence[] = {
6629
  { &hf_h245_messageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
6630
  { &hf_h245_subMessageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subMessageIdentifier },
6631
  { &hf_h245_messageContent , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_messageContent },
6632
  { NULL, 0, 0, NULL }
6633
};
6634
6635
static unsigned
6636
0
dissect_h245_GenericMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6637
0
  void *priv_data = actx->private_data;
6638
0
  gef_ctx_t *gefx;
6639
6640
  /* check if not inherited from GenericInformation */
6641
0
  gefx = gef_ctx_get(actx->private_data);
6642
0
  if (!gefx) {
6643
0
    gefx = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericMessage");
6644
0
    actx->private_data = gefx;
6645
0
  }
6646
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6647
0
                                   ett_h245_GenericMessage, GenericMessage_sequence);
6648
6649
0
  actx->private_data = priv_data;
6650
0
  return offset;
6651
0
}
6652
6653
6654
6655
static unsigned
6656
0
dissect_h245_GenericInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6657
0
  void *priv_data = actx->private_data;
6658
0
  actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericInformation");
6659
0
  offset = dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_index);
6660
6661
0
  actx->private_data = priv_data;
6662
0
  return offset;
6663
0
}
6664
6665
6666
static const per_sequence_t SEQUENCE_OF_GenericInformation_sequence_of[1] = {
6667
  { &hf_h245_genericInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericInformation },
6668
};
6669
6670
static unsigned
6671
0
dissect_h245_SEQUENCE_OF_GenericInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6672
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6673
0
                                      ett_h245_SEQUENCE_OF_GenericInformation, SEQUENCE_OF_GenericInformation_sequence_of);
6674
6675
0
  return offset;
6676
0
}
6677
6678
6679
static const per_sequence_t TerminalCapabilitySet_sequence[] = {
6680
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
6681
  { &hf_h245_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
6682
  { &hf_h245_multiplexCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplexCapability },
6683
  { &hf_h245_capabilityTable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry },
6684
  { &hf_h245_capabilityDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor },
6685
  { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
6686
  { NULL, 0, 0, NULL }
6687
};
6688
6689
static unsigned
6690
0
dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6691
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6692
0
                                   ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
6693
6694
6695
0
  if (h245_pi != NULL)
6696
0
    h245_pi->msg_type = H245_TermCapSet;
6697
0
  return offset;
6698
0
}
6699
6700
6701
6702
static unsigned
6703
2
dissect_h245_LogicalChannelNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6704
2
  uint32_t value;
6705
2
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6706
2
                                                            1U, 65535U, &value, false);
6707
6708
2
  h245_lc_temp = value & 0xfff;
6709
6710
2
  return offset;
6711
2
}
6712
6713
6714
6715
static unsigned
6716
2
dissect_h245_OLC_fw_lcn(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6717
2
  offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
6718
6719
2
  if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
6720
2
  h223_fw_lc_num = h245_lc_temp;
6721
2
  return offset;
6722
2
}
6723
6724
6725
static const value_string h245_EncryptionMode_vals[] = {
6726
  {   0, "nonStandard" },
6727
  {   1, "h233Encryption" },
6728
  { 0, NULL }
6729
};
6730
6731
static const per_choice_t EncryptionMode_choice[] = {
6732
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6733
  {   1, &hf_h245_h233Encryption , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6734
  { 0, NULL, 0, NULL }
6735
};
6736
6737
static unsigned
6738
0
dissect_h245_EncryptionMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6739
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6740
0
                                 ett_h245_EncryptionMode, EncryptionMode_choice,
6741
0
                                 NULL);
6742
6743
0
  return offset;
6744
0
}
6745
6746
6747
6748
static unsigned
6749
0
dissect_h245_INTEGER_0_127(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6750
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6751
0
                                                            0U, 127U, NULL, false);
6752
6753
0
  return offset;
6754
0
}
6755
6756
6757
static const per_sequence_t RedundancyEncodingElement_sequence[] = {
6758
  { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6759
  { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6760
  { NULL, 0, 0, NULL }
6761
};
6762
6763
static unsigned
6764
0
dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6765
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6766
0
                                   ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
6767
6768
0
  return offset;
6769
0
}
6770
6771
6772
static const per_sequence_t SEQUENCE_OF_RedundancyEncodingElement_sequence_of[1] = {
6773
  { &hf_h245_secondary_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingElement },
6774
};
6775
6776
static unsigned
6777
0
dissect_h245_SEQUENCE_OF_RedundancyEncodingElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6778
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6779
0
                                      ett_h245_SEQUENCE_OF_RedundancyEncodingElement, SEQUENCE_OF_RedundancyEncodingElement_sequence_of);
6780
6781
0
  return offset;
6782
0
}
6783
6784
6785
static const per_sequence_t T_rtpRedundancyEncoding_sequence[] = {
6786
  { &hf_h245_primary        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingElement },
6787
  { &hf_h245_secondary      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_RedundancyEncodingElement },
6788
  { NULL, 0, 0, NULL }
6789
};
6790
6791
static unsigned
6792
0
dissect_h245_T_rtpRedundancyEncoding(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6793
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6794
0
                                   ett_h245_T_rtpRedundancyEncoding, T_rtpRedundancyEncoding_sequence);
6795
6796
0
  return offset;
6797
0
}
6798
6799
6800
static const per_sequence_t RedundancyEncoding_sequence[] = {
6801
  { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
6802
  { &hf_h245_secondaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataType },
6803
  { &hf_h245_rtpRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_rtpRedundancyEncoding },
6804
  { NULL, 0, 0, NULL }
6805
};
6806
6807
static unsigned
6808
0
dissect_h245_RedundancyEncoding(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6809
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6810
0
                                   ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
6811
6812
0
  return offset;
6813
0
}
6814
6815
6816
static const per_sequence_t MultiplePayloadStreamElement_sequence[] = {
6817
  { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6818
  { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6819
  { NULL, 0, 0, NULL }
6820
};
6821
6822
static unsigned
6823
0
dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6824
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6825
0
                                   ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
6826
6827
0
  return offset;
6828
0
}
6829
6830
6831
static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of[1] = {
6832
  { &hf_h245_elements_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElement },
6833
};
6834
6835
static unsigned
6836
0
dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6837
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6838
0
                                      ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement, SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of);
6839
6840
0
  return offset;
6841
0
}
6842
6843
6844
static const per_sequence_t MultiplePayloadStream_sequence[] = {
6845
  { &hf_h245_elements       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement },
6846
  { NULL, 0, 0, NULL }
6847
};
6848
6849
static unsigned
6850
0
dissect_h245_MultiplePayloadStream(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6851
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6852
0
                                   ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
6853
6854
0
  return offset;
6855
0
}
6856
6857
6858
static const per_sequence_t T_differentPort_sequence[] = {
6859
  { &hf_h245_protectedSessionID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
6860
  { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6861
  { NULL, 0, 0, NULL }
6862
};
6863
6864
static unsigned
6865
0
dissect_h245_T_differentPort(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6866
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6867
0
                                   ett_h245_T_differentPort, T_differentPort_sequence);
6868
6869
0
  return offset;
6870
0
}
6871
6872
6873
static const per_sequence_t T_samePort_sequence[] = {
6874
  { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
6875
  { NULL, 0, 0, NULL }
6876
};
6877
6878
static unsigned
6879
0
dissect_h245_T_samePort(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6880
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6881
0
                                   ett_h245_T_samePort, T_samePort_sequence);
6882
6883
0
  return offset;
6884
0
}
6885
6886
6887
static const value_string h245_DepSeparateStream_vals[] = {
6888
  {   0, "differentPort" },
6889
  {   1, "samePort" },
6890
  { 0, NULL }
6891
};
6892
6893
static const per_choice_t DepSeparateStream_choice[] = {
6894
  {   0, &hf_h245_differentPort  , ASN1_EXTENSION_ROOT    , dissect_h245_T_differentPort },
6895
  {   1, &hf_h245_samePort       , ASN1_EXTENSION_ROOT    , dissect_h245_T_samePort },
6896
  { 0, NULL, 0, NULL }
6897
};
6898
6899
static unsigned
6900
0
dissect_h245_DepSeparateStream(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6901
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6902
0
                                 ett_h245_DepSeparateStream, DepSeparateStream_choice,
6903
0
                                 NULL);
6904
6905
0
  return offset;
6906
0
}
6907
6908
6909
static const value_string h245_FECdata_mode_vals[] = {
6910
  {   0, "redundancyEncoding" },
6911
  {   1, "separateStream" },
6912
  { 0, NULL }
6913
};
6914
6915
static const per_choice_t FECdata_mode_choice[] = {
6916
  {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6917
  {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
6918
  { 0, NULL, 0, NULL }
6919
};
6920
6921
static unsigned
6922
0
dissect_h245_FECdata_mode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6923
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6924
0
                                 ett_h245_FECdata_mode, FECdata_mode_choice,
6925
0
                                 NULL);
6926
6927
0
  return offset;
6928
0
}
6929
6930
6931
static const per_sequence_t RFC2733Data_sequence[] = {
6932
  { &hf_h245_fec_data_mode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FECdata_mode },
6933
  { NULL, 0, 0, NULL }
6934
};
6935
6936
static unsigned
6937
0
dissect_h245_RFC2733Data(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6938
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6939
0
                                   ett_h245_RFC2733Data, RFC2733Data_sequence);
6940
6941
0
  return offset;
6942
0
}
6943
6944
6945
static const value_string h245_DepFECData_vals[] = {
6946
  {   0, "rfc2733" },
6947
  { 0, NULL }
6948
};
6949
6950
static const per_choice_t DepFECData_choice[] = {
6951
  {   0, &hf_h245_dep_rfc2733    , ASN1_NO_EXTENSIONS     , dissect_h245_RFC2733Data },
6952
  { 0, NULL, 0, NULL }
6953
};
6954
6955
static unsigned
6956
0
dissect_h245_DepFECData(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6957
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6958
0
                                 ett_h245_DepFECData, DepFECData_choice,
6959
0
                                 NULL);
6960
6961
0
  return offset;
6962
0
}
6963
6964
6965
static const per_sequence_t T_mode_rfc2733sameport_sequence[] = {
6966
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
6967
};
6968
6969
static unsigned
6970
0
dissect_h245_T_mode_rfc2733sameport(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6971
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6972
0
                                   ett_h245_T_mode_rfc2733sameport, T_mode_rfc2733sameport_sequence);
6973
6974
0
  return offset;
6975
0
}
6976
6977
6978
static const per_sequence_t T_mode_rfc2733diffport_sequence[] = {
6979
  { &hf_h245_protectedChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
6980
  { NULL, 0, 0, NULL }
6981
};
6982
6983
static unsigned
6984
0
dissect_h245_T_mode_rfc2733diffport(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6985
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6986
0
                                   ett_h245_T_mode_rfc2733diffport, T_mode_rfc2733diffport_sequence);
6987
6988
0
  return offset;
6989
0
}
6990
6991
6992
static const value_string h245_T_pktMode_vals[] = {
6993
  {   0, "rfc2198coding" },
6994
  {   1, "rfc2733sameport" },
6995
  {   2, "rfc2733diffport" },
6996
  { 0, NULL }
6997
};
6998
6999
static const per_choice_t T_pktMode_choice[] = {
7000
  {   0, &hf_h245_rfc2198coding  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7001
  {   1, &hf_h245_mode_rfc2733sameport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733sameport },
7002
  {   2, &hf_h245_mode_rfc2733diffport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733diffport },
7003
  { 0, NULL, 0, NULL }
7004
};
7005
7006
static unsigned
7007
0
dissect_h245_T_pktMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7008
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7009
0
                                 ett_h245_T_pktMode, T_pktMode_choice,
7010
0
                                 NULL);
7011
7012
0
  return offset;
7013
0
}
7014
7015
7016
static const per_sequence_t T_rfc2733_sequence[] = {
7017
  { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
7018
  { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
7019
  { &hf_h245_pktMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pktMode },
7020
  { NULL, 0, 0, NULL }
7021
};
7022
7023
static unsigned
7024
0
dissect_h245_T_rfc2733(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7025
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7026
0
                                   ett_h245_T_rfc2733, T_rfc2733_sequence);
7027
7028
0
  return offset;
7029
0
}
7030
7031
7032
static const value_string h245_FECData_vals[] = {
7033
  {   0, "rfc2733" },
7034
  { 0, NULL }
7035
};
7036
7037
static const per_choice_t FECData_choice[] = {
7038
  {   0, &hf_h245_rfc2733        , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733 },
7039
  { 0, NULL, 0, NULL }
7040
};
7041
7042
static unsigned
7043
0
dissect_h245_FECData(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7044
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7045
0
                                 ett_h245_FECData, FECData_choice,
7046
0
                                 NULL);
7047
7048
0
  return offset;
7049
0
}
7050
7051
7052
static const value_string h245_T_mediaType_vals[] = {
7053
  {   0, "nonStandard" },
7054
  {   1, "videoData" },
7055
  {   2, "audioData" },
7056
  {   3, "data" },
7057
  {   4, "redundancyEncoding" },
7058
  {   5, "multiplePayloadStream" },
7059
  {   6, "depFec" },
7060
  {   7, "fec" },
7061
  { 0, NULL }
7062
};
7063
7064
static const per_choice_t T_mediaType_choice[] = {
7065
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7066
  {   1, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7067
  {   2, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7068
  {   3, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7069
  {   4, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7070
  {   5, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7071
  {   6, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7072
  {   7, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7073
  { 0, NULL, 0, NULL }
7074
};
7075
7076
static unsigned
7077
0
dissect_h245_T_mediaType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7078
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7079
0
                                 ett_h245_T_mediaType, T_mediaType_choice,
7080
0
                                 NULL);
7081
7082
0
  return offset;
7083
0
}
7084
7085
7086
static const per_sequence_t H235Media_sequence[] = {
7087
  { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
7088
  { &hf_h245_mediaType      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaType },
7089
  { NULL, 0, 0, NULL }
7090
};
7091
7092
static unsigned
7093
0
dissect_h245_H235Media(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7094
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7095
0
                                   ett_h245_H235Media, H235Media_sequence);
7096
7097
0
  return offset;
7098
0
}
7099
7100
7101
static const per_sequence_t MultiplexedStreamParameter_sequence[] = {
7102
  { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
7103
  { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7104
  { NULL, 0, 0, NULL }
7105
};
7106
7107
static unsigned
7108
0
dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7109
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7110
0
                                   ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
7111
7112
0
  return offset;
7113
0
}
7114
7115
7116
static const value_string h245_DataType_vals[] = {
7117
  {   0, "nonStandard" },
7118
  {   1, "nullData" },
7119
  {   2, "videoData" },
7120
  {   3, "audioData" },
7121
  {   4, "data" },
7122
  {   5, "encryptionData" },
7123
  {   6, "h235Control" },
7124
  {   7, "h235Media" },
7125
  {   8, "multiplexedStream" },
7126
  {   9, "redundancyEncoding" },
7127
  {  10, "multiplePayloadStream" },
7128
  {  11, "depFec" },
7129
  {  12, "fec" },
7130
  { 0, NULL }
7131
};
7132
7133
static const per_choice_t DataType_choice[] = {
7134
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7135
  {   1, &hf_h245_nullData       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7136
  {   2, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7137
  {   3, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7138
  {   4, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7139
  {   5, &hf_h245_encryptionData , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
7140
  {   6, &hf_h245_h235Control    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
7141
  {   7, &hf_h245_h235Media      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Media },
7142
  {   8, &hf_h245_multiplexedStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
7143
  {   9, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7144
  {  10, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7145
  {  11, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7146
  {  12, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7147
  { 0, NULL, 0, NULL }
7148
};
7149
7150
static unsigned
7151
1
dissect_h245_DataType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7152
  // DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType
7153
1
  actx->pinfo->dissection_depth += 4;
7154
1
  increment_dissection_depth(actx->pinfo);
7155
1
int choice_index;
7156
7157
1
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7158
1
                                 ett_h245_DataType, DataType_choice,
7159
1
                                 &choice_index);
7160
7161
7162
1
if (upcoming_channel){
7163
1
  if (choice_index==2){
7164
0
    upcoming_channel->is_video=true;
7165
1
  }else{
7166
1
    upcoming_channel->is_video=false;
7167
1
  }
7168
1
}
7169
7170
7171
1
  actx->pinfo->dissection_depth -= 4;
7172
1
  decrement_dissection_depth(actx->pinfo);
7173
1
  return offset;
7174
1
}
7175
7176
7177
7178
static unsigned
7179
0
dissect_h245_INTEGER_0_8191(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7180
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7181
0
                                                            0U, 8191U, NULL, false);
7182
7183
0
  return offset;
7184
0
}
7185
7186
7187
static const per_sequence_t H222LogicalChannelParameters_sequence[] = {
7188
  { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
7189
  { &hf_h245_subChannelID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_8191 },
7190
  { &hf_h245_pcr_pid        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_8191 },
7191
  { &hf_h245_programDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7192
  { &hf_h245_streamDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7193
  { NULL, 0, 0, NULL }
7194
};
7195
7196
static unsigned
7197
0
dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7198
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7199
0
                                   ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
7200
7201
0
  return offset;
7202
0
}
7203
7204
7205
7206
static unsigned
7207
0
dissect_h245_T_h223_al_type_al1Framed(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7208
0
  if(h223_lc_params_temp)
7209
0
  h223_lc_params_temp->al_type = al1Framed;
7210
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7211
7212
0
  return offset;
7213
0
}
7214
7215
7216
7217
static unsigned
7218
0
dissect_h245_T_h223_al_type_al1NotFramed(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7219
0
  if(h223_lc_params_temp)
7220
0
  h223_lc_params_temp->al_type = al1NotFramed;
7221
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7222
7223
0
  return offset;
7224
0
}
7225
7226
7227
7228
static unsigned
7229
0
dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7230
0
  if(h223_lc_params_temp)
7231
0
  h223_lc_params_temp->al_type = al2WithoutSequenceNumbers;
7232
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7233
7234
0
  return offset;
7235
0
}
7236
7237
7238
7239
static unsigned
7240
0
dissect_h245_T_h223_al_type_al2WithSequenceNumbers(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7241
0
  if(h223_lc_params_temp)
7242
0
  h223_lc_params_temp->al_type = al2WithSequenceNumbers;
7243
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7244
7245
0
  return offset;
7246
0
}
7247
7248
7249
7250
static unsigned
7251
0
dissect_h245_T_controlFieldOctets(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7252
0
  uint32_t value;
7253
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7254
0
                                                            0U, 2U, &value, false);
7255
7256
0
  if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7257
0
  ((h223_al3_params*)h223_lc_params_temp->al_params)->control_field_octets = value & 3 ;
7258
7259
0
  return offset;
7260
0
}
7261
7262
7263
7264
static unsigned
7265
0
dissect_h245_T_al3_sendBufferSize(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7266
0
  uint32_t value;
7267
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7268
0
                                                            0U, 16777215U, &value, false);
7269
7270
0
  if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7271
0
  ((h223_al3_params*)h223_lc_params_temp->al_params)->send_buffer_size = value & 0xfffff;
7272
7273
0
  return offset;
7274
0
}
7275
7276
7277
static const per_sequence_t Al3_sequence[] = {
7278
  { &hf_h245_controlFieldOctets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_controlFieldOctets },
7279
  { &hf_h245_al3_sendBufferSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_al3_sendBufferSize },
7280
  { NULL, 0, 0, NULL }
7281
};
7282
7283
static unsigned
7284
0
dissect_h245_Al3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7285
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7286
0
                                   ett_h245_Al3, Al3_sequence);
7287
7288
0
  return offset;
7289
0
}
7290
7291
7292
7293
static unsigned
7294
0
dissect_h245_T_h223_al_type_al3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7295
0
 if(h223_lc_params_temp) {
7296
0
  h223_lc_params_temp->al_type = al3;
7297
0
  h223_lc_params_temp->al_params = wmem_new(wmem_file_scope(), h223_al3_params);
7298
0
  }
7299
0
  offset = dissect_h245_Al3(tvb, offset, actx, tree, hf_index);
7300
7301
0
  return offset;
7302
0
}
7303
7304
7305
static const value_string h245_T_transferMode_vals[] = {
7306
  {   0, "framed" },
7307
  {   1, "unframed" },
7308
  { 0, NULL }
7309
};
7310
7311
static const per_choice_t T_transferMode_choice[] = {
7312
  {   0, &hf_h245_framed         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7313
  {   1, &hf_h245_unframed       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7314
  { 0, NULL, 0, NULL }
7315
};
7316
7317
static unsigned
7318
0
dissect_h245_T_transferMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7319
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7320
0
                                 ett_h245_T_transferMode, T_transferMode_choice,
7321
0
                                 NULL);
7322
7323
0
  return offset;
7324
0
}
7325
7326
7327
static const value_string h245_AL1HeaderFEC_vals[] = {
7328
  {   0, "sebch16-7" },
7329
  {   1, "golay24-12" },
7330
  { 0, NULL }
7331
};
7332
7333
static const per_choice_t AL1HeaderFEC_choice[] = {
7334
  {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7335
  {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7336
  { 0, NULL, 0, NULL }
7337
};
7338
7339
static unsigned
7340
0
dissect_h245_AL1HeaderFEC(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7341
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7342
0
                                 ett_h245_AL1HeaderFEC, AL1HeaderFEC_choice,
7343
0
                                 NULL);
7344
7345
0
  return offset;
7346
0
}
7347
7348
7349
static const value_string h245_AL1CrcLength_vals[] = {
7350
  {   0, "crc4bit" },
7351
  {   1, "crc12bit" },
7352
  {   2, "crc20bit" },
7353
  {   3, "crc28bit" },
7354
  {   4, "crc8bit" },
7355
  {   5, "crc16bit" },
7356
  {   6, "crc32bit" },
7357
  {   7, "crcNotUsed" },
7358
  { 0, NULL }
7359
};
7360
7361
static const per_choice_t AL1CrcLength_choice[] = {
7362
  {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7363
  {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7364
  {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7365
  {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7366
  {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7367
  {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7368
  {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7369
  {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7370
  { 0, NULL, 0, NULL }
7371
};
7372
7373
static unsigned
7374
0
dissect_h245_AL1CrcLength(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7375
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7376
0
                                 ett_h245_AL1CrcLength, AL1CrcLength_choice,
7377
0
                                 NULL);
7378
7379
0
  return offset;
7380
0
}
7381
7382
7383
7384
static unsigned
7385
0
dissect_h245_INTEGER_8_32(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7386
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7387
0
                                                            8U, 32U, NULL, false);
7388
7389
0
  return offset;
7390
0
}
7391
7392
7393
7394
static unsigned
7395
0
dissect_h245_INTEGER_0_16(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7396
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7397
0
                                                            0U, 16U, NULL, false);
7398
7399
0
  return offset;
7400
0
}
7401
7402
7403
static const value_string h245_T_numberOfRetransmissions_vals[] = {
7404
  {   0, "finite" },
7405
  {   1, "infinite" },
7406
  { 0, NULL }
7407
};
7408
7409
static const per_choice_t T_numberOfRetransmissions_choice[] = {
7410
  {   0, &hf_h245_finite         , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_16 },
7411
  {   1, &hf_h245_infinite       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7412
  { 0, NULL, 0, NULL }
7413
};
7414
7415
static unsigned
7416
0
dissect_h245_T_numberOfRetransmissions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7417
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7418
0
                                 ett_h245_T_numberOfRetransmissions, T_numberOfRetransmissions_choice,
7419
0
                                 NULL);
7420
7421
0
  return offset;
7422
0
}
7423
7424
7425
static const per_sequence_t H223AnnexCArqParameters_sequence[] = {
7426
  { &hf_h245_numberOfRetransmissions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_numberOfRetransmissions },
7427
  { &hf_h245_sendBufferSize , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
7428
  { NULL, 0, 0, NULL }
7429
};
7430
7431
static unsigned
7432
0
dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7433
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7434
0
                                   ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
7435
7436
0
  return offset;
7437
0
}
7438
7439
7440
static const value_string h245_ArqType_vals[] = {
7441
  {   0, "noArq" },
7442
  {   1, "typeIArq" },
7443
  {   2, "typeIIArq" },
7444
  { 0, NULL }
7445
};
7446
7447
static const per_choice_t ArqType_choice[] = {
7448
  {   0, &hf_h245_noArq          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7449
  {   1, &hf_h245_typeIArq       , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7450
  {   2, &hf_h245_typeIIArq      , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7451
  { 0, NULL, 0, NULL }
7452
};
7453
7454
static unsigned
7455
0
dissect_h245_ArqType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7456
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7457
0
                                 ett_h245_ArqType, ArqType_choice,
7458
0
                                 NULL);
7459
7460
0
  return offset;
7461
0
}
7462
7463
7464
static const per_sequence_t H223AL1MParameters_sequence[] = {
7465
  { &hf_h245_transferMode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_transferMode },
7466
  { &hf_h245_aL1HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1HeaderFEC },
7467
  { &hf_h245_crcLength2     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1CrcLength },
7468
  { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7469
  { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7470
  { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7471
  { &hf_h245_alsduSplitting , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7472
  { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7473
  { NULL, 0, 0, NULL }
7474
};
7475
7476
static unsigned
7477
0
dissect_h245_H223AL1MParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7478
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7479
0
                                   ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
7480
7481
0
  return offset;
7482
0
}
7483
7484
7485
7486
static unsigned
7487
0
dissect_h245_T_h223_al_type_al1M(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7488
0
  if(h223_lc_params_temp)
7489
0
  h223_lc_params_temp->al_type = al1M;
7490
0
  offset = dissect_h245_H223AL1MParameters(tvb, offset, actx, tree, hf_index);
7491
7492
0
  return offset;
7493
0
}
7494
7495
7496
static const value_string h245_AL2HeaderFEC_vals[] = {
7497
  {   0, "sebch16-5" },
7498
  {   1, "golay24-12" },
7499
  { 0, NULL }
7500
};
7501
7502
static const per_choice_t AL2HeaderFEC_choice[] = {
7503
  {   0, &hf_h245_sebch16_5      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7504
  {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7505
  { 0, NULL, 0, NULL }
7506
};
7507
7508
static unsigned
7509
0
dissect_h245_AL2HeaderFEC(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7510
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7511
0
                                 ett_h245_AL2HeaderFEC, AL2HeaderFEC_choice,
7512
0
                                 NULL);
7513
7514
0
  return offset;
7515
0
}
7516
7517
7518
static const per_sequence_t H223AL2MParameters_sequence[] = {
7519
  { &hf_h245_aL2HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL2HeaderFEC },
7520
  { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7521
  { NULL, 0, 0, NULL }
7522
};
7523
7524
static unsigned
7525
0
dissect_h245_H223AL2MParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7526
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7527
0
                                   ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
7528
7529
0
  return offset;
7530
0
}
7531
7532
7533
7534
static unsigned
7535
0
dissect_h245_T_h223_al_type_al2M(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7536
0
  if(h223_lc_params_temp)
7537
0
  h223_lc_params_temp->al_type = al2M;
7538
0
  offset = dissect_h245_H223AL2MParameters(tvb, offset, actx, tree, hf_index);
7539
7540
0
  return offset;
7541
0
}
7542
7543
7544
static const value_string h245_T_headerFormat_vals[] = {
7545
  {   0, "sebch16-7" },
7546
  {   1, "golay24-12" },
7547
  { 0, NULL }
7548
};
7549
7550
static const per_choice_t T_headerFormat_choice[] = {
7551
  {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7552
  {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7553
  { 0, NULL, 0, NULL }
7554
};
7555
7556
static unsigned
7557
0
dissect_h245_T_headerFormat(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7558
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7559
0
                                 ett_h245_T_headerFormat, T_headerFormat_choice,
7560
0
                                 NULL);
7561
7562
0
  return offset;
7563
0
}
7564
7565
7566
static const value_string h245_AL3CrcLength_vals[] = {
7567
  {   0, "crc4bit" },
7568
  {   1, "crc12bit" },
7569
  {   2, "crc20bit" },
7570
  {   3, "crc28bit" },
7571
  {   4, "crc8bit" },
7572
  {   5, "crc16bit" },
7573
  {   6, "crc32bit" },
7574
  {   7, "crcNotUsed" },
7575
  { 0, NULL }
7576
};
7577
7578
static const per_choice_t AL3CrcLength_choice[] = {
7579
  {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7580
  {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7581
  {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7582
  {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7583
  {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7584
  {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7585
  {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7586
  {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7587
  { 0, NULL, 0, NULL }
7588
};
7589
7590
static unsigned
7591
0
dissect_h245_AL3CrcLength(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7592
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7593
0
                                 ett_h245_AL3CrcLength, AL3CrcLength_choice,
7594
0
                                 NULL);
7595
7596
0
  return offset;
7597
0
}
7598
7599
7600
static const per_sequence_t H223AL3MParameters_sequence[] = {
7601
  { &hf_h245_headerFormat   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_headerFormat },
7602
  { &hf_h245_crlength2      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL3CrcLength },
7603
  { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7604
  { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7605
  { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7606
  { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7607
  { NULL, 0, 0, NULL }
7608
};
7609
7610
static unsigned
7611
0
dissect_h245_H223AL3MParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7612
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7613
0
                                   ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
7614
7615
0
  return offset;
7616
0
}
7617
7618
7619
7620
static unsigned
7621
0
dissect_h245_T_h223_al_type_al3M(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7622
0
  if(h223_lc_params_temp)
7623
0
  h223_lc_params_temp->al_type = al3M;
7624
0
  offset = dissect_h245_H223AL3MParameters(tvb, offset, actx, tree, hf_index);
7625
7626
0
  return offset;
7627
0
}
7628
7629
7630
static const value_string h245_T_adaptationLayerType_vals[] = {
7631
  {   0, "nonStandard" },
7632
  {   1, "al1Framed" },
7633
  {   2, "al1NotFramed" },
7634
  {   3, "al2WithoutSequenceNumbers" },
7635
  {   4, "al2WithSequenceNumbers" },
7636
  {   5, "al3" },
7637
  {   6, "al1M" },
7638
  {   7, "al2M" },
7639
  {   8, "al3M" },
7640
  { 0, NULL }
7641
};
7642
7643
static const per_choice_t T_adaptationLayerType_choice[] = {
7644
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7645
  {   1, &hf_h245_h223_al_type_al1Framed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1Framed },
7646
  {   2, &hf_h245_h223_al_type_al1NotFramed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1NotFramed },
7647
  {   3, &hf_h245_h223_al_type_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers },
7648
  {   4, &hf_h245_h223_al_type_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithSequenceNumbers },
7649
  {   5, &hf_h245_h223_al_type_al3, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al3 },
7650
  {   6, &hf_h245_h223_al_type_al1M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al1M },
7651
  {   7, &hf_h245_h223_al_type_al2M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al2M },
7652
  {   8, &hf_h245_h223_al_type_al3M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al3M },
7653
  { 0, NULL, 0, NULL }
7654
};
7655
7656
static unsigned
7657
0
dissect_h245_T_adaptationLayerType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7658
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7659
0
                                 ett_h245_T_adaptationLayerType, T_adaptationLayerType_choice,
7660
0
                                 NULL);
7661
7662
0
  return offset;
7663
0
}
7664
7665
7666
7667
static unsigned
7668
0
dissect_h245_T_h223_lc_segmentableFlag(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7669
0
  bool value;
7670
0
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &value);
7671
7672
0
  if(h223_lc_params_temp)
7673
0
  h223_lc_params_temp->segmentable = value;
7674
7675
0
  return offset;
7676
0
}
7677
7678
7679
static const per_sequence_t H223LogicalChannelParameters_sequence[] = {
7680
  { &hf_h245_adaptationLayerType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_adaptationLayerType },
7681
  { &hf_h245_h223_lc_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223_lc_segmentableFlag },
7682
  { NULL, 0, 0, NULL }
7683
};
7684
7685
unsigned
7686
0
dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7687
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7688
0
                                   ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
7689
7690
0
  return offset;
7691
0
}
7692
7693
7694
7695
static unsigned
7696
0
dissect_h245_OLC_fw_h223_params(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7697
0
  h223_fw_lc_params = wmem_new(wmem_file_scope(), h223_lc_params);
7698
0
  h223_fw_lc_params->al_type = al_nonStandard;
7699
0
  h223_fw_lc_params->al_params = NULL;
7700
0
  h223_fw_lc_params->segmentable = 0;
7701
0
  h223_fw_lc_params->subdissector = NULL;
7702
0
  h223_lc_params_temp = h223_fw_lc_params;
7703
0
  offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
7704
7705
0
  return offset;
7706
0
}
7707
7708
7709
static const value_string h245_CRCLength_vals[] = {
7710
  {   0, "crc8bit" },
7711
  {   1, "crc16bit" },
7712
  {   2, "crc32bit" },
7713
  { 0, NULL }
7714
};
7715
7716
static const per_choice_t CRCLength_choice[] = {
7717
  {   0, &hf_h245_crc8bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7718
  {   1, &hf_h245_crc16bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7719
  {   2, &hf_h245_crc32bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7720
  { 0, NULL, 0, NULL }
7721
};
7722
7723
static unsigned
7724
0
dissect_h245_CRCLength(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7725
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7726
0
                                 ett_h245_CRCLength, CRCLength_choice,
7727
0
                                 NULL);
7728
7729
0
  return offset;
7730
0
}
7731
7732
7733
static const per_sequence_t V76HDLCParameters_sequence[] = {
7734
  { &hf_h245_crcLength      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CRCLength },
7735
  { &hf_h245_n401           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
7736
  { &hf_h245_loopbackTestProcedure, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7737
  { NULL, 0, 0, NULL }
7738
};
7739
7740
static unsigned
7741
0
dissect_h245_V76HDLCParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7742
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7743
0
                                   ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
7744
7745
0
  return offset;
7746
0
}
7747
7748
7749
static const value_string h245_T_suspendResume_vals[] = {
7750
  {   0, "noSuspendResume" },
7751
  {   1, "suspendResumewAddress" },
7752
  {   2, "suspendResumewoAddress" },
7753
  { 0, NULL }
7754
};
7755
7756
static const per_choice_t T_suspendResume_choice[] = {
7757
  {   0, &hf_h245_noSuspendResume, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7758
  {   1, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7759
  {   2, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7760
  { 0, NULL, 0, NULL }
7761
};
7762
7763
static unsigned
7764
0
dissect_h245_T_suspendResume(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7765
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7766
0
                                 ett_h245_T_suspendResume, T_suspendResume_choice,
7767
0
                                 NULL);
7768
7769
0
  return offset;
7770
0
}
7771
7772
7773
static const value_string h245_T_recovery_vals[] = {
7774
  {   0, "rej" },
7775
  {   1, "sREJ" },
7776
  {   2, "mSREJ" },
7777
  { 0, NULL }
7778
};
7779
7780
static const per_choice_t T_recovery_choice[] = {
7781
  {   0, &hf_h245_rej            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7782
  {   1, &hf_h245_sREJ           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7783
  {   2, &hf_h245_mSREJ          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7784
  { 0, NULL, 0, NULL }
7785
};
7786
7787
static unsigned
7788
0
dissect_h245_T_recovery(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7789
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7790
0
                                 ett_h245_T_recovery, T_recovery_choice,
7791
0
                                 NULL);
7792
7793
0
  return offset;
7794
0
}
7795
7796
7797
static const per_sequence_t T_eRM_sequence[] = {
7798
  { &hf_h245_windowSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
7799
  { &hf_h245_recovery       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_recovery },
7800
  { NULL, 0, 0, NULL }
7801
};
7802
7803
static unsigned
7804
0
dissect_h245_T_eRM(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7805
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7806
0
                                   ett_h245_T_eRM, T_eRM_sequence);
7807
7808
0
  return offset;
7809
0
}
7810
7811
7812
static const value_string h245_V76LCP_mode_vals[] = {
7813
  {   0, "eRM" },
7814
  {   1, "uNERM" },
7815
  { 0, NULL }
7816
};
7817
7818
static const per_choice_t V76LCP_mode_choice[] = {
7819
  {   0, &hf_h245_eRM            , ASN1_EXTENSION_ROOT    , dissect_h245_T_eRM },
7820
  {   1, &hf_h245_uNERM          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7821
  { 0, NULL, 0, NULL }
7822
};
7823
7824
static unsigned
7825
0
dissect_h245_V76LCP_mode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7826
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7827
0
                                 ett_h245_V76LCP_mode, V76LCP_mode_choice,
7828
0
                                 NULL);
7829
7830
0
  return offset;
7831
0
}
7832
7833
7834
static const per_sequence_t V75Parameters_sequence[] = {
7835
  { &hf_h245_audioHeaderPresent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7836
  { NULL, 0, 0, NULL }
7837
};
7838
7839
static unsigned
7840
0
dissect_h245_V75Parameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7841
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7842
0
                                   ett_h245_V75Parameters, V75Parameters_sequence);
7843
7844
0
  return offset;
7845
0
}
7846
7847
7848
static const per_sequence_t V76LogicalChannelParameters_sequence[] = {
7849
  { &hf_h245_hdlcParameters , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76HDLCParameters },
7850
  { &hf_h245_suspendResume  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_suspendResume },
7851
  { &hf_h245_uIH            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7852
  { &hf_h245_v76_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76LCP_mode },
7853
  { &hf_h245_v75Parameters  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Parameters },
7854
  { NULL, 0, 0, NULL }
7855
};
7856
7857
static unsigned
7858
0
dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7859
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7860
0
                                   ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
7861
7862
0
  return offset;
7863
0
}
7864
7865
7866
7867
static unsigned
7868
0
dissect_h245_Ipv4_network(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7869
0
  tvbuff_t *value_tvb;
7870
7871
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7872
0
                                       4, 4, false, &value_tvb);
7873
7874
7875
0
  if (upcoming_channel && upcoming_channel->upcoming_addr) {
7876
0
    tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 4);
7877
0
    set_address(&upcoming_channel->upcoming_addr->addr, AT_IPv4, 4, upcoming_channel->upcoming_addr->addr_buf);
7878
0
  }
7879
7880
0
  return offset;
7881
0
}
7882
7883
7884
7885
static unsigned
7886
0
dissect_h245_TsapIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7887
0
  uint32_t tsapIdentifier;
7888
7889
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7890
0
                                                            0U, 65535U, &tsapIdentifier, false);
7891
7892
7893
0
  if (upcoming_channel && upcoming_channel->upcoming_addr) {
7894
0
    upcoming_channel->upcoming_addr->port = tsapIdentifier;
7895
0
  }
7896
7897
0
  return offset;
7898
0
}
7899
7900
7901
static const per_sequence_t T_iPAddress_sequence[] = {
7902
  { &hf_h245_ip4_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ipv4_network },
7903
  { &hf_h245_tsapIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TsapIdentifier },
7904
  { NULL, 0, 0, NULL }
7905
};
7906
7907
static unsigned
7908
0
dissect_h245_T_iPAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7909
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7910
0
                                   ett_h245_T_iPAddress, T_iPAddress_sequence);
7911
7912
0
  return offset;
7913
0
}
7914
7915
7916
7917
static unsigned
7918
0
dissect_h245_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7919
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7920
0
                                       6, 6, false, NULL);
7921
7922
0
  return offset;
7923
0
}
7924
7925
7926
7927
static unsigned
7928
0
dissect_h245_OCTET_STRING_SIZE_4(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7929
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7930
0
                                       4, 4, false, NULL);
7931
7932
0
  return offset;
7933
0
}
7934
7935
7936
7937
static unsigned
7938
0
dissect_h245_OCTET_STRING_SIZE_2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7939
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7940
0
                                       2, 2, false, NULL);
7941
7942
0
  return offset;
7943
0
}
7944
7945
7946
static const per_sequence_t T_iPXAddress_sequence[] = {
7947
  { &hf_h245_node           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_6 },
7948
  { &hf_h245_netnum         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
7949
  { &hf_h245_ipx_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_2 },
7950
  { NULL, 0, 0, NULL }
7951
};
7952
7953
static unsigned
7954
0
dissect_h245_T_iPXAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7955
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7956
0
                                   ett_h245_T_iPXAddress, T_iPXAddress_sequence);
7957
7958
0
  return offset;
7959
0
}
7960
7961
7962
7963
static unsigned
7964
0
dissect_h245_T_ip6_network(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7965
0
  tvbuff_t *value_tvb;
7966
7967
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7968
0
                                       16, 16, false, &value_tvb);
7969
7970
7971
0
  if (upcoming_channel && upcoming_channel->upcoming_addr) {
7972
0
    tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 16);
7973
0
    set_address(&upcoming_channel->upcoming_addr->addr, AT_IPv6, 16, upcoming_channel->upcoming_addr->addr_buf);
7974
0
  }
7975
7976
0
  return offset;
7977
0
}
7978
7979
7980
7981
static unsigned
7982
0
dissect_h245_T_ipv6_tsapIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7983
0
  uint32_t tsapIdentifier;
7984
7985
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7986
0
                                                            0U, 65535U, &tsapIdentifier, false);
7987
7988
7989
0
  if (upcoming_channel && upcoming_channel->upcoming_addr) {
7990
0
    upcoming_channel->upcoming_addr->port = tsapIdentifier;
7991
0
  }
7992
7993
0
  return offset;
7994
0
}
7995
7996
7997
static const per_sequence_t T_iP6Address_sequence[] = {
7998
  { &hf_h245_ip6_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_ip6_network },
7999
  { &hf_h245_ipv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_ipv6_tsapIdentifier },
8000
  { NULL, 0, 0, NULL }
8001
};
8002
8003
static unsigned
8004
0
dissect_h245_T_iP6Address(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8005
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8006
0
                                   ett_h245_T_iP6Address, T_iP6Address_sequence);
8007
8008
0
  return offset;
8009
0
}
8010
8011
8012
static const value_string h245_T_routing_vals[] = {
8013
  {   0, "strict" },
8014
  {   1, "loose" },
8015
  { 0, NULL }
8016
};
8017
8018
static const per_choice_t T_routing_choice[] = {
8019
  {   0, &hf_h245_strict         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8020
  {   1, &hf_h245_loose          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8021
  { 0, NULL, 0, NULL }
8022
};
8023
8024
static unsigned
8025
0
dissect_h245_T_routing(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8026
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8027
0
                                 ett_h245_T_routing, T_routing_choice,
8028
0
                                 NULL);
8029
8030
0
  return offset;
8031
0
}
8032
8033
8034
static const per_sequence_t T_route_sequence_of[1] = {
8035
  { &hf_h245_route_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8036
};
8037
8038
static unsigned
8039
0
dissect_h245_T_route(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8040
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
8041
0
                                      ett_h245_T_route, T_route_sequence_of);
8042
8043
0
  return offset;
8044
0
}
8045
8046
8047
static const per_sequence_t T_iPSourceRouteAddress_sequence[] = {
8048
  { &hf_h245_routing        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_routing },
8049
  { &hf_h245_network        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8050
  { &hf_h245_iPSrcRoute_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8051
  { &hf_h245_route          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_route },
8052
  { NULL, 0, 0, NULL }
8053
};
8054
8055
static unsigned
8056
0
dissect_h245_T_iPSourceRouteAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8057
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8058
0
                                   ett_h245_T_iPSourceRouteAddress, T_iPSourceRouteAddress_sequence);
8059
8060
0
  return offset;
8061
0
}
8062
8063
8064
const value_string h245_UnicastAddress_vals[] = {
8065
  {   0, "iPAddress" },
8066
  {   1, "iPXAddress" },
8067
  {   2, "iP6Address" },
8068
  {   3, "netBios" },
8069
  {   4, "iPSourceRouteAddress" },
8070
  {   5, "nsap" },
8071
  {   6, "nonStandardAddress" },
8072
  { 0, NULL }
8073
};
8074
8075
static const per_choice_t UnicastAddress_choice[] = {
8076
  {   0, &hf_h245_iPAddress      , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPAddress },
8077
  {   1, &hf_h245_iPXAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPXAddress },
8078
  {   2, &hf_h245_iP6Address     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iP6Address },
8079
  {   3, &hf_h245_netBios        , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
8080
  {   4, &hf_h245_iPSourceRouteAddress, ASN1_EXTENSION_ROOT    , dissect_h245_T_iPSourceRouteAddress },
8081
  {   5, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8082
  {   6, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8083
  { 0, NULL, 0, NULL }
8084
};
8085
8086
unsigned
8087
0
dissect_h245_UnicastAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8088
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8089
0
                                 ett_h245_UnicastAddress, UnicastAddress_choice,
8090
0
                                 NULL);
8091
8092
0
  return offset;
8093
0
}
8094
8095
8096
static const per_sequence_t MIPAddress_sequence[] = {
8097
  { &hf_h245_mip4_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8098
  { &hf_h245_multicast_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8099
  { NULL, 0, 0, NULL }
8100
};
8101
8102
static unsigned
8103
0
dissect_h245_MIPAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8104
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8105
0
                                   ett_h245_MIPAddress, MIPAddress_sequence);
8106
8107
0
  return offset;
8108
0
}
8109
8110
8111
static const per_sequence_t MIP6Address_sequence[] = {
8112
  { &hf_h245_mip6_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8113
  { &hf_h245_multicast_IPv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8114
  { NULL, 0, 0, NULL }
8115
};
8116
8117
static unsigned
8118
0
dissect_h245_MIP6Address(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8119
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8120
0
                                   ett_h245_MIP6Address, MIP6Address_sequence);
8121
8122
0
  return offset;
8123
0
}
8124
8125
8126
const value_string h245_MulticastAddress_vals[] = {
8127
  {   0, "iPAddress" },
8128
  {   1, "iP6Address" },
8129
  {   2, "nsap" },
8130
  {   3, "nonStandardAddress" },
8131
  { 0, NULL }
8132
};
8133
8134
static const per_choice_t MulticastAddress_choice[] = {
8135
  {   0, &hf_h245_mIPAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_MIPAddress },
8136
  {   1, &hf_h245_mIP6Address    , ASN1_EXTENSION_ROOT    , dissect_h245_MIP6Address },
8137
  {   2, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8138
  {   3, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8139
  { 0, NULL, 0, NULL }
8140
};
8141
8142
unsigned
8143
0
dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8144
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8145
0
                                 ett_h245_MulticastAddress, MulticastAddress_choice,
8146
0
                                 NULL);
8147
8148
0
  return offset;
8149
0
}
8150
8151
8152
const value_string h245_TransportAddress_vals[] = {
8153
  {   0, "unicastAddress" },
8154
  {   1, "multicastAddress" },
8155
  { 0, NULL }
8156
};
8157
8158
static const per_choice_t TransportAddress_choice[] = {
8159
  {   0, &hf_h245_unicastAddress , ASN1_EXTENSION_ROOT    , dissect_h245_UnicastAddress },
8160
  {   1, &hf_h245_multicastAddress, ASN1_EXTENSION_ROOT    , dissect_h245_MulticastAddress },
8161
  { 0, NULL, 0, NULL }
8162
};
8163
8164
unsigned
8165
0
dissect_h245_TransportAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8166
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8167
0
                                 ett_h245_TransportAddress, TransportAddress_choice,
8168
0
                                 NULL);
8169
8170
0
  return offset;
8171
0
}
8172
8173
8174
8175
static unsigned
8176
0
dissect_h245_T_mediaChannel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8177
0
  if (upcoming_channel)
8178
0
    upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
8179
0
  offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8180
8181
0
  if (upcoming_channel)
8182
0
    upcoming_channel->upcoming_addr = NULL;
8183
0
  return offset;
8184
0
}
8185
8186
8187
8188
static unsigned
8189
0
dissect_h245_T_mediaControlChannel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8190
0
  if (upcoming_channel)
8191
0
    upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
8192
0
  offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8193
8194
0
  if (upcoming_channel)
8195
0
    upcoming_channel->upcoming_addr = NULL;
8196
0
  return offset;
8197
0
}
8198
8199
8200
8201
static unsigned
8202
0
dissect_h245_McuNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8203
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8204
0
                                                            0U, 192U, NULL, false);
8205
8206
0
  return offset;
8207
0
}
8208
8209
8210
8211
static unsigned
8212
0
dissect_h245_TerminalNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8213
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8214
0
                                                            0U, 192U, NULL, false);
8215
8216
0
  return offset;
8217
0
}
8218
8219
8220
static const per_sequence_t TerminalLabel_sequence[] = {
8221
  { &hf_h245_mcuNumber      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
8222
  { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
8223
  { NULL, 0, 0, NULL }
8224
};
8225
8226
static unsigned
8227
0
dissect_h245_TerminalLabel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8228
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8229
0
                                   ett_h245_TerminalLabel, TerminalLabel_sequence);
8230
8231
0
  return offset;
8232
0
}
8233
8234
8235
static const value_string h245_T_mediaPacketization_vals[] = {
8236
  {   0, "h261aVideoPacketization" },
8237
  {   1, "rtpPayloadType" },
8238
  { 0, NULL }
8239
};
8240
8241
static const per_choice_t T_mediaPacketization_choice[] = {
8242
  {   0, &hf_h245_h261aVideoPacketizationFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8243
  {   1, &hf_h245_rtpPayloadType , ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPPayloadType },
8244
  { 0, NULL, 0, NULL }
8245
};
8246
8247
static unsigned
8248
0
dissect_h245_T_mediaPacketization(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8249
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8250
0
                                 ett_h245_T_mediaPacketization, T_mediaPacketization_choice,
8251
0
                                 NULL);
8252
8253
0
  return offset;
8254
0
}
8255
8256
8257
static const per_sequence_t H2250LogicalChannelParameters_sequence[] = {
8258
  { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
8259
  { &hf_h245_sessionID_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8260
  { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
8261
  { &hf_h245_mediaChannel   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaChannel },
8262
  { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8263
  { &hf_h245_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaControlChannel },
8264
  { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8265
  { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8266
  { &hf_h245_destination    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8267
  { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
8268
  { &hf_h245_mediaPacketization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaPacketization },
8269
  { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
8270
  { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
8271
  { &hf_h245_source         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8272
  { NULL, 0, 0, NULL }
8273
};
8274
8275
static unsigned
8276
0
dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8277
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8278
0
                                   ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
8279
8280
0
  return offset;
8281
0
}
8282
8283
8284
static const value_string h245_OLC_forw_multiplexParameters_vals[] = {
8285
  {   0, "h222LogicalChannelParameters" },
8286
  {   1, "h223LogicalChannelParameters" },
8287
  {   2, "v76LogicalChannelParameters" },
8288
  {   3, "h2250LogicalChannelParameters" },
8289
  {   4, "none" },
8290
  { 0, NULL }
8291
};
8292
8293
static const per_choice_t OLC_forw_multiplexParameters_choice[] = {
8294
  {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
8295
  {   1, &hf_h245_olc_fw_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_fw_h223_params },
8296
  {   2, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8297
  {   3, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8298
  {   4, &hf_h245_none           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
8299
  { 0, NULL, 0, NULL }
8300
};
8301
8302
static unsigned
8303
1
dissect_h245_OLC_forw_multiplexParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8304
1
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8305
1
                                 ett_h245_OLC_forw_multiplexParameters, OLC_forw_multiplexParameters_choice,
8306
1
                                 NULL);
8307
8308
1
  return offset;
8309
1
}
8310
8311
8312
static const per_sequence_t T_forwardLogicalChannelParameters_sequence[] = {
8313
  { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
8314
  { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8315
  { &hf_h245_olc_forw_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_forw_multiplexParameters },
8316
  { &hf_h245_forwardLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8317
  { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8318
  { NULL, 0, 0, NULL }
8319
};
8320
8321
static unsigned
8322
2
dissect_h245_T_forwardLogicalChannelParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8323
8324
2
  upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
8325
8326
2
  h245_lc_dissector = NULL;
8327
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8328
2
                                   ett_h245_T_forwardLogicalChannelParameters, T_forwardLogicalChannelParameters_sequence);
8329
8330
2
  if(h223_lc_params_temp && h245_lc_dissector)
8331
0
  h223_lc_params_temp->subdissector = h245_lc_dissector;
8332
2
  else if(h223_lc_params_temp)
8333
0
  h223_lc_params_temp->subdissector = data_handle;
8334
8335
2
  if (upcoming_channel && codec_type) {
8336
0
    (void) g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8337
0
  }
8338
2
  upcoming_channel = NULL;
8339
8340
2
  return offset;
8341
2
}
8342
8343
8344
8345
static unsigned
8346
0
dissect_h245_OLC_rev_h223_params(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8347
0
  h223_rev_lc_params = wmem_new(wmem_file_scope(), h223_lc_params);
8348
0
  h223_rev_lc_params->al_type = al_nonStandard;
8349
0
  h223_rev_lc_params->al_params = NULL;
8350
0
  h223_rev_lc_params->segmentable = 0;
8351
0
  h223_rev_lc_params->subdissector = NULL;
8352
0
  h223_lc_params_temp = h223_rev_lc_params;
8353
0
  offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
8354
8355
0
  return offset;
8356
0
}
8357
8358
8359
static const value_string h245_OLC_rev_multiplexParameters_vals[] = {
8360
  {   0, "h223LogicalChannelParameters" },
8361
  {   1, "v76LogicalChannelParameters" },
8362
  {   2, "h2250LogicalChannelParameters" },
8363
  { 0, NULL }
8364
};
8365
8366
static const per_choice_t OLC_rev_multiplexParameters_choice[] = {
8367
  {   0, &hf_h245_olc_rev_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_rev_h223_params },
8368
  {   1, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8369
  {   2, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8370
  { 0, NULL, 0, NULL }
8371
};
8372
8373
static unsigned
8374
0
dissect_h245_OLC_rev_multiplexParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8375
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8376
0
                                 ett_h245_OLC_rev_multiplexParameters, OLC_rev_multiplexParameters_choice,
8377
0
                                 NULL);
8378
8379
0
  return offset;
8380
0
}
8381
8382
8383
static const per_sequence_t OLC_reverseLogicalChannelParameters_sequence[] = {
8384
  { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8385
  { &hf_h245_olc_rev_multiplexParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_rev_multiplexParameters },
8386
  { &hf_h245_reverseLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8387
  { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8388
  { NULL, 0, 0, NULL }
8389
};
8390
8391
static unsigned
8392
0
dissect_h245_OLC_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8393
8394
0
  upcoming_channel = (upcoming_olc) ? &upcoming_olc->rev_lc : NULL;
8395
8396
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8397
0
                                   ett_h245_OLC_reverseLogicalChannelParameters, OLC_reverseLogicalChannelParameters_sequence);
8398
8399
8400
0
  if (upcoming_channel && codec_type) {
8401
0
    (void) g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8402
0
  }
8403
0
  upcoming_channel = NULL;
8404
8405
0
  return offset;
8406
0
}
8407
8408
8409
static const value_string h245_T_distribution_vals[] = {
8410
  {   0, "unicast" },
8411
  {   1, "multicast" },
8412
  { 0, NULL }
8413
};
8414
8415
static const per_choice_t T_distribution_choice[] = {
8416
  {   0, &hf_h245_unicast        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8417
  {   1, &hf_h245_multicast      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8418
  { 0, NULL, 0, NULL }
8419
};
8420
8421
static unsigned
8422
0
dissect_h245_T_distribution(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8423
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8424
0
                                 ett_h245_T_distribution, T_distribution_choice,
8425
0
                                 NULL);
8426
8427
0
  return offset;
8428
0
}
8429
8430
8431
8432
static unsigned
8433
0
dissect_h245_T_e164Address(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8434
0
  offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
8435
0
                                                      1, 128, false, "0123456789#*,", 13,
8436
0
                                                      NULL);
8437
8438
0
  return offset;
8439
0
}
8440
8441
8442
static const value_string h245_T_networkAddress_vals[] = {
8443
  {   0, "q2931Address" },
8444
  {   1, "e164Address" },
8445
  {   2, "localAreaAddress" },
8446
  { 0, NULL }
8447
};
8448
8449
static const per_choice_t T_networkAddress_choice[] = {
8450
  {   0, &hf_h245_q2931Address   , ASN1_EXTENSION_ROOT    , dissect_h245_Q2931Address },
8451
  {   1, &hf_h245_e164Address    , ASN1_EXTENSION_ROOT    , dissect_h245_T_e164Address },
8452
  {   2, &hf_h245_localAreaAddress, ASN1_EXTENSION_ROOT    , dissect_h245_TransportAddress },
8453
  { 0, NULL, 0, NULL }
8454
};
8455
8456
static unsigned
8457
0
dissect_h245_T_networkAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8458
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8459
0
                                 ett_h245_T_networkAddress, T_networkAddress_choice,
8460
0
                                 NULL);
8461
8462
0
  return offset;
8463
0
}
8464
8465
8466
8467
static unsigned
8468
0
dissect_h245_OCTET_STRING_SIZE_1_255(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8469
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8470
0
                                       1, 255, false, NULL);
8471
8472
0
  return offset;
8473
0
}
8474
8475
8476
static const value_string h245_T_t120SetupProcedure_vals[] = {
8477
  {   0, "originateCall" },
8478
  {   1, "waitForCall" },
8479
  {   2, "issueQuery" },
8480
  { 0, NULL }
8481
};
8482
8483
static const per_choice_t T_t120SetupProcedure_choice[] = {
8484
  {   0, &hf_h245_originateCall  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8485
  {   1, &hf_h245_waitForCall    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8486
  {   2, &hf_h245_issueQuery     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8487
  { 0, NULL, 0, NULL }
8488
};
8489
8490
static unsigned
8491
0
dissect_h245_T_t120SetupProcedure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8492
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8493
0
                                 ett_h245_T_t120SetupProcedure, T_t120SetupProcedure_choice,
8494
0
                                 NULL);
8495
8496
0
  return offset;
8497
0
}
8498
8499
8500
static const per_sequence_t NetworkAccessParameters_sequence[] = {
8501
  { &hf_h245_distribution   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_distribution },
8502
  { &hf_h245_networkAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_networkAddress },
8503
  { &hf_h245_associateConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
8504
  { &hf_h245_externalReference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_255 },
8505
  { &hf_h245_t120SetupProcedure, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_t120SetupProcedure },
8506
  { NULL, 0, 0, NULL }
8507
};
8508
8509
static unsigned
8510
0
dissect_h245_NetworkAccessParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8511
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8512
0
                                   ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
8513
8514
0
  return offset;
8515
0
}
8516
8517
8518
8519
static unsigned
8520
0
dissect_h245_OCTET_STRING_SIZE_1_65535(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8521
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8522
0
                                       1, 65535, false, NULL);
8523
8524
0
  return offset;
8525
0
}
8526
8527
8528
8529
static unsigned
8530
0
dissect_h245_BIT_STRING_SIZE_1_65535(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8531
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8532
0
                                     1, 65535, false, NULL, 0, NULL, NULL);
8533
8534
0
  return offset;
8535
0
}
8536
8537
8538
static const per_sequence_t EscrowData_sequence[] = {
8539
  { &hf_h245_escrowID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
8540
  { &hf_h245_escrowValue    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BIT_STRING_SIZE_1_65535 },
8541
  { NULL, 0, 0, NULL }
8542
};
8543
8544
static unsigned
8545
0
dissect_h245_EscrowData(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8546
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8547
0
                                   ett_h245_EscrowData, EscrowData_sequence);
8548
8549
0
  return offset;
8550
0
}
8551
8552
8553
static const per_sequence_t SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of[1] = {
8554
  { &hf_h245_escrowentry_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EscrowData },
8555
};
8556
8557
static unsigned
8558
0
dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8559
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8560
0
                                                  ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData, SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of,
8561
0
                                                  1, 256, false);
8562
8563
0
  return offset;
8564
0
}
8565
8566
8567
static const per_sequence_t EncryptionSync_sequence[] = {
8568
  { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
8569
  { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8570
  { &hf_h245_h235Key        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
8571
  { &hf_h245_escrowentry    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData },
8572
  { &hf_h245_genericParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericParameter },
8573
  { NULL, 0, 0, NULL }
8574
};
8575
8576
static unsigned
8577
0
dissect_h245_EncryptionSync(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8578
0
  void *priv_data = actx->private_data;
8579
0
  actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "EncryptionSync");
8580
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8581
0
                                   ett_h245_EncryptionSync, EncryptionSync_sequence);
8582
8583
0
  actx->private_data = priv_data;
8584
0
  return offset;
8585
0
}
8586
8587
8588
static const per_sequence_t OpenLogicalChannel_sequence[] = {
8589
  { &hf_h245_olc_fw_lcn     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_fw_lcn },
8590
  { &hf_h245_forwardLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_forwardLogicalChannelParameters },
8591
  { &hf_h245_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_reverseLogicalChannelParameters },
8592
  { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
8593
  { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
8594
  { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
8595
  { NULL, 0, 0, NULL }
8596
};
8597
8598
unsigned
8599
2
dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8600
2
  int32_t temp;
8601
8602
2
  upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(wmem_file_scope(), olc_info_t) : NULL;
8603
8604
2
  h223_fw_lc_num = 0;
8605
2
  h223_lc_params_temp = NULL;
8606
8607
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8608
2
                                   ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
8609
8610
8611
2
  if(h223_fw_lc_num != 0 && h223_fw_lc_params) {
8612
0
  h223_pending_olc *pending = wmem_new(wmem_file_scope(), h223_pending_olc);
8613
0
  pending->fw_channel_params = h223_fw_lc_params;
8614
0
  pending->rev_channel_params = h223_rev_lc_params;
8615
0
  temp = h223_fw_lc_num;
8616
0
  if (actx->pinfo->p2p_dir > -1)
8617
0
    wmem_map_insert(h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp), pending);
8618
0
  }
8619
8620
2
  if (upcoming_olc) {
8621
0
    if (fast_start) {
8622
0
      h245_setup_channels(actx->pinfo, &upcoming_olc->rev_lc);
8623
0
    } else {
8624
0
      wmem_map_insert(h245_pending_olc_reqs,
8625
0
        wmem_strdup(wmem_file_scope(), gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->dst, &actx->pinfo->src, actx->pinfo->pool)),
8626
0
        upcoming_olc);
8627
0
    }
8628
0
  }
8629
2
  upcoming_olc = NULL;
8630
8631
2
  if (h245_pi != NULL)
8632
0
    h245_pi->msg_type = H245_OpenLogChn;
8633
8634
2
  return offset;
8635
2
}
8636
8637
8638
static const value_string h245_T_cLC_source_vals[] = {
8639
  {   0, "user" },
8640
  {   1, "lcse" },
8641
  { 0, NULL }
8642
};
8643
8644
static const per_choice_t T_cLC_source_choice[] = {
8645
  {   0, &hf_h245_user           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8646
  {   1, &hf_h245_lcse           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8647
  { 0, NULL, 0, NULL }
8648
};
8649
8650
static unsigned
8651
0
dissect_h245_T_cLC_source(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8652
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8653
0
                                 ett_h245_T_cLC_source, T_cLC_source_choice,
8654
0
                                 NULL);
8655
8656
0
  return offset;
8657
0
}
8658
8659
8660
static const value_string h245_Clc_reason_vals[] = {
8661
  {   0, "unknown" },
8662
  {   1, "reopen" },
8663
  {   2, "reservationFailure" },
8664
  {   3, "networkErrorCode" },
8665
  { 0, NULL }
8666
};
8667
8668
static const per_choice_t Clc_reason_choice[] = {
8669
  {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8670
  {   1, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8671
  {   2, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8672
  {   3, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8673
  { 0, NULL, 0, NULL }
8674
};
8675
8676
static unsigned
8677
0
dissect_h245_Clc_reason(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8678
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8679
0
                                 ett_h245_Clc_reason, Clc_reason_choice,
8680
0
                                 NULL);
8681
8682
0
  return offset;
8683
0
}
8684
8685
8686
static const per_sequence_t CloseLogicalChannel_sequence[] = {
8687
  { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8688
  { &hf_h245_cLC_source     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_cLC_source },
8689
  { &hf_h245_clc_reason     , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Clc_reason },
8690
  { NULL, 0, 0, NULL }
8691
};
8692
8693
static unsigned
8694
0
dissect_h245_CloseLogicalChannel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8695
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8696
0
                                   ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
8697
8698
8699
0
  if (h245_pi != NULL)
8700
0
    h245_pi->msg_type = H245_CloseLogChn;
8701
0
  return offset;
8702
0
}
8703
8704
8705
static const value_string h245_T_reason_vals[] = {
8706
  {   0, "unknown" },
8707
  {   1, "normal" },
8708
  {   2, "reopen" },
8709
  {   3, "reservationFailure" },
8710
  {   4, "networkErrorCode" },
8711
  { 0, NULL }
8712
};
8713
8714
static const per_choice_t T_reason_choice[] = {
8715
  {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8716
  {   1, &hf_h245_normal         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8717
  {   2, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8718
  {   3, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8719
  {   4, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8720
  { 0, NULL, 0, NULL }
8721
};
8722
8723
static unsigned
8724
0
dissect_h245_T_reason(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8725
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8726
0
                                 ett_h245_T_reason, T_reason_choice,
8727
0
                                 NULL);
8728
8729
0
  return offset;
8730
0
}
8731
8732
8733
static const per_sequence_t RequestChannelClose_sequence[] = {
8734
  { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8735
  { &hf_h245_qosCapability  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSCapability },
8736
  { &hf_h245_reason         , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_reason },
8737
  { NULL, 0, 0, NULL }
8738
};
8739
8740
static unsigned
8741
0
dissect_h245_RequestChannelClose(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8742
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8743
0
                                   ett_h245_RequestChannelClose, RequestChannelClose_sequence);
8744
8745
0
  return offset;
8746
0
}
8747
8748
8749
8750
static unsigned
8751
0
dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8752
0
  uint32_t value;
8753
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8754
0
                                                            1U, 15U, &value, false);
8755
8756
0
  h223_mc = value & 0xf;
8757
8758
0
  return offset;
8759
0
}
8760
8761
8762
8763
static unsigned
8764
0
dissect_h245_T_logicalChannelNum(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8765
  /*MultiplexElement/type/logicalChannelNumber*/
8766
0
  uint32_t value;
8767
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8768
0
                                                            0U, 65535U, &value, false);
8769
8770
0
  h223_me->sublist = NULL;
8771
0
  h223_me->vc = value & 0xffff;
8772
8773
0
  return offset;
8774
0
}
8775
8776
8777
static const per_sequence_t T_subElementList_sequence_of[1] = {
8778
  { &hf_h245_subElementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8779
};
8780
8781
static unsigned
8782
0
dissect_h245_T_subElementList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8783
0
  h223_mux_element dummy_me, *parent_me = h223_me;
8784
0
  memset (&dummy_me, 0, sizeof (h223_mux_element));
8785
0
  h223_me = &dummy_me;
8786
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8787
0
                                                  ett_h245_T_subElementList, T_subElementList_sequence_of,
8788
0
                                                  2, 255, false);
8789
8790
0
  parent_me->sublist = dummy_me.next;
8791
0
  h223_me = parent_me;
8792
0
  h223_me->vc = 0;
8793
8794
0
  return offset;
8795
0
}
8796
8797
8798
static const value_string h245_Me_type_vals[] = {
8799
  {   0, "logicalChannelNumber" },
8800
  {   1, "subElementList" },
8801
  { 0, NULL }
8802
};
8803
8804
static const per_choice_t Me_type_choice[] = {
8805
  {   0, &hf_h245_logicalChannelNum, ASN1_NO_EXTENSIONS     , dissect_h245_T_logicalChannelNum },
8806
  {   1, &hf_h245_subElementList , ASN1_NO_EXTENSIONS     , dissect_h245_T_subElementList },
8807
  { 0, NULL, 0, NULL }
8808
};
8809
8810
static unsigned
8811
0
dissect_h245_Me_type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8812
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8813
0
                                 ett_h245_Me_type, Me_type_choice,
8814
0
                                 NULL);
8815
8816
0
  return offset;
8817
0
}
8818
8819
8820
8821
static unsigned
8822
0
dissect_h245_ME_finiteRepeatCount(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8823
0
  uint32_t value;
8824
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8825
0
                                                            1U, 65535U, &value, false);
8826
8827
0
  h223_me->repeat_count = value & 0xffff;
8828
8829
0
  return offset;
8830
0
}
8831
8832
8833
8834
static unsigned
8835
0
dissect_h245_T_untilClosingFlag(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8836
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
8837
8838
0
  h223_me->repeat_count = 0;
8839
0
  return offset;
8840
0
}
8841
8842
8843
static const value_string h245_ME_repeatCount_vals[] = {
8844
  {   0, "finite" },
8845
  {   1, "untilClosingFlag" },
8846
  { 0, NULL }
8847
};
8848
8849
static const per_choice_t ME_repeatCount_choice[] = {
8850
  {   0, &hf_h245_me_repeatCount_finite, ASN1_NO_EXTENSIONS     , dissect_h245_ME_finiteRepeatCount },
8851
  {   1, &hf_h245_untilClosingFlag, ASN1_NO_EXTENSIONS     , dissect_h245_T_untilClosingFlag },
8852
  { 0, NULL, 0, NULL }
8853
};
8854
8855
static unsigned
8856
0
dissect_h245_ME_repeatCount(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8857
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8858
0
                                 ett_h245_ME_repeatCount, ME_repeatCount_choice,
8859
0
                                 NULL);
8860
8861
0
  return offset;
8862
0
}
8863
8864
8865
static const per_sequence_t MultiplexElement_sequence[] = {
8866
  { &hf_h245_me_type        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Me_type },
8867
  { &hf_h245_me_repeatCount , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ME_repeatCount },
8868
  { NULL, 0, 0, NULL }
8869
};
8870
8871
static unsigned
8872
0
dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8873
  // MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement
8874
0
  actx->pinfo->dissection_depth += 3;
8875
0
  increment_dissection_depth(actx->pinfo);
8876
  /*MultiplexElement*/
8877
0
  h223_mux_element* me = wmem_new(wmem_file_scope(), h223_mux_element);
8878
0
  h223_me->next = me;
8879
0
  h223_me = me;
8880
0
  h223_me->next = NULL;
8881
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8882
0
                                   ett_h245_MultiplexElement, MultiplexElement_sequence);
8883
8884
0
  actx->pinfo->dissection_depth -= 3;
8885
0
  decrement_dissection_depth(actx->pinfo);
8886
0
  return offset;
8887
0
}
8888
8889
8890
static const per_sequence_t T_elementList_sequence_of[1] = {
8891
  { &hf_h245_elementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8892
};
8893
8894
static unsigned
8895
0
dissect_h245_T_elementList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8896
  /* create a h223_mux_element to hold onto the head of the list, since
8897
   * h223_me will track the tail */
8898
0
  h223_mux_element dummy_me;
8899
0
  memset (&dummy_me, 0, sizeof (h223_mux_element));
8900
0
  h223_me = &dummy_me;
8901
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8902
0
                                                  ett_h245_T_elementList, T_elementList_sequence_of,
8903
0
                                                  1, 256, false);
8904
8905
  /* set h223_me to the head of the list for MEDescriptor to pick up */
8906
0
  h223_me = dummy_me.next;
8907
8908
0
  return offset;
8909
0
}
8910
8911
8912
static const per_sequence_t MultiplexEntryDescriptor_sequence[] = {
8913
  { &hf_h245_multiplexTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
8914
  { &hf_h245_elementList    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_T_elementList },
8915
  { NULL, 0, 0, NULL }
8916
};
8917
8918
static unsigned
8919
0
dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8920
  /*MultiplexEntryDescriptor*/
8921
0
  h223_me = NULL;
8922
0
  h223_mc = 0;
8923
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8924
0
                                   ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
8925
8926
0
  if(h223_set_mc_handle)
8927
0
    (*h223_set_mc_handle)(actx->pinfo, h223_mc, h223_me);
8928
 /* stuff */
8929
8930
0
  return offset;
8931
0
}
8932
8933
8934
static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of[1] = {
8935
  { &hf_h245_multiplexEntryDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryDescriptor },
8936
};
8937
8938
static unsigned
8939
0
dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8940
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
8941
0
                                             ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor, SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of,
8942
0
                                             1, 15, false);
8943
8944
0
  return offset;
8945
0
}
8946
8947
8948
static const per_sequence_t MultiplexEntrySend_sequence[] = {
8949
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
8950
  { &hf_h245_multiplexEntryDescriptors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor },
8951
  { NULL, 0, 0, NULL }
8952
};
8953
8954
static unsigned
8955
0
dissect_h245_MultiplexEntrySend(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8956
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8957
0
                                   ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
8958
8959
0
  return offset;
8960
0
}
8961
8962
8963
static const per_sequence_t SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of[1] = {
8964
  { &hf_h245_multiplexTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
8965
};
8966
8967
static unsigned
8968
0
dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8969
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
8970
0
                                             ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber, SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of,
8971
0
                                             1, 15, false);
8972
8973
0
  return offset;
8974
0
}
8975
8976
8977
static const per_sequence_t RequestMultiplexEntry_sequence[] = {
8978
  { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
8979
  { NULL, 0, 0, NULL }
8980
};
8981
8982
static unsigned
8983
0
dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8984
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8985
0
                                   ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
8986
8987
0
  return offset;
8988
0
}
8989
8990
8991
static const value_string h245_H261Resolution_vals[] = {
8992
  {   0, "qcif" },
8993
  {   1, "cif" },
8994
  { 0, NULL }
8995
};
8996
8997
static const per_choice_t H261Resolution_choice[] = {
8998
  {   0, &hf_h245_qcif           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8999
  {   1, &hf_h245_cif            , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9000
  { 0, NULL, 0, NULL }
9001
};
9002
9003
static unsigned
9004
0
dissect_h245_H261Resolution(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9005
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9006
0
                                 ett_h245_H261Resolution, H261Resolution_choice,
9007
0
                                 NULL);
9008
9009
0
  return offset;
9010
0
}
9011
9012
9013
static const per_sequence_t H261VideoMode_sequence[] = {
9014
  { &hf_h245_h261_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H261Resolution },
9015
  { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9016
  { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9017
  { NULL, 0, 0, NULL }
9018
};
9019
9020
static unsigned
9021
0
dissect_h245_H261VideoMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9022
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9023
0
                                   ett_h245_H261VideoMode, H261VideoMode_sequence);
9024
9025
0
  return offset;
9026
0
}
9027
9028
9029
static const value_string h245_T_profileAndLevel_vals[] = {
9030
  {   0, "profileAndLevel-SPatML" },
9031
  {   1, "profileAndLevel-MPatLL" },
9032
  {   2, "profileAndLevel-MPatML" },
9033
  {   3, "profileAndLevel-MPatH-14" },
9034
  {   4, "profileAndLevel-MPatHL" },
9035
  {   5, "profileAndLevel-SNRatLL" },
9036
  {   6, "profileAndLevel-SNRatML" },
9037
  {   7, "profileAndLevel-SpatialatH-14" },
9038
  {   8, "profileAndLevel-HPatML" },
9039
  {   9, "profileAndLevel-HPatH-14" },
9040
  {  10, "profileAndLevel-HPatHL" },
9041
  { 0, NULL }
9042
};
9043
9044
static const per_choice_t T_profileAndLevel_choice[] = {
9045
  {   0, &hf_h245_profileAndLevel_SPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9046
  {   1, &hf_h245_profileAndLevel_MPatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9047
  {   2, &hf_h245_profileAndLevel_MPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9048
  {   3, &hf_h245_profileAndLevel_MPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9049
  {   4, &hf_h245_profileAndLevel_MPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9050
  {   5, &hf_h245_profileAndLevel_SNRatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9051
  {   6, &hf_h245_profileAndLevel_SNRatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9052
  {   7, &hf_h245_profileAndLevel_SpatialatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9053
  {   8, &hf_h245_profileAndLevel_HPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9054
  {   9, &hf_h245_profileAndLevel_HPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9055
  {  10, &hf_h245_profileAndLevel_HPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9056
  { 0, NULL, 0, NULL }
9057
};
9058
9059
static unsigned
9060
0
dissect_h245_T_profileAndLevel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9061
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9062
0
                                 ett_h245_T_profileAndLevel, T_profileAndLevel_choice,
9063
0
                                 NULL);
9064
9065
0
  return offset;
9066
0
}
9067
9068
9069
static const per_sequence_t H262VideoMode_sequence[] = {
9070
  { &hf_h245_profileAndLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_profileAndLevel },
9071
  { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9072
  { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9073
  { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9074
  { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9075
  { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9076
  { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9077
  { NULL, 0, 0, NULL }
9078
};
9079
9080
static unsigned
9081
0
dissect_h245_H262VideoMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9082
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9083
0
                                   ett_h245_H262VideoMode, H262VideoMode_sequence);
9084
9085
0
  return offset;
9086
0
}
9087
9088
9089
static const value_string h245_H263Resolution_vals[] = {
9090
  {   0, "sqcif" },
9091
  {   1, "qcif" },
9092
  {   2, "cif" },
9093
  {   3, "cif4" },
9094
  {   4, "cif16" },
9095
  {   5, "custom" },
9096
  { 0, NULL }
9097
};
9098
9099
static const per_choice_t H263Resolution_choice[] = {
9100
  {   0, &hf_h245_sqcif          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9101
  {   1, &hf_h245_qcif           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9102
  {   2, &hf_h245_cif            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9103
  {   3, &hf_h245_cif4           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9104
  {   4, &hf_h245_cif16          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9105
  {   5, &hf_h245_custom_res     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
9106
  { 0, NULL, 0, NULL }
9107
};
9108
9109
static unsigned
9110
0
dissect_h245_H263Resolution(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9111
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9112
0
                                 ett_h245_H263Resolution, H263Resolution_choice,
9113
0
                                 NULL);
9114
9115
0
  return offset;
9116
0
}
9117
9118
9119
static const per_sequence_t H263VideoMode_sequence[] = {
9120
  { &hf_h245_h263_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263Resolution },
9121
  { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9122
  { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9123
  { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9124
  { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9125
  { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9126
  { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9127
  { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
9128
  { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
9129
  { NULL, 0, 0, NULL }
9130
};
9131
9132
static unsigned
9133
0
dissect_h245_H263VideoMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9134
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9135
0
                                   ett_h245_H263VideoMode, H263VideoMode_sequence);
9136
9137
0
  return offset;
9138
0
}
9139
9140
9141
static const per_sequence_t IS11172VideoMode_sequence[] = {
9142
  { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9143
  { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9144
  { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9145
  { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9146
  { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9147
  { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9148
  { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9149
  { NULL, 0, 0, NULL }
9150
};
9151
9152
static unsigned
9153
0
dissect_h245_IS11172VideoMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9154
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9155
0
                                   ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9156
9157
0
  return offset;
9158
0
}
9159
9160
9161
static const value_string h245_VideoMode_vals[] = {
9162
  {   0, "nonStandard" },
9163
  {   1, "h261VideoMode" },
9164
  {   2, "h262VideoMode" },
9165
  {   3, "h263VideoMode" },
9166
  {   4, "is11172VideoMode" },
9167
  {   5, "genericVideoMode" },
9168
  { 0, NULL }
9169
};
9170
9171
static const per_choice_t VideoMode_choice[] = {
9172
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9173
  {   1, &hf_h245_h261VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoMode },
9174
  {   2, &hf_h245_h262VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoMode },
9175
  {   3, &hf_h245_h263VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoMode },
9176
  {   4, &hf_h245_is11172VideoMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoMode },
9177
  {   5, &hf_h245_genericVideoMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9178
  { 0, NULL, 0, NULL }
9179
};
9180
9181
static unsigned
9182
0
dissect_h245_VideoMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9183
0
  int32_t value;
9184
9185
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9186
0
                                 ett_h245_VideoMode, VideoMode_choice,
9187
0
                                 &value);
9188
9189
0
  codec_type = val_to_str_const(value, h245_VideoMode_vals, "<unknown>");
9190
9191
0
  return offset;
9192
0
}
9193
9194
9195
static const value_string h245_Mode_g7231_vals[] = {
9196
  {   0, "noSilenceSuppressionLowRate" },
9197
  {   1, "noSilenceSuppressionHighRate" },
9198
  {   2, "silenceSuppressionLowRate" },
9199
  {   3, "silenceSuppressionHighRate" },
9200
  { 0, NULL }
9201
};
9202
9203
static const per_choice_t Mode_g7231_choice[] = {
9204
  {   0, &hf_h245_noSilenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9205
  {   1, &hf_h245_noSilenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9206
  {   2, &hf_h245_silenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9207
  {   3, &hf_h245_silenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9208
  { 0, NULL, 0, NULL }
9209
};
9210
9211
static unsigned
9212
0
dissect_h245_Mode_g7231(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9213
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9214
0
                                 ett_h245_Mode_g7231, Mode_g7231_choice,
9215
0
                                 NULL);
9216
9217
0
  return offset;
9218
0
}
9219
9220
9221
static const value_string h245_T_audioLayer_vals[] = {
9222
  {   0, "audioLayer1" },
9223
  {   1, "audioLayer2" },
9224
  {   2, "audioLayer3" },
9225
  { 0, NULL }
9226
};
9227
9228
static const per_choice_t T_audioLayer_choice[] = {
9229
  {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9230
  {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9231
  {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9232
  { 0, NULL, 0, NULL }
9233
};
9234
9235
static unsigned
9236
0
dissect_h245_T_audioLayer(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9237
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9238
0
                                 ett_h245_T_audioLayer, T_audioLayer_choice,
9239
0
                                 NULL);
9240
9241
0
  return offset;
9242
0
}
9243
9244
9245
static const value_string h245_T_audioSampling_vals[] = {
9246
  {   0, "audioSampling32k" },
9247
  {   1, "audioSampling44k1" },
9248
  {   2, "audioSampling48k" },
9249
  { 0, NULL }
9250
};
9251
9252
static const per_choice_t T_audioSampling_choice[] = {
9253
  {   0, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9254
  {   1, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9255
  {   2, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9256
  { 0, NULL, 0, NULL }
9257
};
9258
9259
static unsigned
9260
0
dissect_h245_T_audioSampling(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9261
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9262
0
                                 ett_h245_T_audioSampling, T_audioSampling_choice,
9263
0
                                 NULL);
9264
9265
0
  return offset;
9266
0
}
9267
9268
9269
static const value_string h245_IS11172_multichannelType_vals[] = {
9270
  {   0, "singleChannel" },
9271
  {   1, "twoChannelStereo" },
9272
  {   2, "twoChannelDual" },
9273
  { 0, NULL }
9274
};
9275
9276
static const per_choice_t IS11172_multichannelType_choice[] = {
9277
  {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9278
  {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9279
  {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9280
  { 0, NULL, 0, NULL }
9281
};
9282
9283
static unsigned
9284
0
dissect_h245_IS11172_multichannelType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9285
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9286
0
                                 ett_h245_IS11172_multichannelType, IS11172_multichannelType_choice,
9287
0
                                 NULL);
9288
9289
0
  return offset;
9290
0
}
9291
9292
9293
static const per_sequence_t IS11172AudioMode_sequence[] = {
9294
  { &hf_h245_audioLayer     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioLayer },
9295
  { &hf_h245_audioSampling  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioSampling },
9296
  { &hf_h245_is11172multichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS11172_multichannelType },
9297
  { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
9298
  { NULL, 0, 0, NULL }
9299
};
9300
9301
static unsigned
9302
0
dissect_h245_IS11172AudioMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9303
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9304
0
                                   ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
9305
9306
0
  return offset;
9307
0
}
9308
9309
9310
static const value_string h245_IS13818AudioLayer_vals[] = {
9311
  {   0, "audioLayer1" },
9312
  {   1, "audioLayer2" },
9313
  {   2, "audioLayer3" },
9314
  { 0, NULL }
9315
};
9316
9317
static const per_choice_t IS13818AudioLayer_choice[] = {
9318
  {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9319
  {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9320
  {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9321
  { 0, NULL, 0, NULL }
9322
};
9323
9324
static unsigned
9325
0
dissect_h245_IS13818AudioLayer(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9326
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9327
0
                                 ett_h245_IS13818AudioLayer, IS13818AudioLayer_choice,
9328
0
                                 NULL);
9329
9330
0
  return offset;
9331
0
}
9332
9333
9334
static const value_string h245_IS13818AudioSampling_vals[] = {
9335
  {   0, "audioSampling16k" },
9336
  {   1, "audioSampling22k05" },
9337
  {   2, "audioSampling24k" },
9338
  {   3, "audioSampling32k" },
9339
  {   4, "audioSampling44k1" },
9340
  {   5, "audioSampling48k" },
9341
  { 0, NULL }
9342
};
9343
9344
static const per_choice_t IS13818AudioSampling_choice[] = {
9345
  {   0, &hf_h245_audioSampling16kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9346
  {   1, &hf_h245_audioSampling22k05Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9347
  {   2, &hf_h245_audioSampling24kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9348
  {   3, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9349
  {   4, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9350
  {   5, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9351
  { 0, NULL, 0, NULL }
9352
};
9353
9354
static unsigned
9355
0
dissect_h245_IS13818AudioSampling(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9356
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9357
0
                                 ett_h245_IS13818AudioSampling, IS13818AudioSampling_choice,
9358
0
                                 NULL);
9359
9360
0
  return offset;
9361
0
}
9362
9363
9364
static const value_string h245_IS13818MultichannelType_vals[] = {
9365
  {   0, "singleChannel" },
9366
  {   1, "twoChannelStereo" },
9367
  {   2, "twoChannelDual" },
9368
  {   3, "threeChannels2-1" },
9369
  {   4, "threeChannels3-0" },
9370
  {   5, "fourChannels2-0-2-0" },
9371
  {   6, "fourChannels2-2" },
9372
  {   7, "fourChannels3-1" },
9373
  {   8, "fiveChannels3-0-2-0" },
9374
  {   9, "fiveChannels3-2" },
9375
  { 0, NULL }
9376
};
9377
9378
static const per_choice_t IS13818MultichannelType_choice[] = {
9379
  {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9380
  {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9381
  {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9382
  {   3, &hf_h245_threeChannels2_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9383
  {   4, &hf_h245_threeChannels3_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9384
  {   5, &hf_h245_fourChannels2_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9385
  {   6, &hf_h245_fourChannels2_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9386
  {   7, &hf_h245_fourChannels3_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9387
  {   8, &hf_h245_fiveChannels3_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9388
  {   9, &hf_h245_fiveChannels3_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9389
  { 0, NULL, 0, NULL }
9390
};
9391
9392
static unsigned
9393
0
dissect_h245_IS13818MultichannelType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9394
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9395
0
                                 ett_h245_IS13818MultichannelType, IS13818MultichannelType_choice,
9396
0
                                 NULL);
9397
9398
0
  return offset;
9399
0
}
9400
9401
9402
static const per_sequence_t IS13818AudioMode_sequence[] = {
9403
  { &hf_h245_audioLayerMode , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioLayer },
9404
  { &hf_h245_audioSamplingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioSampling },
9405
  { &hf_h245_is13818MultichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818MultichannelType },
9406
  { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9407
  { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9408
  { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
9409
  { NULL, 0, 0, NULL }
9410
};
9411
9412
static unsigned
9413
0
dissect_h245_IS13818AudioMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9414
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9415
0
                                   ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
9416
9417
0
  return offset;
9418
0
}
9419
9420
9421
static const per_sequence_t G7231AnnexCMode_sequence[] = {
9422
  { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
9423
  { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9424
  { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_G723AnnexCAudioMode },
9425
  { NULL, 0, 0, NULL }
9426
};
9427
9428
static unsigned
9429
0
dissect_h245_G7231AnnexCMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9430
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9431
0
                                   ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9432
9433
0
  return offset;
9434
0
}
9435
9436
9437
static const per_sequence_t VBDMode_sequence[] = {
9438
  { &hf_h245_vbd_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioMode },
9439
  { NULL, 0, 0, NULL }
9440
};
9441
9442
static unsigned
9443
0
dissect_h245_VBDMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9444
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9445
0
                                   ett_h245_VBDMode, VBDMode_sequence);
9446
9447
0
  return offset;
9448
0
}
9449
9450
9451
static const value_string h245_AudioMode_vals[] = {
9452
  {   0, "nonStandard" },
9453
  {   1, "g711Alaw64k" },
9454
  {   2, "g711Alaw56k" },
9455
  {   3, "g711Ulaw64k" },
9456
  {   4, "g711Ulaw56k" },
9457
  {   5, "g722-64k" },
9458
  {   6, "g722-56k" },
9459
  {   7, "g722-48k" },
9460
  {   8, "g728" },
9461
  {   9, "g729" },
9462
  {  10, "g729AnnexA" },
9463
  {  11, "g7231" },
9464
  {  12, "is11172AudioMode" },
9465
  {  13, "is13818AudioMode" },
9466
  {  14, "g729wAnnexB" },
9467
  {  15, "g729AnnexAwAnnexB" },
9468
  {  16, "g7231AnnexCMode" },
9469
  {  17, "gsmFullRate" },
9470
  {  18, "gsmHalfRate" },
9471
  {  19, "gsmEnhancedFullRate" },
9472
  {  20, "genericAudioMode" },
9473
  {  21, "g729Extensions" },
9474
  {  22, "vbd" },
9475
  { 0, NULL }
9476
};
9477
9478
static const per_choice_t AudioMode_choice[] = {
9479
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9480
  {   1, &hf_h245_g711Alaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9481
  {   2, &hf_h245_g711Alaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9482
  {   3, &hf_h245_g711Ulaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9483
  {   4, &hf_h245_g711Ulaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9484
  {   5, &hf_h245_g722_64k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9485
  {   6, &hf_h245_g722_56k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9486
  {   7, &hf_h245_g722_48k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9487
  {   8, &hf_h245_g728_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9488
  {   9, &hf_h245_g729_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9489
  {  10, &hf_h245_g729AnnexA_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9490
  {  11, &hf_h245_g7231_mode     , ASN1_EXTENSION_ROOT    , dissect_h245_Mode_g7231 },
9491
  {  12, &hf_h245_is11172AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioMode },
9492
  {  13, &hf_h245_is13818AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioMode },
9493
  {  14, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9494
  {  15, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9495
  {  16, &hf_h245_g7231AnnexCMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCMode },
9496
  {  17, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9497
  {  18, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9498
  {  19, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9499
  {  20, &hf_h245_genericAudioMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9500
  {  21, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
9501
  {  22, &hf_h245_vbd_mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDMode },
9502
  { 0, NULL, 0, NULL }
9503
};
9504
9505
static unsigned
9506
0
dissect_h245_AudioMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9507
  // AudioMode -> VBDMode -> AudioMode
9508
0
  actx->pinfo->dissection_depth += 2;
9509
0
  increment_dissection_depth(actx->pinfo);
9510
0
  int32_t value;
9511
9512
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9513
0
                                 ett_h245_AudioMode, AudioMode_choice,
9514
0
                                 &value);
9515
9516
0
  codec_type = val_to_str_const(value, h245_AudioMode_vals, "<unknown>");
9517
9518
0
  actx->pinfo->dissection_depth -= 2;
9519
0
  decrement_dissection_depth(actx->pinfo);
9520
0
  return offset;
9521
0
}
9522
9523
9524
static const per_sequence_t T38faxApp_sequence[] = {
9525
  { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
9526
  { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
9527
  { NULL, 0, 0, NULL }
9528
};
9529
9530
static unsigned
9531
0
dissect_h245_T38faxApp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9532
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9533
0
                                   ett_h245_T38faxApp, T38faxApp_sequence);
9534
9535
0
  return offset;
9536
0
}
9537
9538
9539
static const value_string h245_DataModeApplication_vals[] = {
9540
  {   0, "nonStandard" },
9541
  {   1, "t120" },
9542
  {   2, "dsm-cc" },
9543
  {   3, "userData" },
9544
  {   4, "t84" },
9545
  {   5, "t434" },
9546
  {   6, "h224" },
9547
  {   7, "nlpid" },
9548
  {   8, "dsvdControl" },
9549
  {   9, "h222DataPartitioning" },
9550
  {  10, "t30fax" },
9551
  {  11, "t140" },
9552
  {  12, "t38fax" },
9553
  {  13, "genericDataMode" },
9554
  { 0, NULL }
9555
};
9556
9557
static const per_choice_t DataModeApplication_choice[] = {
9558
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9559
  {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9560
  {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9561
  {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9562
  {   4, &hf_h245_t84DataProtocolCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9563
  {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9564
  {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9565
  {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
9566
  {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9567
  {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9568
  {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9569
  {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9570
  {  12, &hf_h245_t38faxDataProtocolCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T38faxApp },
9571
  {  13, &hf_h245_genericDataMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9572
  { 0, NULL, 0, NULL }
9573
};
9574
9575
static unsigned
9576
0
dissect_h245_DataModeApplication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9577
0
  int32_t value;
9578
9579
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9580
0
                                 ett_h245_DataModeApplication, DataModeApplication_choice,
9581
0
                                 &value);
9582
9583
0
  codec_type = val_to_str_const(value, h245_DataModeApplication_vals, "<unknown>");
9584
9585
0
  return offset;
9586
0
}
9587
9588
9589
static const per_sequence_t DataMode_sequence[] = {
9590
  { &hf_h245_datamodeapplication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataModeApplication },
9591
  { &hf_h245_bitRate_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
9592
  { NULL, 0, 0, NULL }
9593
};
9594
9595
static unsigned
9596
0
dissect_h245_DataMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9597
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9598
0
                                   ett_h245_DataMode, DataMode_sequence);
9599
9600
0
  return offset;
9601
0
}
9602
9603
9604
static const value_string h245_T_mediaMode_vals[] = {
9605
  {   0, "nonStandard" },
9606
  {   1, "videoMode" },
9607
  {   2, "audioMode" },
9608
  {   3, "dataMode" },
9609
  { 0, NULL }
9610
};
9611
9612
static const per_choice_t T_mediaMode_choice[] = {
9613
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9614
  {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9615
  {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9616
  {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9617
  { 0, NULL, 0, NULL }
9618
};
9619
9620
static unsigned
9621
0
dissect_h245_T_mediaMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9622
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9623
0
                                 ett_h245_T_mediaMode, T_mediaMode_choice,
9624
0
                                 NULL);
9625
9626
0
  return offset;
9627
0
}
9628
9629
9630
static const per_sequence_t H235Mode_sequence[] = {
9631
  { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
9632
  { &hf_h245_mediaMode      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaMode },
9633
  { NULL, 0, 0, NULL }
9634
};
9635
9636
static unsigned
9637
0
dissect_h245_H235Mode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9638
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9639
0
                                   ett_h245_H235Mode, H235Mode_sequence);
9640
9641
0
  return offset;
9642
0
}
9643
9644
9645
static const per_sequence_t FECMode_sequence[] = {
9646
  { &hf_h245_protectedElement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9647
  { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
9648
  { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
9649
  { NULL, 0, 0, NULL }
9650
};
9651
9652
static unsigned
9653
0
dissect_h245_FECMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9654
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9655
0
                                   ett_h245_FECMode, FECMode_sequence);
9656
9657
0
  return offset;
9658
0
}
9659
9660
9661
static const value_string h245_Re_type_vals[] = {
9662
  {   0, "nonStandard" },
9663
  {   1, "videoMode" },
9664
  {   2, "audioMode" },
9665
  {   3, "dataMode" },
9666
  {   4, "encryptionMode" },
9667
  {   5, "h235Mode" },
9668
  {   6, "fecMode" },
9669
  { 0, NULL }
9670
};
9671
9672
static const per_choice_t Re_type_choice[] = {
9673
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9674
  {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9675
  {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9676
  {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9677
  {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9678
  {   5, &hf_h245_h235Mode       , ASN1_EXTENSION_ROOT    , dissect_h245_H235Mode },
9679
  {   6, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9680
  { 0, NULL, 0, NULL }
9681
};
9682
9683
static unsigned
9684
0
dissect_h245_Re_type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9685
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9686
0
                                 ett_h245_Re_type, Re_type_choice,
9687
0
                                 NULL);
9688
9689
0
  return offset;
9690
0
}
9691
9692
9693
static const per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
9694
  { &hf_h245_re_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Re_type },
9695
  { NULL, 0, 0, NULL }
9696
};
9697
9698
static unsigned
9699
0
dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9700
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9701
0
                                   ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
9702
9703
0
  return offset;
9704
0
}
9705
9706
9707
static const per_sequence_t SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of[1] = {
9708
  { &hf_h245_secondaryDTM_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9709
};
9710
9711
static unsigned
9712
0
dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9713
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9714
0
                                      ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement, SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of);
9715
9716
0
  return offset;
9717
0
}
9718
9719
9720
static const per_sequence_t RedundancyEncodingDTMode_sequence[] = {
9721
  { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
9722
  { &hf_h245_prmary_dtmode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9723
  { &hf_h245_secondaryDTM   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement },
9724
  { NULL, 0, 0, NULL }
9725
};
9726
9727
static unsigned
9728
0
dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9729
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9730
0
                                   ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
9731
9732
0
  return offset;
9733
0
}
9734
9735
9736
static const per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
9737
  { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9738
  { NULL, 0, 0, NULL }
9739
};
9740
9741
static unsigned
9742
0
dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9743
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9744
0
                                   ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
9745
9746
0
  return offset;
9747
0
}
9748
9749
9750
static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of[1] = {
9751
  { &hf_h245_mpsmElements_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElementMode },
9752
};
9753
9754
static unsigned
9755
0
dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9756
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9757
0
                                      ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode, SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of);
9758
9759
0
  return offset;
9760
0
}
9761
9762
9763
static const per_sequence_t MultiplePayloadStreamMode_sequence[] = {
9764
  { &hf_h245_mpsmElements   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode },
9765
  { NULL, 0, 0, NULL }
9766
};
9767
9768
static unsigned
9769
0
dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9770
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9771
0
                                   ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
9772
9773
0
  return offset;
9774
0
}
9775
9776
9777
static const value_string h245_FEC_mode_vals[] = {
9778
  {   0, "redundancyEncoding" },
9779
  {   1, "separateStream" },
9780
  { 0, NULL }
9781
};
9782
9783
static const per_choice_t FEC_mode_choice[] = {
9784
  {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9785
  {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
9786
  { 0, NULL, 0, NULL }
9787
};
9788
9789
static unsigned
9790
0
dissect_h245_FEC_mode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9791
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9792
0
                                 ett_h245_FEC_mode, FEC_mode_choice,
9793
0
                                 NULL);
9794
9795
0
  return offset;
9796
0
}
9797
9798
9799
static const per_sequence_t T_rfc2733Mode_sequence[] = {
9800
  { &hf_h245_fec_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FEC_mode },
9801
  { NULL, 0, 0, NULL }
9802
};
9803
9804
static unsigned
9805
0
dissect_h245_T_rfc2733Mode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9806
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9807
0
                                   ett_h245_T_rfc2733Mode, T_rfc2733Mode_sequence);
9808
9809
0
  return offset;
9810
0
}
9811
9812
9813
static const value_string h245_DepFECMode_vals[] = {
9814
  {   0, "rfc2733Mode" },
9815
  { 0, NULL }
9816
};
9817
9818
static const per_choice_t DepFECMode_choice[] = {
9819
  {   0, &hf_h245_rfc2733Mode    , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733Mode },
9820
  { 0, NULL, 0, NULL }
9821
};
9822
9823
static unsigned
9824
0
dissect_h245_DepFECMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9825
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9826
0
                                 ett_h245_DepFECMode, DepFECMode_choice,
9827
0
                                 NULL);
9828
9829
0
  return offset;
9830
0
}
9831
9832
9833
static const value_string h245_ModeElementType_vals[] = {
9834
  {   0, "nonStandard" },
9835
  {   1, "videoMode" },
9836
  {   2, "audioMode" },
9837
  {   3, "dataMode" },
9838
  {   4, "encryptionMode" },
9839
  {   5, "h235Mode" },
9840
  {   6, "multiplexedStreamMode" },
9841
  {   7, "redundancyEncodingDTMode" },
9842
  {   8, "multiplePayloadStreamMode" },
9843
  {   9, "depFecMode" },
9844
  {  10, "fecMode" },
9845
  { 0, NULL }
9846
};
9847
9848
static const per_choice_t ModeElementType_choice[] = {
9849
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9850
  {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9851
  {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9852
  {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9853
  {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9854
  {   5, &hf_h245_h235Mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Mode },
9855
  {   6, &hf_h245_multiplexedStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
9856
  {   7, &hf_h245_redundancyEncodingDTMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingDTMode },
9857
  {   8, &hf_h245_multiplePayloadStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamMode },
9858
  {   9, &hf_h245_depFecMode     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECMode },
9859
  {  10, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9860
  { 0, NULL, 0, NULL }
9861
};
9862
9863
static unsigned
9864
0
dissect_h245_ModeElementType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9865
  // ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType
9866
0
  actx->pinfo->dissection_depth += 5;
9867
0
  increment_dissection_depth(actx->pinfo);
9868
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9869
0
                                 ett_h245_ModeElementType, ModeElementType_choice,
9870
0
                                 NULL);
9871
9872
0
  actx->pinfo->dissection_depth -= 5;
9873
0
  decrement_dissection_depth(actx->pinfo);
9874
0
  return offset;
9875
0
}
9876
9877
9878
static const value_string h245_AdaptationLayerType_vals[] = {
9879
  {   0, "nonStandard" },
9880
  {   1, "al1Framed" },
9881
  {   2, "al1NotFramed" },
9882
  {   3, "al2WithoutSequenceNumbers" },
9883
  {   4, "al2WithSequenceNumbers" },
9884
  {   5, "al3" },
9885
  {   6, "al1M" },
9886
  {   7, "al2M" },
9887
  {   8, "al3M" },
9888
  { 0, NULL }
9889
};
9890
9891
static const per_choice_t AdaptationLayerType_choice[] = {
9892
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9893
  {   1, &hf_h245_al1Framed      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9894
  {   2, &hf_h245_al1NotFramed   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9895
  {   3, &hf_h245_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9896
  {   4, &hf_h245_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9897
  {   5, &hf_h245_al3            , ASN1_EXTENSION_ROOT    , dissect_h245_Al3 },
9898
  {   6, &hf_h245_al1M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL1MParameters },
9899
  {   7, &hf_h245_al2M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL2MParameters },
9900
  {   8, &hf_h245_al3M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL3MParameters },
9901
  { 0, NULL, 0, NULL }
9902
};
9903
9904
static unsigned
9905
0
dissect_h245_AdaptationLayerType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9906
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9907
0
                                 ett_h245_AdaptationLayerType, AdaptationLayerType_choice,
9908
0
                                 NULL);
9909
9910
0
  return offset;
9911
0
}
9912
9913
9914
static const per_sequence_t H223ModeParameters_sequence[] = {
9915
  { &hf_h245_adaptationLayer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AdaptationLayerType },
9916
  { &hf_h245_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9917
  { NULL, 0, 0, NULL }
9918
};
9919
9920
static unsigned
9921
0
dissect_h245_H223ModeParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9922
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9923
0
                                   ett_h245_H223ModeParameters, H223ModeParameters_sequence);
9924
9925
0
  return offset;
9926
0
}
9927
9928
9929
static const value_string h245_V76ModeParameters_vals[] = {
9930
  {   0, "suspendResumewAddress" },
9931
  {   1, "suspendResumewoAddress" },
9932
  { 0, NULL }
9933
};
9934
9935
static const per_choice_t V76ModeParameters_choice[] = {
9936
  {   0, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9937
  {   1, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9938
  { 0, NULL, 0, NULL }
9939
};
9940
9941
static unsigned
9942
0
dissect_h245_V76ModeParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9943
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9944
0
                                 ett_h245_V76ModeParameters, V76ModeParameters_choice,
9945
0
                                 NULL);
9946
9947
0
  return offset;
9948
0
}
9949
9950
9951
static const value_string h245_T_secondaryEncodingMode_vals[] = {
9952
  {   0, "nonStandard" },
9953
  {   1, "audioData" },
9954
  { 0, NULL }
9955
};
9956
9957
static const per_choice_t T_secondaryEncodingMode_choice[] = {
9958
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9959
  {   1, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9960
  { 0, NULL, 0, NULL }
9961
};
9962
9963
static unsigned
9964
0
dissect_h245_T_secondaryEncodingMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9965
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9966
0
                                 ett_h245_T_secondaryEncodingMode, T_secondaryEncodingMode_choice,
9967
0
                                 NULL);
9968
9969
0
  return offset;
9970
0
}
9971
9972
9973
static const per_sequence_t RedundancyEncodingMode_sequence[] = {
9974
  { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
9975
  { &hf_h245_secondaryEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_secondaryEncodingMode },
9976
  { NULL, 0, 0, NULL }
9977
};
9978
9979
static unsigned
9980
0
dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9981
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9982
0
                                   ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
9983
9984
0
  return offset;
9985
0
}
9986
9987
9988
static const per_sequence_t H2250ModeParameters_sequence[] = {
9989
  { &hf_h245_redundancyEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingMode },
9990
  { NULL, 0, 0, NULL }
9991
};
9992
9993
static unsigned
9994
0
dissect_h245_H2250ModeParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9995
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9996
0
                                   ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
9997
9998
0
  return offset;
9999
0
}
10000
10001
10002
static const per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
10003
  { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10004
  { NULL, 0, 0, NULL }
10005
};
10006
10007
static unsigned
10008
0
dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10009
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10010
0
                                   ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
10011
10012
0
  return offset;
10013
0
}
10014
10015
10016
static const per_sequence_t ModeElement_sequence[] = {
10017
  { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
10018
  { &hf_h245_h223ModeParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H223ModeParameters },
10019
  { &hf_h245_v76ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_V76ModeParameters },
10020
  { &hf_h245_h2250ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H2250ModeParameters },
10021
  { &hf_h245_genericModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
10022
  { &hf_h245_multiplexedStreamModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_MultiplexedStreamModeParameters },
10023
  { &hf_h245_logicalChannelNumber, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10024
  { NULL, 0, 0, NULL }
10025
};
10026
10027
static unsigned
10028
0
dissect_h245_ModeElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10029
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10030
0
                                   ett_h245_ModeElement, ModeElement_sequence);
10031
10032
0
  return offset;
10033
0
}
10034
10035
10036
static const per_sequence_t ModeDescription_set_of[1] = {
10037
  { &hf_h245_ModeDescription_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeElement },
10038
};
10039
10040
static unsigned
10041
0
dissect_h245_ModeDescription(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10042
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10043
0
                                             ett_h245_ModeDescription, ModeDescription_set_of,
10044
0
                                             1, 256, false);
10045
10046
0
  return offset;
10047
0
}
10048
10049
10050
static const per_sequence_t SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of[1] = {
10051
  { &hf_h245_requestedModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeDescription },
10052
};
10053
10054
static unsigned
10055
0
dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10056
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10057
0
                                                  ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription, SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of,
10058
0
                                                  1, 256, false);
10059
10060
0
  return offset;
10061
0
}
10062
10063
10064
static const per_sequence_t RequestMode_sequence[] = {
10065
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10066
  { &hf_h245_requestedModes , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription },
10067
  { NULL, 0, 0, NULL }
10068
};
10069
10070
static unsigned
10071
0
dissect_h245_RequestMode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10072
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10073
0
                                   ett_h245_RequestMode, RequestMode_sequence);
10074
10075
0
  return offset;
10076
0
}
10077
10078
10079
static const per_sequence_t RoundTripDelayRequest_sequence[] = {
10080
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10081
  { NULL, 0, 0, NULL }
10082
};
10083
10084
static unsigned
10085
0
dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10086
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10087
0
                                   ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
10088
10089
0
  return offset;
10090
0
}
10091
10092
10093
static const value_string h245_Mlr_type_vals[] = {
10094
  {   0, "systemLoop" },
10095
  {   1, "mediaLoop" },
10096
  {   2, "logicalChannelLoop" },
10097
  { 0, NULL }
10098
};
10099
10100
static const per_choice_t Mlr_type_choice[] = {
10101
  {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10102
  {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10103
  {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10104
  { 0, NULL, 0, NULL }
10105
};
10106
10107
static unsigned
10108
0
dissect_h245_Mlr_type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10109
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10110
0
                                 ett_h245_Mlr_type, Mlr_type_choice,
10111
0
                                 NULL);
10112
10113
0
  return offset;
10114
0
}
10115
10116
10117
static const per_sequence_t MaintenanceLoopRequest_sequence[] = {
10118
  { &hf_h245_mlr_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlr_type },
10119
  { NULL, 0, 0, NULL }
10120
};
10121
10122
static unsigned
10123
0
dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10124
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10125
0
                                   ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
10126
10127
0
  return offset;
10128
0
}
10129
10130
10131
static const per_sequence_t CommunicationModeRequest_sequence[] = {
10132
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
10133
};
10134
10135
static unsigned
10136
0
dissect_h245_CommunicationModeRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10137
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10138
0
                                   ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
10139
10140
0
  return offset;
10141
0
}
10142
10143
10144
static const per_sequence_t Criteria_sequence[] = {
10145
  { &hf_h245_field          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
10146
  { &hf_h245_criteriaValue  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
10147
  { NULL, 0, 0, NULL }
10148
};
10149
10150
static unsigned
10151
0
dissect_h245_Criteria(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10152
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10153
0
                                   ett_h245_Criteria, Criteria_sequence);
10154
10155
0
  return offset;
10156
0
}
10157
10158
10159
static const per_sequence_t CertSelectionCriteria_sequence_of[1] = {
10160
  { &hf_h245_CertSelectionCriteria_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Criteria },
10161
};
10162
10163
static unsigned
10164
0
dissect_h245_CertSelectionCriteria(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10165
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10166
0
                                                  ett_h245_CertSelectionCriteria, CertSelectionCriteria_sequence_of,
10167
0
                                                  1, 16, false);
10168
10169
0
  return offset;
10170
0
}
10171
10172
10173
static const per_sequence_t T_requestTerminalCertificate_sequence[] = {
10174
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
10175
  { &hf_h245_certSelectionCriteria, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_CertSelectionCriteria },
10176
  { &hf_h245_sRandom        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
10177
  { NULL, 0, 0, NULL }
10178
};
10179
10180
static unsigned
10181
0
dissect_h245_T_requestTerminalCertificate(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10182
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10183
0
                                   ett_h245_T_requestTerminalCertificate, T_requestTerminalCertificate_sequence);
10184
10185
0
  return offset;
10186
0
}
10187
10188
10189
static const value_string h245_RemoteMCRequest_vals[] = {
10190
  {   0, "masterActivate" },
10191
  {   1, "slaveActivate" },
10192
  {   2, "deActivate" },
10193
  { 0, NULL }
10194
};
10195
10196
static const per_choice_t RemoteMCRequest_choice[] = {
10197
  {   0, &hf_h245_masterActivate , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10198
  {   1, &hf_h245_slaveActivate  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10199
  {   2, &hf_h245_deActivate     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10200
  { 0, NULL, 0, NULL }
10201
};
10202
10203
static unsigned
10204
0
dissect_h245_RemoteMCRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10205
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10206
0
                                 ett_h245_RemoteMCRequest, RemoteMCRequest_choice,
10207
0
                                 NULL);
10208
10209
0
  return offset;
10210
0
}
10211
10212
10213
static const value_string h245_ConferenceRequest_vals[] = {
10214
  {   0, "terminalListRequest" },
10215
  {   1, "makeMeChair" },
10216
  {   2, "cancelMakeMeChair" },
10217
  {   3, "dropTerminal" },
10218
  {   4, "requestTerminalID" },
10219
  {   5, "enterH243Password" },
10220
  {   6, "enterH243TerminalID" },
10221
  {   7, "enterH243ConferenceID" },
10222
  {   8, "enterExtensionAddress" },
10223
  {   9, "requestChairTokenOwner" },
10224
  {  10, "requestTerminalCertificate" },
10225
  {  11, "broadcastMyLogicalChannel" },
10226
  {  12, "makeTerminalBroadcaster" },
10227
  {  13, "sendThisSource" },
10228
  {  14, "requestAllTerminalIDs" },
10229
  {  15, "remoteMCRequest" },
10230
  { 0, NULL }
10231
};
10232
10233
static const per_choice_t ConferenceRequest_choice[] = {
10234
  {   0, &hf_h245_terminalListRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10235
  {   1, &hf_h245_makeMeChair    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10236
  {   2, &hf_h245_cancelMakeMeChair, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10237
  {   3, &hf_h245_dropTerminal   , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10238
  {   4, &hf_h245_requestTerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10239
  {   5, &hf_h245_enterH243Password, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10240
  {   6, &hf_h245_enterH243TerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10241
  {   7, &hf_h245_enterH243ConferenceID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10242
  {   8, &hf_h245_enterExtensionAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10243
  {   9, &hf_h245_requestChairTokenOwner, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10244
  {  10, &hf_h245_requestTerminalCertificate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_requestTerminalCertificate },
10245
  {  11, &hf_h245_broadcastMyLogicalChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelNumber },
10246
  {  12, &hf_h245_makeTerminalBroadcaster, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10247
  {  13, &hf_h245_sendThisSource , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10248
  {  14, &hf_h245_requestAllTerminalIDs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10249
  {  15, &hf_h245_remoteMCRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCRequest },
10250
  { 0, NULL, 0, NULL }
10251
};
10252
10253
static unsigned
10254
0
dissect_h245_ConferenceRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10255
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10256
0
                                 ett_h245_ConferenceRequest, ConferenceRequest_choice,
10257
0
                                 NULL);
10258
10259
0
  return offset;
10260
0
}
10261
10262
10263
static const per_sequence_t CallInformationReq_sequence[] = {
10264
  { &hf_h245_maxNumberOfAdditionalConnections, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
10265
  { NULL, 0, 0, NULL }
10266
};
10267
10268
static unsigned
10269
0
dissect_h245_CallInformationReq(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10270
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10271
0
                                   ett_h245_CallInformationReq, CallInformationReq_sequence);
10272
10273
0
  return offset;
10274
0
}
10275
10276
10277
10278
static unsigned
10279
0
dissect_h245_NumericString_SIZE_0_40(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10280
0
  offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
10281
0
                                          0, 40, false,
10282
0
                                          NULL);
10283
10284
0
  return offset;
10285
0
}
10286
10287
10288
10289
static unsigned
10290
0
dissect_h245_IA5String_SIZE_1_40(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10291
0
  offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
10292
0
                                          1, 40, false,
10293
0
                                          NULL);
10294
10295
0
  return offset;
10296
0
}
10297
10298
10299
static const value_string h245_DialingInformationNetworkType_vals[] = {
10300
  {   0, "nonStandard" },
10301
  {   1, "n-isdn" },
10302
  {   2, "gstn" },
10303
  {   3, "mobile" },
10304
  { 0, NULL }
10305
};
10306
10307
static const per_choice_t DialingInformationNetworkType_choice[] = {
10308
  {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10309
  {   1, &hf_h245_n_isdn         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10310
  {   2, &hf_h245_gstn           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10311
  {   3, &hf_h245_mobile         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10312
  { 0, NULL, 0, NULL }
10313
};
10314
10315
static unsigned
10316
0
dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10317
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10318
0
                                 ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice,
10319
0
                                 NULL);
10320
10321
0
  return offset;
10322
0
}
10323
10324
10325
static const per_sequence_t SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of[1] = {
10326
  { &hf_h245_networkType_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNetworkType },
10327
};
10328
10329
static unsigned
10330
0
dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10331
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10332
0
                                             ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType, SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of,
10333
0
                                             1, 255, false);
10334
10335
0
  return offset;
10336
0
}
10337
10338
10339
static const per_sequence_t DialingInformationNumber_sequence[] = {
10340
  { &hf_h245_din_networkAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NumericString_SIZE_0_40 },
10341
  { &hf_h245_subAddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IA5String_SIZE_1_40 },
10342
  { &hf_h245_networkType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType },
10343
  { NULL, 0, 0, NULL }
10344
};
10345
10346
static unsigned
10347
0
dissect_h245_DialingInformationNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10348
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10349
0
                                   ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
10350
10351
0
  return offset;
10352
0
}
10353
10354
10355
static const per_sequence_t SET_SIZE_1_65535_OF_DialingInformationNumber_set_of[1] = {
10356
  { &hf_h245_differential_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNumber },
10357
};
10358
10359
static unsigned
10360
0
dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10361
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10362
0
                                             ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber, SET_SIZE_1_65535_OF_DialingInformationNumber_set_of,
10363
0
                                             1, 65535, false);
10364
10365
0
  return offset;
10366
0
}
10367
10368
10369
static const value_string h245_DialingInformation_vals[] = {
10370
  {   0, "nonStandard" },
10371
  {   1, "differential" },
10372
  {   2, "infoNotAvailable" },
10373
  { 0, NULL }
10374
};
10375
10376
static const per_choice_t DialingInformation_choice[] = {
10377
  {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10378
  {   1, &hf_h245_differential   , ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber },
10379
  {   2, &hf_h245_infoNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_65535 },
10380
  { 0, NULL, 0, NULL }
10381
};
10382
10383
static unsigned
10384
0
dissect_h245_DialingInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10385
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10386
0
                                 ett_h245_DialingInformation, DialingInformation_choice,
10387
0
                                 NULL);
10388
10389
0
  return offset;
10390
0
}
10391
10392
10393
static const per_sequence_t AddConnectionReq_sequence[] = {
10394
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10395
  { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
10396
  { NULL, 0, 0, NULL }
10397
};
10398
10399
static unsigned
10400
0
dissect_h245_AddConnectionReq(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10401
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10402
0
                                   ett_h245_AddConnectionReq, AddConnectionReq_sequence);
10403
10404
0
  return offset;
10405
0
}
10406
10407
10408
static const per_sequence_t ConnectionIdentifier_sequence[] = {
10409
  { &hf_h245_channelTag     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10410
  { &hf_h245_sequenceNum    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10411
  { NULL, 0, 0, NULL }
10412
};
10413
10414
static unsigned
10415
0
dissect_h245_ConnectionIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10416
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10417
0
                                   ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
10418
10419
0
  return offset;
10420
0
}
10421
10422
10423
static const per_sequence_t RemoveConnectionReq_sequence[] = {
10424
  { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
10425
  { NULL, 0, 0, NULL }
10426
};
10427
10428
static unsigned
10429
0
dissect_h245_RemoveConnectionReq(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10430
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10431
0
                                   ett_h245_RemoveConnectionReq, RemoveConnectionReq_sequence);
10432
10433
0
  return offset;
10434
0
}
10435
10436
10437
static const value_string h245_T_requestType_vals[] = {
10438
  {   0, "currentIntervalInformation" },
10439
  {   1, "requestedInterval" },
10440
  { 0, NULL }
10441
};
10442
10443
static const per_choice_t T_requestType_choice[] = {
10444
  {   0, &hf_h245_currentIntervalInformation, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10445
  {   1, &hf_h245_requestedInterval, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_65535 },
10446
  { 0, NULL, 0, NULL }
10447
};
10448
10449
static unsigned
10450
0
dissect_h245_T_requestType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10451
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10452
0
                                 ett_h245_T_requestType, T_requestType_choice,
10453
0
                                 NULL);
10454
10455
0
  return offset;
10456
0
}
10457
10458
10459
static const per_sequence_t MaximumHeaderIntervalReq_sequence[] = {
10460
  { &hf_h245_requestType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_requestType },
10461
  { NULL, 0, 0, NULL }
10462
};
10463
10464
static unsigned
10465
0
dissect_h245_MaximumHeaderIntervalReq(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10466
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10467
0
                                   ett_h245_MaximumHeaderIntervalReq, MaximumHeaderIntervalReq_sequence);
10468
10469
0
  return offset;
10470
0
}
10471
10472
10473
static const value_string h245_MultilinkRequest_vals[] = {
10474
  {   0, "nonStandard" },
10475
  {   1, "callInformation" },
10476
  {   2, "addConnection" },
10477
  {   3, "removeConnection" },
10478
  {   4, "maximumHeaderInterval" },
10479
  { 0, NULL }
10480
};
10481
10482
static const per_choice_t MultilinkRequest_choice[] = {
10483
  {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10484
  {   1, &hf_h245_callInformationReq, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationReq },
10485
  {   2, &hf_h245_addConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionReq },
10486
  {   3, &hf_h245_removeConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionReq },
10487
  {   4, &hf_h245_maximumHeaderIntervalReq, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalReq },
10488
  { 0, NULL, 0, NULL }
10489
};
10490
10491
static unsigned
10492
0
dissect_h245_MultilinkRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10493
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10494
0
                                 ett_h245_MultilinkRequest, MultilinkRequest_choice,
10495
0
                                 NULL);
10496
10497
0
  return offset;
10498
0
}
10499
10500
10501
10502
static unsigned
10503
0
dissect_h245_MaximumBitRate(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10504
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10505
0
                                                            0U, 4294967295U, NULL, false);
10506
10507
0
  return offset;
10508
0
}
10509
10510
10511
static const per_sequence_t LogicalChannelRateRequest_sequence[] = {
10512
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10513
  { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10514
  { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
10515
  { NULL, 0, 0, NULL }
10516
};
10517
10518
static unsigned
10519
0
dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10520
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10521
0
                                   ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
10522
10523
0
  return offset;
10524
0
}
10525
10526
10527
static const value_string h245_RequestMessage_vals[] = {
10528
  { RequestMessage_nonStandard, "nonStandard" },
10529
  { RequestMessage_masterSlaveDetermination, "masterSlaveDetermination" },
10530
  { RequestMessage_terminalCapabilitySet, "terminalCapabilitySet" },
10531
  { RequestMessage_openLogicalChannel, "openLogicalChannel" },
10532
  { RequestMessage_closeLogicalChannel, "closeLogicalChannel" },
10533
  { RequestMessage_requestChannelClose, "requestChannelClose" },
10534
  { RequestMessage_multiplexEntrySend, "multiplexEntrySend" },
10535
  { RequestMessage_requestMultiplexEntry, "requestMultiplexEntry" },
10536
  { RequestMessage_requestMode, "requestMode" },
10537
  { RequestMessage_roundTripDelayRequest, "roundTripDelayRequest" },
10538
  { RequestMessage_maintenanceLoopRequest, "maintenanceLoopRequest" },
10539
  { RequestMessage_communicationModeRequest, "communicationModeRequest" },
10540
  { RequestMessage_conferenceRequest, "conferenceRequest" },
10541
  { RequestMessage_multilinkRequest, "multilinkRequest" },
10542
  { RequestMessage_logicalChannelRateRequest, "logicalChannelRateRequest" },
10543
  { RequestMessage_genericRequest, "genericRequest" },
10544
  { 0, NULL }
10545
};
10546
10547
static const per_choice_t RequestMessage_choice[] = {
10548
  { RequestMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10549
  { RequestMessage_masterSlaveDetermination, &hf_h245_masterSlaveDetermination, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDetermination },
10550
  { RequestMessage_terminalCapabilitySet, &hf_h245_terminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySet },
10551
  { RequestMessage_openLogicalChannel, &hf_h245_openLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannel },
10552
  { RequestMessage_closeLogicalChannel, &hf_h245_closeLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannel },
10553
  { RequestMessage_requestChannelClose, &hf_h245_requestChannelClose, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelClose },
10554
  { RequestMessage_multiplexEntrySend, &hf_h245_multiplexEntrySend, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySend },
10555
  { RequestMessage_requestMultiplexEntry, &hf_h245_requestMultiplexEntry, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntry },
10556
  { RequestMessage_requestMode, &hf_h245_requestMode    , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMode },
10557
  { RequestMessage_roundTripDelayRequest, &hf_h245_roundTripDelayRequest, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayRequest },
10558
  { RequestMessage_maintenanceLoopRequest, &hf_h245_maintenanceLoopRequest, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopRequest },
10559
  { RequestMessage_communicationModeRequest, &hf_h245_communicationModeRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeRequest },
10560
  { RequestMessage_conferenceRequest, &hf_h245_conferenceRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceRequest },
10561
  { RequestMessage_multilinkRequest, &hf_h245_multilinkRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkRequest },
10562
  { RequestMessage_logicalChannelRateRequest, &hf_h245_logicalChannelRateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRequest },
10563
  { RequestMessage_genericRequest, &hf_h245_genericRequest , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
10564
  { 0, NULL, 0, NULL }
10565
};
10566
10567
static unsigned
10568
0
dissect_h245_RequestMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10569
0
  int32_t value;
10570
10571
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10572
0
                                 ett_h245_RequestMessage, RequestMessage_choice,
10573
0
                                 &value);
10574
10575
0
  print_info_column(actx->pinfo->cinfo, &value, h245_RequestMessage_vals, h245_RequestMessage_short_vals);
10576
10577
0
  if (( codec_type != NULL ) && ( value == RequestMessage_openLogicalChannel) ){
10578
0
    col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%s) ", codec_type );
10579
0
  }
10580
10581
0
        col_set_fence(actx->pinfo->cinfo,COL_INFO);
10582
10583
    /* Add to packet info */
10584
0
  if (h245_pi == NULL)
10585
0
    return offset;
10586
10587
0
    if (strlen(h245_pi->frame_label) == 0)
10588
0
    {
10589
0
      snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(value, h245_RequestMessage_short_vals, "UKN"));
10590
10591
      /* if it is OLC or RM*/
10592
0
      if ((codec_type != NULL) && (( value == RequestMessage_openLogicalChannel) || ( value == RequestMessage_requestMode)))
10593
0
      {
10594
0
        (void) g_strlcat(h245_pi->frame_label, " (", 50);
10595
0
        (void) g_strlcat(h245_pi->frame_label, codec_type, 50);
10596
0
        (void) g_strlcat(h245_pi->frame_label, ")", 50);
10597
0
      }
10598
0
    }
10599
0
    (void) g_strlcat(h245_pi->comment, val_to_str_const(value, h245_RequestMessage_vals, "<unknown>"), 50);
10600
10601
0
  return offset;
10602
0
}
10603
10604
10605
static const value_string h245_T_decision_vals[] = {
10606
  {   0, "master" },
10607
  {   1, "slave" },
10608
  { 0, NULL }
10609
};
10610
10611
static const per_choice_t T_decision_choice[] = {
10612
  {   0, &hf_h245_master         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10613
  {   1, &hf_h245_slave          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10614
  { 0, NULL, 0, NULL }
10615
};
10616
10617
static unsigned
10618
0
dissect_h245_T_decision(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10619
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10620
0
                                 ett_h245_T_decision, T_decision_choice,
10621
0
                                 NULL);
10622
10623
0
  return offset;
10624
0
}
10625
10626
10627
static const per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
10628
  { &hf_h245_decision       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_decision },
10629
  { NULL, 0, 0, NULL }
10630
};
10631
10632
static unsigned
10633
0
dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10634
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10635
0
                                   ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
10636
10637
10638
0
  if (h245_pi != NULL)
10639
0
    h245_pi->msg_type = H245_MastSlvDetAck;
10640
0
  return offset;
10641
0
}
10642
10643
10644
static const value_string h245_MasterSlaveDeterminationRejectCause_vals[] = {
10645
  {   0, "identicalNumbers" },
10646
  { 0, NULL }
10647
};
10648
10649
static const per_choice_t MasterSlaveDeterminationRejectCause_choice[] = {
10650
  {   0, &hf_h245_identicalNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10651
  { 0, NULL, 0, NULL }
10652
};
10653
10654
static unsigned
10655
0
dissect_h245_MasterSlaveDeterminationRejectCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10656
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10657
0
                                 ett_h245_MasterSlaveDeterminationRejectCause, MasterSlaveDeterminationRejectCause_choice,
10658
0
                                 NULL);
10659
10660
0
  return offset;
10661
0
}
10662
10663
10664
static const per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
10665
  { &hf_h245_msd_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MasterSlaveDeterminationRejectCause },
10666
  { NULL, 0, 0, NULL }
10667
};
10668
10669
static unsigned
10670
0
dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10671
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10672
0
                                   ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
10673
10674
10675
0
  if (h245_pi != NULL)
10676
0
    h245_pi->msg_type = H245_MastSlvDetRjc;
10677
0
  return offset;
10678
0
}
10679
10680
10681
static const per_sequence_t TerminalCapabilitySetAck_sequence[] = {
10682
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10683
  { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10684
  { NULL, 0, 0, NULL }
10685
};
10686
10687
static unsigned
10688
0
dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10689
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10690
0
                                   ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
10691
10692
10693
0
  if (h245_pi != NULL)
10694
0
    h245_pi->msg_type = H245_TermCapSetAck;
10695
0
  return offset;
10696
0
}
10697
10698
10699
static const value_string h245_T_tableEntryCapacityExceeded_vals[] = {
10700
  {   0, "highestEntryNumberProcessed" },
10701
  {   1, "noneProcessed" },
10702
  { 0, NULL }
10703
};
10704
10705
static const per_choice_t T_tableEntryCapacityExceeded_choice[] = {
10706
  {   0, &hf_h245_highestEntryNumberProcessed, ASN1_NO_EXTENSIONS     , dissect_h245_CapabilityTableEntryNumber },
10707
  {   1, &hf_h245_noneProcessed  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10708
  { 0, NULL, 0, NULL }
10709
};
10710
10711
static unsigned
10712
0
dissect_h245_T_tableEntryCapacityExceeded(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10713
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10714
0
                                 ett_h245_T_tableEntryCapacityExceeded, T_tableEntryCapacityExceeded_choice,
10715
0
                                 NULL);
10716
10717
0
  return offset;
10718
0
}
10719
10720
10721
static const value_string h245_TerminalCapabilitySetRejectCause_vals[] = {
10722
  {   0, "unspecified" },
10723
  {   1, "undefinedTableEntryUsed" },
10724
  {   2, "descriptorCapacityExceeded" },
10725
  {   3, "tableEntryCapacityExceeded" },
10726
  { 0, NULL }
10727
};
10728
10729
static const per_choice_t TerminalCapabilitySetRejectCause_choice[] = {
10730
  {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10731
  {   1, &hf_h245_undefinedTableEntryUsed, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10732
  {   2, &hf_h245_descriptorCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10733
  {   3, &hf_h245_tableEntryCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_T_tableEntryCapacityExceeded },
10734
  { 0, NULL, 0, NULL }
10735
};
10736
10737
static unsigned
10738
0
dissect_h245_TerminalCapabilitySetRejectCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10739
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10740
0
                                 ett_h245_TerminalCapabilitySetRejectCause, TerminalCapabilitySetRejectCause_choice,
10741
0
                                 NULL);
10742
10743
0
  return offset;
10744
0
}
10745
10746
10747
static const per_sequence_t TerminalCapabilitySetReject_sequence[] = {
10748
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10749
  { &hf_h245_tcs_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalCapabilitySetRejectCause },
10750
  { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10751
  { NULL, 0, 0, NULL }
10752
};
10753
10754
static unsigned
10755
0
dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10756
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10757
0
                                   ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
10758
10759
10760
0
  if (h245_pi != NULL)
10761
0
    h245_pi->msg_type = H245_TermCapSetRjc;
10762
0
  return offset;
10763
0
}
10764
10765
10766
10767
static unsigned
10768
0
dissect_h245_OLC_ack_fw_lcn(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10769
0
  offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10770
10771
0
  if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
10772
0
  h223_fw_lc_num = h245_lc_temp;
10773
0
  return offset;
10774
0
}
10775
10776
10777
10778
static unsigned
10779
0
dissect_h245_T_reverseLogicalChannelNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10780
0
  offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10781
10782
0
  h223_rev_lc_num = h245_lc_temp;
10783
0
  return offset;
10784
0
}
10785
10786
10787
static const value_string h245_T_olc_ack_multiplexParameters_vals[] = {
10788
  {   0, "h222LogicalChannelParameters" },
10789
  {   1, "h2250LogicalChannelParameters" },
10790
  { 0, NULL }
10791
};
10792
10793
static const per_choice_t T_olc_ack_multiplexParameters_choice[] = {
10794
  {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
10795
  {   1, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
10796
  { 0, NULL, 0, NULL }
10797
};
10798
10799
static unsigned
10800
0
dissect_h245_T_olc_ack_multiplexParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10801
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10802
0
                                 ett_h245_T_olc_ack_multiplexParameters, T_olc_ack_multiplexParameters_choice,
10803
0
                                 NULL);
10804
10805
0
  return offset;
10806
0
}
10807
10808
10809
static const per_sequence_t OLC_ack_reverseLogicalChannelParameters_sequence[] = {
10810
  { &hf_h245_reverseLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_reverseLogicalChannelNumber },
10811
  { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10812
  { &hf_h245_olc_ack_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_olc_ack_multiplexParameters },
10813
  { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10814
  { NULL, 0, 0, NULL }
10815
};
10816
10817
static unsigned
10818
0
dissect_h245_OLC_ack_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10819
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10820
0
                                   ett_h245_OLC_ack_reverseLogicalChannelParameters, OLC_ack_reverseLogicalChannelParameters_sequence);
10821
10822
0
  return offset;
10823
0
}
10824
10825
10826
10827
static unsigned
10828
0
dissect_h245_Ack_mediaChannel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10829
0
  if (upcoming_channel)
10830
0
    upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
10831
0
  offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10832
10833
0
  if (upcoming_channel)
10834
0
    upcoming_channel->upcoming_addr = NULL;
10835
0
  return offset;
10836
0
}
10837
10838
10839
10840
static unsigned
10841
0
dissect_h245_Ack_mediaControlChannel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10842
0
  if (upcoming_channel)
10843
0
    upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
10844
0
  offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10845
10846
0
  if (upcoming_channel)
10847
0
    upcoming_channel->upcoming_addr = NULL;
10848
0
  return offset;
10849
0
}
10850
10851
10852
static const per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
10853
  { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
10854
  { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
10855
  { &hf_h245_ack_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaChannel },
10856
  { &hf_h245_ack_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaControlChannel },
10857
  { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
10858
  { &hf_h245_flowControlToZero, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
10859
  { &hf_h245_portNumber     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10860
  { NULL, 0, 0, NULL }
10861
};
10862
10863
static unsigned
10864
0
dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10865
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10866
0
                                   ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
10867
10868
0
  return offset;
10869
0
}
10870
10871
10872
static const value_string h245_T_forwardMultiplexAckParameters_vals[] = {
10873
  {   0, "h2250LogicalChannelAckParameters" },
10874
  { 0, NULL }
10875
};
10876
10877
static const per_choice_t T_forwardMultiplexAckParameters_choice[] = {
10878
  {   0, &hf_h245_h2250LogicalChannelAckParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H2250LogicalChannelAckParameters },
10879
  { 0, NULL, 0, NULL }
10880
};
10881
10882
static unsigned
10883
0
dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10884
10885
0
  upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
10886
10887
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10888
0
                                 ett_h245_T_forwardMultiplexAckParameters, T_forwardMultiplexAckParameters_choice,
10889
0
                                 NULL);
10890
10891
10892
0
  upcoming_channel = NULL;
10893
10894
0
  return offset;
10895
0
}
10896
10897
10898
static const per_sequence_t OpenLogicalChannelAck_sequence[] = {
10899
  { &hf_h245_olc_ack_fw_lcn , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_ack_fw_lcn },
10900
  { &hf_h245_olc_ack_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_ack_reverseLogicalChannelParameters },
10901
  { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
10902
  { &hf_h245_forwardMultiplexAckParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_forwardMultiplexAckParameters },
10903
  { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
10904
  { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10905
  { NULL, 0, 0, NULL }
10906
};
10907
10908
static unsigned
10909
0
dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10910
0
  uint32_t temp;
10911
0
  int p2p_dir;
10912
0
  h223_pending_olc *pend;
10913
0
  const char *olc_key;
10914
0
  olc_info_t *olc_req;
10915
10916
0
  upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(actx->pinfo->pool, olc_info_t) : NULL;
10917
10918
0
  h223_fw_lc_num = 0;
10919
0
  h223_rev_lc_num = 0;
10920
10921
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10922
0
                                   ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
10923
10924
10925
0
  temp = h223_fw_lc_num;
10926
0
  p2p_dir = actx->pinfo->p2p_dir;
10927
10928
0
  if(actx->pinfo->p2p_dir == P2P_DIR_SENT)
10929
0
  actx->pinfo->p2p_dir = P2P_DIR_RECV;
10930
0
  else
10931
0
  actx->pinfo->p2p_dir = P2P_DIR_SENT;
10932
0
  pend = (h223_pending_olc *)wmem_map_lookup( h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp) );
10933
0
  if (pend) {
10934
0
  DISSECTOR_ASSERT( ( h223_rev_lc_num &&  pend->rev_channel_params)
10935
0
           || (!h223_rev_lc_num && !pend->rev_channel_params) );
10936
0
  if(h223_add_lc_handle) {
10937
0
    (*h223_add_lc_handle)( actx->pinfo, h223_fw_lc_num, pend->fw_channel_params);
10938
0
    if(h223_rev_lc_num)
10939
0
    (*h223_add_lc_handle)( actx->pinfo, h223_rev_lc_num, pend->rev_channel_params);
10940
0
  }
10941
0
  } else {
10942
  /* we missed the OpenLogicalChannel packet */
10943
0
  }
10944
0
  actx->pinfo->p2p_dir = p2p_dir;
10945
10946
0
  if (upcoming_olc) {
10947
0
    olc_key = gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->src, &actx->pinfo->dst, actx->pinfo->pool);
10948
0
    olc_req = (olc_info_t *)wmem_map_lookup(h245_pending_olc_reqs, olc_key);
10949
0
    if (olc_req) {
10950
0
      update_unicast_addr(&olc_req->fwd_lc.media_addr, &upcoming_olc->fwd_lc.media_addr);
10951
0
      update_unicast_addr(&olc_req->fwd_lc.media_control_addr, &upcoming_olc->fwd_lc.media_control_addr);
10952
0
      update_unicast_addr(&olc_req->rev_lc.media_addr, &upcoming_olc->rev_lc.media_addr);
10953
0
      update_unicast_addr(&olc_req->rev_lc.media_control_addr, &upcoming_olc->rev_lc.media_control_addr);
10954
0
      h245_setup_channels(actx->pinfo, &olc_req->fwd_lc);
10955
0
      h245_setup_channels(actx->pinfo, &olc_req->rev_lc);
10956
0
      wmem_map_remove(h245_pending_olc_reqs, olc_key);
10957
0
    } else {
10958
0
      h245_setup_channels(actx->pinfo, &upcoming_olc->fwd_lc);
10959
0
    }
10960
0
  }
10961
0
  upcoming_olc = NULL;
10962
10963
0
  if (h245_pi != NULL)
10964
0
  h245_pi->msg_type = H245_OpenLogChnAck;
10965
10966
0
  return offset;
10967
0
}
10968
10969
10970
static const value_string h245_OpenLogicalChannelRejectCause_vals[] = {
10971
  {   0, "unspecified" },
10972
  {   1, "unsuitableReverseParameters" },
10973
  {   2, "dataTypeNotSupported" },
10974
  {   3, "dataTypeNotAvailable" },
10975
  {   4, "unknownDataType" },
10976
  {   5, "dataTypeALCombinationNotSupported" },
10977
  {   6, "multicastChannelNotAllowed" },
10978
  {   7, "insufficientBandwidth" },
10979
  {   8, "separateStackEstablishmentFailed" },
10980
  {   9, "invalidSessionID" },
10981
  {  10, "masterSlaveConflict" },
10982
  {  11, "waitForCommunicationMode" },
10983
  {  12, "invalidDependentChannel" },
10984
  {  13, "replacementForRejected" },
10985
  {  14, "securityDenied" },
10986
  {  15, "qoSControlNotSupported" },
10987
  { 0, NULL }
10988
};
10989
10990
static const per_choice_t OpenLogicalChannelRejectCause_choice[] = {
10991
  {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10992
  {   1, &hf_h245_unsuitableReverseParameters, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10993
  {   2, &hf_h245_dataTypeNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10994
  {   3, &hf_h245_dataTypeNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10995
  {   4, &hf_h245_unknownDataType, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10996
  {   5, &hf_h245_dataTypeALCombinationNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10997
  {   6, &hf_h245_multicastChannelNotAllowed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10998
  {   7, &hf_h245_insufficientBandwidth, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10999
  {   8, &hf_h245_separateStackEstablishmentFailed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11000
  {   9, &hf_h245_invalidSessionID, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11001
  {  10, &hf_h245_masterSlaveConflict, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11002
  {  11, &hf_h245_waitForCommunicationMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11003
  {  12, &hf_h245_invalidDependentChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11004
  {  13, &hf_h245_replacementForRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11005
  {  14, &hf_h245_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11006
  {  15, &hf_h245_qoSControlNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11007
  { 0, NULL, 0, NULL }
11008
};
11009
11010
static unsigned
11011
0
dissect_h245_OpenLogicalChannelRejectCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11012
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11013
0
                                 ett_h245_OpenLogicalChannelRejectCause, OpenLogicalChannelRejectCause_choice,
11014
0
                                 NULL);
11015
11016
0
  return offset;
11017
0
}
11018
11019
11020
static const per_sequence_t OpenLogicalChannelReject_sequence[] = {
11021
  { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11022
  { &hf_h245_olc_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OpenLogicalChannelRejectCause },
11023
  { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11024
  { NULL, 0, 0, NULL }
11025
};
11026
11027
static unsigned
11028
0
dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11029
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11030
0
                                   ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
11031
11032
11033
0
  if (h245_pi != NULL)
11034
0
    h245_pi->msg_type = H245_OpenLogChnRjc;
11035
0
  return offset;
11036
0
}
11037
11038
11039
static const per_sequence_t CloseLogicalChannelAck_sequence[] = {
11040
  { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11041
  { NULL, 0, 0, NULL }
11042
};
11043
11044
static unsigned
11045
0
dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11046
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11047
0
                                   ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
11048
11049
11050
0
  if (h245_pi != NULL)
11051
0
    h245_pi->msg_type = H245_CloseLogChnAck;
11052
0
  return offset;
11053
0
}
11054
11055
11056
static const per_sequence_t RequestChannelCloseAck_sequence[] = {
11057
  { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11058
  { NULL, 0, 0, NULL }
11059
};
11060
11061
static unsigned
11062
0
dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11063
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11064
0
                                   ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
11065
11066
0
  return offset;
11067
0
}
11068
11069
11070
static const value_string h245_RequestChannelCloseRejectCause_vals[] = {
11071
  {   0, "unspecified" },
11072
  { 0, NULL }
11073
};
11074
11075
static const per_choice_t RequestChannelCloseRejectCause_choice[] = {
11076
  {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11077
  { 0, NULL, 0, NULL }
11078
};
11079
11080
static unsigned
11081
0
dissect_h245_RequestChannelCloseRejectCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11082
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11083
0
                                 ett_h245_RequestChannelCloseRejectCause, RequestChannelCloseRejectCause_choice,
11084
0
                                 NULL);
11085
11086
0
  return offset;
11087
0
}
11088
11089
11090
static const per_sequence_t RequestChannelCloseReject_sequence[] = {
11091
  { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11092
  { &hf_h245_req_chan_clos_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestChannelCloseRejectCause },
11093
  { NULL, 0, 0, NULL }
11094
};
11095
11096
static unsigned
11097
0
dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11098
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11099
0
                                   ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
11100
11101
0
  return offset;
11102
0
}
11103
11104
11105
static const per_sequence_t MultiplexEntrySendAck_sequence[] = {
11106
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11107
  { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11108
  { NULL, 0, 0, NULL }
11109
};
11110
11111
static unsigned
11112
0
dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11113
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11114
0
                                   ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
11115
11116
0
  return offset;
11117
0
}
11118
11119
11120
static const value_string h245_MultiplexEntryRejectionDescriptionsCause_vals[] = {
11121
  {   0, "unspecifiedCause" },
11122
  {   1, "descriptorTooComplex" },
11123
  { 0, NULL }
11124
};
11125
11126
static const per_choice_t MultiplexEntryRejectionDescriptionsCause_choice[] = {
11127
  {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11128
  {   1, &hf_h245_descriptorTooComplex, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11129
  { 0, NULL, 0, NULL }
11130
};
11131
11132
static unsigned
11133
0
dissect_h245_MultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11134
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11135
0
                                 ett_h245_MultiplexEntryRejectionDescriptionsCause, MultiplexEntryRejectionDescriptionsCause_choice,
11136
0
                                 NULL);
11137
11138
0
  return offset;
11139
0
}
11140
11141
11142
static const per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11143
  { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11144
  { &hf_h245_mux_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptionsCause },
11145
  { NULL, 0, 0, NULL }
11146
};
11147
11148
static unsigned
11149
0
dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11150
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11151
0
                                   ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11152
11153
0
  return offset;
11154
0
}
11155
11156
11157
static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of[1] = {
11158
  { &hf_h245_sendRejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptions },
11159
};
11160
11161
static unsigned
11162
0
dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11163
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11164
0
                                             ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of,
11165
0
                                             1, 15, false);
11166
11167
0
  return offset;
11168
0
}
11169
11170
11171
static const per_sequence_t MultiplexEntrySendReject_sequence[] = {
11172
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11173
  { &hf_h245_sendRejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions },
11174
  { NULL, 0, 0, NULL }
11175
};
11176
11177
static unsigned
11178
0
dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11179
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11180
0
                                   ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
11181
11182
0
  return offset;
11183
0
}
11184
11185
11186
static const per_sequence_t RequestMultiplexEntryAck_sequence[] = {
11187
  { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11188
  { NULL, 0, 0, NULL }
11189
};
11190
11191
static unsigned
11192
0
dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11193
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11194
0
                                   ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
11195
11196
0
  return offset;
11197
0
}
11198
11199
11200
static const value_string h245_RequestMultiplexEntryRejectionDescriptionsCause_vals[] = {
11201
  {   0, "unspecifiedCause" },
11202
  { 0, NULL }
11203
};
11204
11205
static const per_choice_t RequestMultiplexEntryRejectionDescriptionsCause_choice[] = {
11206
  {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11207
  { 0, NULL, 0, NULL }
11208
};
11209
11210
static unsigned
11211
0
dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11212
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11213
0
                                 ett_h245_RequestMultiplexEntryRejectionDescriptionsCause, RequestMultiplexEntryRejectionDescriptionsCause_choice,
11214
0
                                 NULL);
11215
11216
0
  return offset;
11217
0
}
11218
11219
11220
static const per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11221
  { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11222
  { &hf_h245_req_mux_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause },
11223
  { NULL, 0, 0, NULL }
11224
};
11225
11226
static unsigned
11227
0
dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11228
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11229
0
                                   ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11230
11231
0
  return offset;
11232
0
}
11233
11234
11235
static const per_sequence_t SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of[1] = {
11236
  { &hf_h245_rejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptions },
11237
};
11238
11239
static unsigned
11240
0
dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11241
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11242
0
                                             ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of,
11243
0
                                             1, 15, false);
11244
11245
0
  return offset;
11246
0
}
11247
11248
11249
static const per_sequence_t RequestMultiplexEntryReject_sequence[] = {
11250
  { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11251
  { &hf_h245_rejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions },
11252
  { NULL, 0, 0, NULL }
11253
};
11254
11255
static unsigned
11256
0
dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11257
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11258
0
                                   ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
11259
11260
0
  return offset;
11261
0
}
11262
11263
11264
static const value_string h245_Req_mode_ack_response_vals[] = {
11265
  {   0, "willTransmitMostPreferredMode" },
11266
  {   1, "willTransmitLessPreferredMode" },
11267
  { 0, NULL }
11268
};
11269
11270
static const per_choice_t Req_mode_ack_response_choice[] = {
11271
  {   0, &hf_h245_willTransmitMostPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11272
  {   1, &hf_h245_willTransmitLessPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11273
  { 0, NULL, 0, NULL }
11274
};
11275
11276
static unsigned
11277
0
dissect_h245_Req_mode_ack_response(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11278
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11279
0
                                 ett_h245_Req_mode_ack_response, Req_mode_ack_response_choice,
11280
0
                                 NULL);
11281
11282
0
  return offset;
11283
0
}
11284
11285
11286
static const per_sequence_t RequestModeAck_sequence[] = {
11287
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11288
  { &hf_h245_req_mode_ack_response, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Req_mode_ack_response },
11289
  { NULL, 0, 0, NULL }
11290
};
11291
11292
static unsigned
11293
0
dissect_h245_RequestModeAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11294
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11295
0
                                   ett_h245_RequestModeAck, RequestModeAck_sequence);
11296
11297
0
  return offset;
11298
0
}
11299
11300
11301
static const value_string h245_RequestModeRejectCause_vals[] = {
11302
  {   0, "modeUnavailable" },
11303
  {   1, "multipointConstraint" },
11304
  {   2, "requestDenied" },
11305
  { 0, NULL }
11306
};
11307
11308
static const per_choice_t RequestModeRejectCause_choice[] = {
11309
  {   0, &hf_h245_modeUnavailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11310
  {   1, &hf_h245_multipointConstraint, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11311
  {   2, &hf_h245_requestDenied  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11312
  { 0, NULL, 0, NULL }
11313
};
11314
11315
static unsigned
11316
0
dissect_h245_RequestModeRejectCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11317
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11318
0
                                 ett_h245_RequestModeRejectCause, RequestModeRejectCause_choice,
11319
0
                                 NULL);
11320
11321
0
  return offset;
11322
0
}
11323
11324
11325
static const per_sequence_t RequestModeReject_sequence[] = {
11326
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11327
  { &hf_h245_req_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestModeRejectCause },
11328
  { NULL, 0, 0, NULL }
11329
};
11330
11331
static unsigned
11332
0
dissect_h245_RequestModeReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11333
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11334
0
                                   ett_h245_RequestModeReject, RequestModeReject_sequence);
11335
11336
0
  return offset;
11337
0
}
11338
11339
11340
static const per_sequence_t RoundTripDelayResponse_sequence[] = {
11341
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11342
  { NULL, 0, 0, NULL }
11343
};
11344
11345
static unsigned
11346
0
dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11347
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11348
0
                                   ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
11349
11350
0
  return offset;
11351
0
}
11352
11353
11354
static const value_string h245_Mla_type_vals[] = {
11355
  {   0, "systemLoop" },
11356
  {   1, "mediaLoop" },
11357
  {   2, "logicalChannelLoop" },
11358
  { 0, NULL }
11359
};
11360
11361
static const per_choice_t Mla_type_choice[] = {
11362
  {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11363
  {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11364
  {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11365
  { 0, NULL, 0, NULL }
11366
};
11367
11368
static unsigned
11369
0
dissect_h245_Mla_type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11370
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11371
0
                                 ett_h245_Mla_type, Mla_type_choice,
11372
0
                                 NULL);
11373
11374
0
  return offset;
11375
0
}
11376
11377
11378
static const per_sequence_t MaintenanceLoopAck_sequence[] = {
11379
  { &hf_h245_mla_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mla_type },
11380
  { NULL, 0, 0, NULL }
11381
};
11382
11383
static unsigned
11384
0
dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11385
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11386
0
                                   ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
11387
11388
0
  return offset;
11389
0
}
11390
11391
11392
static const value_string h245_Mlrej_type_vals[] = {
11393
  {   0, "systemLoop" },
11394
  {   1, "mediaLoop" },
11395
  {   2, "logicalChannelLoop" },
11396
  { 0, NULL }
11397
};
11398
11399
static const per_choice_t Mlrej_type_choice[] = {
11400
  {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11401
  {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11402
  {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11403
  { 0, NULL, 0, NULL }
11404
};
11405
11406
static unsigned
11407
0
dissect_h245_Mlrej_type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11408
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11409
0
                                 ett_h245_Mlrej_type, Mlrej_type_choice,
11410
0
                                 NULL);
11411
11412
0
  return offset;
11413
0
}
11414
11415
11416
static const value_string h245_MaintenanceLoopRejectCause_vals[] = {
11417
  {   0, "canNotPerformLoop" },
11418
  { 0, NULL }
11419
};
11420
11421
static const per_choice_t MaintenanceLoopRejectCause_choice[] = {
11422
  {   0, &hf_h245_canNotPerformLoop, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11423
  { 0, NULL, 0, NULL }
11424
};
11425
11426
static unsigned
11427
0
dissect_h245_MaintenanceLoopRejectCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11428
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11429
0
                                 ett_h245_MaintenanceLoopRejectCause, MaintenanceLoopRejectCause_choice,
11430
0
                                 NULL);
11431
11432
0
  return offset;
11433
0
}
11434
11435
11436
static const per_sequence_t MaintenanceLoopReject_sequence[] = {
11437
  { &hf_h245_mlrej_type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlrej_type },
11438
  { &hf_h245_maintloop_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaintenanceLoopRejectCause },
11439
  { NULL, 0, 0, NULL }
11440
};
11441
11442
static unsigned
11443
0
dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11444
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11445
0
                                   ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
11446
11447
0
  return offset;
11448
0
}
11449
11450
11451
11452
static unsigned
11453
0
dissect_h245_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11454
0
  offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
11455
0
                                          1, 128, false);
11456
11457
0
  return offset;
11458
0
}
11459
11460
11461
static const value_string h245_T_entryDataType_vals[] = {
11462
  {   0, "videoData" },
11463
  {   1, "audioData" },
11464
  {   2, "data" },
11465
  { 0, NULL }
11466
};
11467
11468
static const per_choice_t T_entryDataType_choice[] = {
11469
  {   0, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
11470
  {   1, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
11471
  {   2, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
11472
  { 0, NULL, 0, NULL }
11473
};
11474
11475
static unsigned
11476
0
dissect_h245_T_entryDataType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11477
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11478
0
                                 ett_h245_T_entryDataType, T_entryDataType_choice,
11479
0
                                 NULL);
11480
11481
0
  return offset;
11482
0
}
11483
11484
11485
11486
static unsigned
11487
0
dissect_h245_Cm_mediaChannel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11488
0
  offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
11489
11490
0
  return offset;
11491
0
}
11492
11493
11494
static const per_sequence_t CommunicationModeTableEntry_sequence[] = {
11495
  { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
11496
  { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
11497
  { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11498
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11499
  { &hf_h245_sessionDescription, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BMPString_SIZE_1_128 },
11500
  { &hf_h245_entryDataType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_entryDataType },
11501
  { &hf_h245_cm_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Cm_mediaChannel },
11502
  { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11503
  { &hf_h245_cm_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransportAddress },
11504
  { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11505
  { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
11506
  { &hf_h245_sessionDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11507
  { &hf_h245_destination    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11508
  { NULL, 0, 0, NULL }
11509
};
11510
11511
static unsigned
11512
0
dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11513
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11514
0
                                   ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
11515
11516
0
  return offset;
11517
0
}
11518
11519
11520
static const per_sequence_t SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of[1] = {
11521
  { &hf_h245_communicationModeTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CommunicationModeTableEntry },
11522
};
11523
11524
static unsigned
11525
0
dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11526
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11527
0
                                             ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry, SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of,
11528
0
                                             1, 256, false);
11529
11530
0
  return offset;
11531
0
}
11532
11533
11534
static const value_string h245_CommunicationModeResponse_vals[] = {
11535
  {   0, "communicationModeTable" },
11536
  { 0, NULL }
11537
};
11538
11539
static const per_choice_t CommunicationModeResponse_choice[] = {
11540
  {   0, &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
11541
  { 0, NULL, 0, NULL }
11542
};
11543
11544
static unsigned
11545
0
dissect_h245_CommunicationModeResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11546
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11547
0
                                 ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice,
11548
0
                                 NULL);
11549
11550
0
  return offset;
11551
0
}
11552
11553
11554
11555
static unsigned
11556
0
dissect_h245_TerminalID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11557
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11558
0
                                       1, 128, false, NULL);
11559
11560
0
  return offset;
11561
0
}
11562
11563
11564
static const per_sequence_t T_mCTerminalIDResponse_sequence[] = {
11565
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11566
  { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11567
  { NULL, 0, 0, NULL }
11568
};
11569
11570
static unsigned
11571
0
dissect_h245_T_mCTerminalIDResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11572
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11573
0
                                   ett_h245_T_mCTerminalIDResponse, T_mCTerminalIDResponse_sequence);
11574
11575
0
  return offset;
11576
0
}
11577
11578
11579
static const per_sequence_t T_terminalIDResponse_sequence[] = {
11580
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11581
  { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11582
  { NULL, 0, 0, NULL }
11583
};
11584
11585
static unsigned
11586
0
dissect_h245_T_terminalIDResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11587
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11588
0
                                   ett_h245_T_terminalIDResponse, T_terminalIDResponse_sequence);
11589
11590
0
  return offset;
11591
0
}
11592
11593
11594
11595
static unsigned
11596
0
dissect_h245_ConferenceID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11597
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11598
0
                                       1, 32, false, NULL);
11599
11600
0
  return offset;
11601
0
}
11602
11603
11604
static const per_sequence_t T_conferenceIDResponse_sequence[] = {
11605
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11606
  { &hf_h245_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConferenceID },
11607
  { NULL, 0, 0, NULL }
11608
};
11609
11610
static unsigned
11611
0
dissect_h245_T_conferenceIDResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11612
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11613
0
                                   ett_h245_T_conferenceIDResponse, T_conferenceIDResponse_sequence);
11614
11615
0
  return offset;
11616
0
}
11617
11618
11619
11620
static unsigned
11621
0
dissect_h245_Password(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11622
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11623
0
                                       1, 32, false, NULL);
11624
11625
0
  return offset;
11626
0
}
11627
11628
11629
static const per_sequence_t T_passwordResponse_sequence[] = {
11630
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11631
  { &hf_h245_password       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Password },
11632
  { NULL, 0, 0, NULL }
11633
};
11634
11635
static unsigned
11636
0
dissect_h245_T_passwordResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11637
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11638
0
                                   ett_h245_T_passwordResponse, T_passwordResponse_sequence);
11639
11640
0
  return offset;
11641
0
}
11642
11643
11644
static const per_sequence_t SET_SIZE_1_256_OF_TerminalLabel_set_of[1] = {
11645
  { &hf_h245_terminalListResponse_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11646
};
11647
11648
static unsigned
11649
0
dissect_h245_SET_SIZE_1_256_OF_TerminalLabel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11650
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11651
0
                                             ett_h245_SET_SIZE_1_256_OF_TerminalLabel, SET_SIZE_1_256_OF_TerminalLabel_set_of,
11652
0
                                             1, 256, false);
11653
11654
0
  return offset;
11655
0
}
11656
11657
11658
static const value_string h245_T_makeMeChairResponse_vals[] = {
11659
  {   0, "grantedChairToken" },
11660
  {   1, "deniedChairToken" },
11661
  { 0, NULL }
11662
};
11663
11664
static const per_choice_t T_makeMeChairResponse_choice[] = {
11665
  {   0, &hf_h245_grantedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11666
  {   1, &hf_h245_deniedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11667
  { 0, NULL, 0, NULL }
11668
};
11669
11670
static unsigned
11671
0
dissect_h245_T_makeMeChairResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11672
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11673
0
                                 ett_h245_T_makeMeChairResponse, T_makeMeChairResponse_choice,
11674
0
                                 NULL);
11675
11676
0
  return offset;
11677
0
}
11678
11679
11680
static const per_sequence_t T_extensionAddressResponse_sequence[] = {
11681
  { &hf_h245_extensionAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11682
  { NULL, 0, 0, NULL }
11683
};
11684
11685
static unsigned
11686
0
dissect_h245_T_extensionAddressResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11687
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11688
0
                                   ett_h245_T_extensionAddressResponse, T_extensionAddressResponse_sequence);
11689
11690
0
  return offset;
11691
0
}
11692
11693
11694
static const per_sequence_t T_chairTokenOwnerResponse_sequence[] = {
11695
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11696
  { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11697
  { NULL, 0, 0, NULL }
11698
};
11699
11700
static unsigned
11701
0
dissect_h245_T_chairTokenOwnerResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11702
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11703
0
                                   ett_h245_T_chairTokenOwnerResponse, T_chairTokenOwnerResponse_sequence);
11704
11705
0
  return offset;
11706
0
}
11707
11708
11709
static const per_sequence_t T_terminalCertificateResponse_sequence[] = {
11710
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11711
  { &hf_h245_certificateResponse, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_65535 },
11712
  { NULL, 0, 0, NULL }
11713
};
11714
11715
static unsigned
11716
0
dissect_h245_T_terminalCertificateResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11717
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11718
0
                                   ett_h245_T_terminalCertificateResponse, T_terminalCertificateResponse_sequence);
11719
11720
0
  return offset;
11721
0
}
11722
11723
11724
static const value_string h245_T_broadcastMyLogicalChannelResponse_vals[] = {
11725
  {   0, "grantedBroadcastMyLogicalChannel" },
11726
  {   1, "deniedBroadcastMyLogicalChannel" },
11727
  { 0, NULL }
11728
};
11729
11730
static const per_choice_t T_broadcastMyLogicalChannelResponse_choice[] = {
11731
  {   0, &hf_h245_grantedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11732
  {   1, &hf_h245_deniedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11733
  { 0, NULL, 0, NULL }
11734
};
11735
11736
static unsigned
11737
0
dissect_h245_T_broadcastMyLogicalChannelResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11738
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11739
0
                                 ett_h245_T_broadcastMyLogicalChannelResponse, T_broadcastMyLogicalChannelResponse_choice,
11740
0
                                 NULL);
11741
11742
0
  return offset;
11743
0
}
11744
11745
11746
static const value_string h245_T_makeTerminalBroadcasterResponse_vals[] = {
11747
  {   0, "grantedMakeTerminalBroadcaster" },
11748
  {   1, "deniedMakeTerminalBroadcaster" },
11749
  { 0, NULL }
11750
};
11751
11752
static const per_choice_t T_makeTerminalBroadcasterResponse_choice[] = {
11753
  {   0, &hf_h245_grantedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11754
  {   1, &hf_h245_deniedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11755
  { 0, NULL, 0, NULL }
11756
};
11757
11758
static unsigned
11759
0
dissect_h245_T_makeTerminalBroadcasterResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11760
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11761
0
                                 ett_h245_T_makeTerminalBroadcasterResponse, T_makeTerminalBroadcasterResponse_choice,
11762
0
                                 NULL);
11763
11764
0
  return offset;
11765
0
}
11766
11767
11768
static const value_string h245_T_sendThisSourceResponse_vals[] = {
11769
  {   0, "grantedSendThisSource" },
11770
  {   1, "deniedSendThisSource" },
11771
  { 0, NULL }
11772
};
11773
11774
static const per_choice_t T_sendThisSourceResponse_choice[] = {
11775
  {   0, &hf_h245_grantedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11776
  {   1, &hf_h245_deniedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11777
  { 0, NULL, 0, NULL }
11778
};
11779
11780
static unsigned
11781
0
dissect_h245_T_sendThisSourceResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11782
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11783
0
                                 ett_h245_T_sendThisSourceResponse, T_sendThisSourceResponse_choice,
11784
0
                                 NULL);
11785
11786
0
  return offset;
11787
0
}
11788
11789
11790
static const per_sequence_t TerminalInformation_sequence[] = {
11791
  { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11792
  { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11793
  { NULL, 0, 0, NULL }
11794
};
11795
11796
static unsigned
11797
0
dissect_h245_TerminalInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11798
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11799
0
                                   ett_h245_TerminalInformation, TerminalInformation_sequence);
11800
11801
0
  return offset;
11802
0
}
11803
11804
11805
static const per_sequence_t SEQUENCE_OF_TerminalInformation_sequence_of[1] = {
11806
  { &hf_h245_terminalInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalInformation },
11807
};
11808
11809
static unsigned
11810
0
dissect_h245_SEQUENCE_OF_TerminalInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11811
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
11812
0
                                      ett_h245_SEQUENCE_OF_TerminalInformation, SEQUENCE_OF_TerminalInformation_sequence_of);
11813
11814
0
  return offset;
11815
0
}
11816
11817
11818
static const per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
11819
  { &hf_h245_terminalInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_TerminalInformation },
11820
  { NULL, 0, 0, NULL }
11821
};
11822
11823
static unsigned
11824
0
dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11825
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11826
0
                                   ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
11827
11828
0
  return offset;
11829
0
}
11830
11831
11832
static const value_string h245_T_reject_vals[] = {
11833
  {   0, "unspecified" },
11834
  {   1, "functionNotSupported" },
11835
  { 0, NULL }
11836
};
11837
11838
static const per_choice_t T_reject_choice[] = {
11839
  {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11840
  {   1, &hf_h245_functionNotSupportedFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11841
  { 0, NULL, 0, NULL }
11842
};
11843
11844
static unsigned
11845
0
dissect_h245_T_reject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11846
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11847
0
                                 ett_h245_T_reject, T_reject_choice,
11848
0
                                 NULL);
11849
11850
0
  return offset;
11851
0
}
11852
11853
11854
static const value_string h245_RemoteMCResponse_vals[] = {
11855
  {   0, "accept" },
11856
  {   1, "reject" },
11857
  { 0, NULL }
11858
};
11859
11860
static const per_choice_t RemoteMCResponse_choice[] = {
11861
  {   0, &hf_h245_accept         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11862
  {   1, &hf_h245_reject         , ASN1_EXTENSION_ROOT    , dissect_h245_T_reject },
11863
  { 0, NULL, 0, NULL }
11864
};
11865
11866
static unsigned
11867
0
dissect_h245_RemoteMCResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11868
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11869
0
                                 ett_h245_RemoteMCResponse, RemoteMCResponse_choice,
11870
0
                                 NULL);
11871
11872
0
  return offset;
11873
0
}
11874
11875
11876
static const value_string h245_ConferenceResponse_vals[] = {
11877
  {   0, "mCTerminalIDResponse" },
11878
  {   1, "terminalIDResponse" },
11879
  {   2, "conferenceIDResponse" },
11880
  {   3, "passwordResponse" },
11881
  {   4, "terminalListResponse" },
11882
  {   5, "videoCommandReject" },
11883
  {   6, "terminalDropReject" },
11884
  {   7, "makeMeChairResponse" },
11885
  {   8, "extensionAddressResponse" },
11886
  {   9, "chairTokenOwnerResponse" },
11887
  {  10, "terminalCertificateResponse" },
11888
  {  11, "broadcastMyLogicalChannelResponse" },
11889
  {  12, "makeTerminalBroadcasterResponse" },
11890
  {  13, "sendThisSourceResponse" },
11891
  {  14, "requestAllTerminalIDsResponse" },
11892
  {  15, "remoteMCResponse" },
11893
  { 0, NULL }
11894
};
11895
11896
static const per_choice_t ConferenceResponse_choice[] = {
11897
  {   0, &hf_h245_mCTerminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_mCTerminalIDResponse },
11898
  {   1, &hf_h245_terminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_terminalIDResponse },
11899
  {   2, &hf_h245_conferenceIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_conferenceIDResponse },
11900
  {   3, &hf_h245_passwordResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_passwordResponse },
11901
  {   4, &hf_h245_terminalListResponse, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_TerminalLabel },
11902
  {   5, &hf_h245_videoCommandReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11903
  {   6, &hf_h245_terminalDropReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11904
  {   7, &hf_h245_makeMeChairResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_makeMeChairResponse },
11905
  {   8, &hf_h245_extensionAddressResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extensionAddressResponse },
11906
  {   9, &hf_h245_chairTokenOwnerResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_chairTokenOwnerResponse },
11907
  {  10, &hf_h245_terminalCertificateResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_terminalCertificateResponse },
11908
  {  11, &hf_h245_broadcastMyLogicalChannelResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_broadcastMyLogicalChannelResponse },
11909
  {  12, &hf_h245_makeTerminalBroadcasterResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_makeTerminalBroadcasterResponse },
11910
  {  13, &hf_h245_sendThisSourceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_sendThisSourceResponse },
11911
  {  14, &hf_h245_requestAllTerminalIDsResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RequestAllTerminalIDsResponse },
11912
  {  15, &hf_h245_remoteMCResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCResponse },
11913
  { 0, NULL, 0, NULL }
11914
};
11915
11916
static unsigned
11917
0
dissect_h245_ConferenceResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11918
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11919
0
                                 ett_h245_ConferenceResponse, ConferenceResponse_choice,
11920
0
                                 NULL);
11921
11922
0
  return offset;
11923
0
}
11924
11925
11926
static const per_sequence_t CallInformationResp_sequence[] = {
11927
  { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
11928
  { &hf_h245_callAssociationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
11929
  { NULL, 0, 0, NULL }
11930
};
11931
11932
static unsigned
11933
0
dissect_h245_CallInformationResp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11934
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11935
0
                                   ett_h245_CallInformationResp, CallInformationResp_sequence);
11936
11937
0
  return offset;
11938
0
}
11939
11940
11941
static const value_string h245_T_rejected_vals[] = {
11942
  {   0, "connectionsNotAvailable" },
11943
  {   1, "userRejected" },
11944
  { 0, NULL }
11945
};
11946
11947
static const per_choice_t T_rejected_choice[] = {
11948
  {   0, &hf_h245_connectionsNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11949
  {   1, &hf_h245_userRejected   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11950
  { 0, NULL, 0, NULL }
11951
};
11952
11953
static unsigned
11954
0
dissect_h245_T_rejected(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11955
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11956
0
                                 ett_h245_T_rejected, T_rejected_choice,
11957
0
                                 NULL);
11958
11959
0
  return offset;
11960
0
}
11961
11962
11963
static const value_string h245_T_responseCode_vals[] = {
11964
  {   0, "accepted" },
11965
  {   1, "rejected" },
11966
  { 0, NULL }
11967
};
11968
11969
static const per_choice_t T_responseCode_choice[] = {
11970
  {   0, &hf_h245_accepted       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11971
  {   1, &hf_h245_rejected       , ASN1_EXTENSION_ROOT    , dissect_h245_T_rejected },
11972
  { 0, NULL, 0, NULL }
11973
};
11974
11975
static unsigned
11976
0
dissect_h245_T_responseCode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11977
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11978
0
                                 ett_h245_T_responseCode, T_responseCode_choice,
11979
0
                                 NULL);
11980
11981
0
  return offset;
11982
0
}
11983
11984
11985
static const per_sequence_t AddConnectionResp_sequence[] = {
11986
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11987
  { &hf_h245_responseCode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_responseCode },
11988
  { NULL, 0, 0, NULL }
11989
};
11990
11991
static unsigned
11992
0
dissect_h245_AddConnectionResp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11993
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11994
0
                                   ett_h245_AddConnectionResp, AddConnectionResp_sequence);
11995
11996
0
  return offset;
11997
0
}
11998
11999
12000
static const per_sequence_t RemoveConnectionResp_sequence[] = {
12001
  { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
12002
  { NULL, 0, 0, NULL }
12003
};
12004
12005
static unsigned
12006
0
dissect_h245_RemoveConnectionResp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12007
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12008
0
                                   ett_h245_RemoveConnectionResp, RemoveConnectionResp_sequence);
12009
12010
0
  return offset;
12011
0
}
12012
12013
12014
static const per_sequence_t MaximumHeaderIntervalResp_sequence[] = {
12015
  { &hf_h245_currentInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
12016
  { NULL, 0, 0, NULL }
12017
};
12018
12019
static unsigned
12020
0
dissect_h245_MaximumHeaderIntervalResp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12021
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12022
0
                                   ett_h245_MaximumHeaderIntervalResp, MaximumHeaderIntervalResp_sequence);
12023
12024
0
  return offset;
12025
0
}
12026
12027
12028
static const value_string h245_MultilinkResponse_vals[] = {
12029
  {   0, "nonStandard" },
12030
  {   1, "callInformation" },
12031
  {   2, "addConnection" },
12032
  {   3, "removeConnection" },
12033
  {   4, "maximumHeaderInterval" },
12034
  { 0, NULL }
12035
};
12036
12037
static const per_choice_t MultilinkResponse_choice[] = {
12038
  {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12039
  {   1, &hf_h245_callInformationResp, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationResp },
12040
  {   2, &hf_h245_addConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionResp },
12041
  {   3, &hf_h245_removeConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionResp },
12042
  {   4, &hf_h245_maximumHeaderIntervalResp, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalResp },
12043
  { 0, NULL, 0, NULL }
12044
};
12045
12046
static unsigned
12047
0
dissect_h245_MultilinkResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12048
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12049
0
                                 ett_h245_MultilinkResponse, MultilinkResponse_choice,
12050
0
                                 NULL);
12051
12052
0
  return offset;
12053
0
}
12054
12055
12056
static const per_sequence_t LogicalChannelRateAcknowledge_sequence[] = {
12057
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12058
  { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12059
  { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
12060
  { NULL, 0, 0, NULL }
12061
};
12062
12063
static unsigned
12064
0
dissect_h245_LogicalChannelRateAcknowledge(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12065
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12066
0
                                   ett_h245_LogicalChannelRateAcknowledge, LogicalChannelRateAcknowledge_sequence);
12067
12068
0
  return offset;
12069
0
}
12070
12071
12072
static const value_string h245_LogicalChannelRateRejectReason_vals[] = {
12073
  {   0, "undefinedReason" },
12074
  {   1, "insufficientResources" },
12075
  { 0, NULL }
12076
};
12077
12078
static const per_choice_t LogicalChannelRateRejectReason_choice[] = {
12079
  {   0, &hf_h245_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12080
  {   1, &hf_h245_insufficientResources, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12081
  { 0, NULL, 0, NULL }
12082
};
12083
12084
static unsigned
12085
0
dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12086
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12087
0
                                 ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice,
12088
0
                                 NULL);
12089
12090
0
  return offset;
12091
0
}
12092
12093
12094
static const per_sequence_t LogicalChannelRateReject_sequence[] = {
12095
  { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12096
  { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12097
  { &hf_h245_rejectReason   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelRateRejectReason },
12098
  { &hf_h245_currentMaximumBitRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MaximumBitRate },
12099
  { NULL, 0, 0, NULL }
12100
};
12101
12102
static unsigned
12103
0
dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12104
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12105
0
                                   ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
12106
12107
0
  return offset;
12108
0
}
12109
12110
12111
static const value_string h245_ResponseMessage_vals[] = {
12112
  { ResponseMessage_nonStandard, "nonStandard" },
12113
  { ResponseMessage_masterSlaveDeterminationAck, "masterSlaveDeterminationAck" },
12114
  { ResponseMessage_masterSlaveDeterminationReject, "masterSlaveDeterminationReject" },
12115
  { ResponseMessage_terminalCapabilitySetAck, "terminalCapabilitySetAck" },
12116
  { ResponseMessage_terminalCapabilitySetReject, "terminalCapabilitySetReject" },
12117
  { ResponseMessage_openLogicalChannelAck, "openLogicalChannelAck" },
12118
  { ResponseMessage_openLogicalChannelReject, "openLogicalChannelReject" },
12119
  { ResponseMessage_closeLogicalChannelAck, "closeLogicalChannelAck" },
12120
  { ResponseMessage_requestChannelCloseAck, "requestChannelCloseAck" },
12121
  { ResponseMessage_requestChannelCloseReject, "requestChannelCloseReject" },
12122
  { ResponseMessage_multiplexEntrySendAck, "multiplexEntrySendAck" },
12123
  { ResponseMessage_multiplexEntrySendReject, "multiplexEntrySendReject" },
12124
  { ResponseMessage_requestMultiplexEntryAck, "requestMultiplexEntryAck" },
12125
  { ResponseMessage_requestMultiplexEntryReject, "requestMultiplexEntryReject" },
12126
  { ResponseMessage_requestModeAck, "requestModeAck" },
12127
  { ResponseMessage_requestModeReject, "requestModeReject" },
12128
  { ResponseMessage_roundTripDelayResponse, "roundTripDelayResponse" },
12129
  { ResponseMessage_maintenanceLoopAck, "maintenanceLoopAck" },
12130
  { ResponseMessage_maintenanceLoopReject, "maintenanceLoopReject" },
12131
  { ResponseMessage_communicationModeResponse, "communicationModeResponse" },
12132
  { ResponseMessage_conferenceResponse, "conferenceResponse" },
12133
  { ResponseMessage_multilinkResponse, "multilinkResponse" },
12134
  { ResponseMessage_logicalChannelRateAcknowledge, "logicalChannelRateAcknowledge" },
12135
  { ResponseMessage_logicalChannelRateReject, "logicalChannelRateReject" },
12136
  { ResponseMessage_genericResponse, "genericResponse" },
12137
  { 0, NULL }
12138
};
12139
12140
static const per_choice_t ResponseMessage_choice[] = {
12141
  { ResponseMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12142
  { ResponseMessage_masterSlaveDeterminationAck, &hf_h245_masterSlaveDeterminationAck, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationAck },
12143
  { ResponseMessage_masterSlaveDeterminationReject, &hf_h245_masterSlaveDeterminationReject, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationReject },
12144
  { ResponseMessage_terminalCapabilitySetAck, &hf_h245_terminalCapabilitySetAck, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetAck },
12145
  { ResponseMessage_terminalCapabilitySetReject, &hf_h245_terminalCapabilitySetReject, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetReject },
12146
  { ResponseMessage_openLogicalChannelAck, &hf_h245_openLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelAck },
12147
  { ResponseMessage_openLogicalChannelReject, &hf_h245_openLogicalChannelReject, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelReject },
12148
  { ResponseMessage_closeLogicalChannelAck, &hf_h245_closeLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannelAck },
12149
  { ResponseMessage_requestChannelCloseAck, &hf_h245_requestChannelCloseAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseAck },
12150
  { ResponseMessage_requestChannelCloseReject, &hf_h245_requestChannelCloseReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseReject },
12151
  { ResponseMessage_multiplexEntrySendAck, &hf_h245_multiplexEntrySendAck, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendAck },
12152
  { ResponseMessage_multiplexEntrySendReject, &hf_h245_multiplexEntrySendReject, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendReject },
12153
  { ResponseMessage_requestMultiplexEntryAck, &hf_h245_requestMultiplexEntryAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryAck },
12154
  { ResponseMessage_requestMultiplexEntryReject, &hf_h245_requestMultiplexEntryReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryReject },
12155
  { ResponseMessage_requestModeAck, &hf_h245_requestModeAck , ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeAck },
12156
  { ResponseMessage_requestModeReject, &hf_h245_requestModeReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeReject },
12157
  { ResponseMessage_roundTripDelayResponse, &hf_h245_roundTripDelayResponse, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayResponse },
12158
  { ResponseMessage_maintenanceLoopAck, &hf_h245_maintenanceLoopAck, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopAck },
12159
  { ResponseMessage_maintenanceLoopReject, &hf_h245_maintenanceLoopReject, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopReject },
12160
  { ResponseMessage_communicationModeResponse, &hf_h245_communicationModeResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeResponse },
12161
  { ResponseMessage_conferenceResponse, &hf_h245_conferenceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceResponse },
12162
  { ResponseMessage_multilinkResponse, &hf_h245_multilinkResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkResponse },
12163
  { ResponseMessage_logicalChannelRateAcknowledge, &hf_h245_logicalChannelRateAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateAcknowledge },
12164
  { ResponseMessage_logicalChannelRateReject, &hf_h245_logicalChannelRateReject, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateReject },
12165
  { ResponseMessage_genericResponse, &hf_h245_genericResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
12166
  { 0, NULL, 0, NULL }
12167
};
12168
12169
static unsigned
12170
0
dissect_h245_ResponseMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12171
0
  int32_t value;
12172
12173
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12174
0
                                 ett_h245_ResponseMessage, ResponseMessage_choice,
12175
0
                                 &value);
12176
12177
0
  print_info_column(actx->pinfo->cinfo, &value, h245_ResponseMessage_vals, h245_ResponseMessage_short_vals);
12178
0
  col_set_fence(actx->pinfo->cinfo,COL_INFO);
12179
12180
0
  if (h245_pi != NULL){
12181
    /* Add to packet info */
12182
0
    if ( strlen(h245_pi->frame_label) == 0 ){
12183
0
                   snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(value, h245_ResponseMessage_short_vals, "UKN"));
12184
0
    }
12185
0
                (void) g_strlcat(h245_pi->comment, val_to_str_const(value, h245_ResponseMessage_vals, "<unknown>"), 50);
12186
0
  }
12187
12188
12189
0
  return offset;
12190
0
}
12191
12192
12193
static const per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
12194
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
12195
};
12196
12197
static unsigned
12198
0
dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12199
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12200
0
                                   ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
12201
12202
0
  return offset;
12203
0
}
12204
12205
12206
static const per_sequence_t SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of[1] = {
12207
  { &hf_h245_capabilityTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
12208
};
12209
12210
static unsigned
12211
0
dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12212
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12213
0
                                             ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber, SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of,
12214
0
                                             1, 65535, false);
12215
12216
0
  return offset;
12217
0
}
12218
12219
12220
static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of[1] = {
12221
  { &hf_h245_capabilityDescriptorNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
12222
};
12223
12224
static unsigned
12225
0
dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12226
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12227
0
                                             ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber, SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of,
12228
0
                                             1, 256, false);
12229
12230
0
  return offset;
12231
0
}
12232
12233
12234
static const per_sequence_t T_specificRequest_sequence[] = {
12235
  { &hf_h245_multiplexCapabilityBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12236
  { &hf_h245_capabilityTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber },
12237
  { &hf_h245_capabilityDescriptorNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber },
12238
  { NULL, 0, 0, NULL }
12239
};
12240
12241
static unsigned
12242
0
dissect_h245_T_specificRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12243
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12244
0
                                   ett_h245_T_specificRequest, T_specificRequest_sequence);
12245
12246
0
  return offset;
12247
0
}
12248
12249
12250
static const value_string h245_SendTerminalCapabilitySet_vals[] = {
12251
  {   0, "specificRequest" },
12252
  {   1, "genericRequest" },
12253
  { 0, NULL }
12254
};
12255
12256
static const per_choice_t SendTerminalCapabilitySet_choice[] = {
12257
  {   0, &hf_h245_specificRequest, ASN1_EXTENSION_ROOT    , dissect_h245_T_specificRequest },
12258
  {   1, &hf_h245_genericRequestFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12259
  { 0, NULL, 0, NULL }
12260
};
12261
12262
static unsigned
12263
0
dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12264
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12265
0
                                 ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice,
12266
0
                                 NULL);
12267
12268
0
  return offset;
12269
0
}
12270
12271
12272
static const per_sequence_t T_encryptionAlgorithmID_sequence[] = {
12273
  { &hf_h245_h233AlgorithmIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12274
  { &hf_h245_associatedAlgorithm, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
12275
  { NULL, 0, 0, NULL }
12276
};
12277
12278
static unsigned
12279
0
dissect_h245_T_encryptionAlgorithmID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12280
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12281
0
                                   ett_h245_T_encryptionAlgorithmID, T_encryptionAlgorithmID_sequence);
12282
12283
0
  return offset;
12284
0
}
12285
12286
12287
static const value_string h245_EncryptionCommand_vals[] = {
12288
  {   0, "encryptionSE" },
12289
  {   1, "encryptionIVRequest" },
12290
  {   2, "encryptionAlgorithmID" },
12291
  { 0, NULL }
12292
};
12293
12294
static const per_choice_t EncryptionCommand_choice[] = {
12295
  {   0, &hf_h245_encryptionSE   , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING },
12296
  {   1, &hf_h245_encryptionIVRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12297
  {   2, &hf_h245_encryptionAlgorithmID, ASN1_EXTENSION_ROOT    , dissect_h245_T_encryptionAlgorithmID },
12298
  { 0, NULL, 0, NULL }
12299
};
12300
12301
static unsigned
12302
0
dissect_h245_EncryptionCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12303
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12304
0
                                 ett_h245_EncryptionCommand, EncryptionCommand_choice,
12305
0
                                 NULL);
12306
12307
0
  return offset;
12308
0
}
12309
12310
12311
static const value_string h245_Scope_vals[] = {
12312
  {   0, "logicalChannelNumber" },
12313
  {   1, "resourceID" },
12314
  {   2, "wholeMultiplex" },
12315
  { 0, NULL }
12316
};
12317
12318
static const per_choice_t Scope_choice[] = {
12319
  {   0, &hf_h245_logicalChannelNumber, ASN1_NO_EXTENSIONS     , dissect_h245_LogicalChannelNumber },
12320
  {   1, &hf_h245_resourceID     , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_65535 },
12321
  {   2, &hf_h245_wholeMultiplex , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12322
  { 0, NULL, 0, NULL }
12323
};
12324
12325
static unsigned
12326
0
dissect_h245_Scope(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12327
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12328
0
                                 ett_h245_Scope, Scope_choice,
12329
0
                                 NULL);
12330
12331
0
  return offset;
12332
0
}
12333
12334
12335
static const value_string h245_Restriction_vals[] = {
12336
  {   0, "maximumBitRate" },
12337
  {   1, "noRestriction" },
12338
  { 0, NULL }
12339
};
12340
12341
static const per_choice_t Restriction_choice[] = {
12342
  {   0, &hf_h245_res_maximumBitRate, ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_16777215 },
12343
  {   1, &hf_h245_noRestriction  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12344
  { 0, NULL, 0, NULL }
12345
};
12346
12347
static unsigned
12348
0
dissect_h245_Restriction(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12349
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12350
0
                                 ett_h245_Restriction, Restriction_choice,
12351
0
                                 NULL);
12352
12353
0
  return offset;
12354
0
}
12355
12356
12357
static const per_sequence_t FlowControlCommand_sequence[] = {
12358
  { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
12359
  { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
12360
  { NULL, 0, 0, NULL }
12361
};
12362
12363
static unsigned
12364
0
dissect_h245_FlowControlCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12365
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12366
0
                                   ett_h245_FlowControlCommand, FlowControlCommand_sequence);
12367
12368
0
  return offset;
12369
0
}
12370
12371
12372
static const value_string h245_T_gstnOptions_vals[] = {
12373
  {   0, "telephonyMode" },
12374
  {   1, "v8bis" },
12375
  {   2, "v34DSVD" },
12376
  {   3, "v34DuplexFAX" },
12377
  {   4, "v34H324" },
12378
  { 0, NULL }
12379
};
12380
12381
static const per_choice_t T_gstnOptions_choice[] = {
12382
  {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12383
  {   1, &hf_h245_v8bis          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12384
  {   2, &hf_h245_v34DSVD        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12385
  {   3, &hf_h245_v34DuplexFAX   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12386
  {   4, &hf_h245_v34H324        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12387
  { 0, NULL, 0, NULL }
12388
};
12389
12390
static unsigned
12391
0
dissect_h245_T_gstnOptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12392
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12393
0
                                 ett_h245_T_gstnOptions, T_gstnOptions_choice,
12394
0
                                 NULL);
12395
12396
0
  return offset;
12397
0
}
12398
12399
12400
static const value_string h245_T_isdnOptions_vals[] = {
12401
  {   0, "telephonyMode" },
12402
  {   1, "v140" },
12403
  {   2, "terminalOnHold" },
12404
  { 0, NULL }
12405
};
12406
12407
static const per_choice_t T_isdnOptions_choice[] = {
12408
  {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12409
  {   1, &hf_h245_v140           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12410
  {   2, &hf_h245_terminalOnHold , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12411
  { 0, NULL, 0, NULL }
12412
};
12413
12414
static unsigned
12415
0
dissect_h245_T_isdnOptions(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12416
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12417
0
                                 ett_h245_T_isdnOptions, T_isdnOptions_choice,
12418
0
                                 NULL);
12419
12420
0
  return offset;
12421
0
}
12422
12423
12424
static const value_string h245_EndSessionCommand_vals[] = {
12425
  {   0, "nonStandard" },
12426
  {   1, "disconnect" },
12427
  {   2, "gstnOptions" },
12428
  {   3, "isdnOptions" },
12429
  {   4, "genericInformation" },
12430
  { 0, NULL }
12431
};
12432
12433
static const per_choice_t EndSessionCommand_choice[] = {
12434
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
12435
  {   1, &hf_h245_disconnect     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12436
  {   2, &hf_h245_gstnOptions    , ASN1_EXTENSION_ROOT    , dissect_h245_T_gstnOptions },
12437
  {   3, &hf_h245_isdnOptions    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_isdnOptions },
12438
  {   4, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
12439
  { 0, NULL, 0, NULL }
12440
};
12441
12442
static unsigned
12443
0
dissect_h245_EndSessionCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12444
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12445
0
                                 ett_h245_EndSessionCommand, EndSessionCommand_choice,
12446
0
                                 NULL);
12447
12448
0
  return offset;
12449
0
}
12450
12451
12452
12453
static unsigned
12454
0
dissect_h245_INTEGER_0_17(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12455
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12456
0
                                                            0U, 17U, NULL, false);
12457
12458
0
  return offset;
12459
0
}
12460
12461
12462
12463
static unsigned
12464
0
dissect_h245_INTEGER_1_18(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12465
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12466
0
                                                            1U, 18U, NULL, false);
12467
12468
0
  return offset;
12469
0
}
12470
12471
12472
static const per_sequence_t T_videoFastUpdateGOB_sequence[] = {
12473
  { &hf_h245_firstGOB       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_17 },
12474
  { &hf_h245_numberOfGOBs   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_18 },
12475
  { NULL, 0, 0, NULL }
12476
};
12477
12478
static unsigned
12479
0
dissect_h245_T_videoFastUpdateGOB(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12480
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12481
0
                                   ett_h245_T_videoFastUpdateGOB, T_videoFastUpdateGOB_sequence);
12482
12483
0
  return offset;
12484
0
}
12485
12486
12487
12488
static unsigned
12489
0
dissect_h245_INTEGER_0_31(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12490
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12491
0
                                                            0U, 31U, NULL, false);
12492
12493
0
  return offset;
12494
0
}
12495
12496
12497
12498
static unsigned
12499
0
dissect_h245_INTEGER_1_8192(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12500
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12501
0
                                                            1U, 8192U, NULL, false);
12502
12503
0
  return offset;
12504
0
}
12505
12506
12507
static const per_sequence_t T_videoFastUpdateMB_sequence[] = {
12508
  { &hf_h245_firstGOB_0_255 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12509
  { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_8192 },
12510
  { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
12511
  { NULL, 0, 0, NULL }
12512
};
12513
12514
static unsigned
12515
0
dissect_h245_T_videoFastUpdateMB(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12516
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12517
0
                                   ett_h245_T_videoFastUpdateMB, T_videoFastUpdateMB_sequence);
12518
12519
0
  return offset;
12520
0
}
12521
12522
12523
static const per_sequence_t KeyProtectionMethod_sequence[] = {
12524
  { &hf_h245_secureChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12525
  { &hf_h245_sharedSecret   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12526
  { &hf_h245_certProtectedKey, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12527
  { NULL, 0, 0, NULL }
12528
};
12529
12530
static unsigned
12531
0
dissect_h245_KeyProtectionMethod(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12532
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12533
0
                                   ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
12534
12535
0
  return offset;
12536
0
}
12537
12538
12539
static const per_sequence_t EncryptionUpdateRequest_sequence[] = {
12540
  { &hf_h245_keyProtectionMethod, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_KeyProtectionMethod },
12541
  { &hf_h245_synchFlag      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12542
  { NULL, 0, 0, NULL }
12543
};
12544
12545
static unsigned
12546
0
dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12547
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12548
0
                                   ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
12549
12550
0
  return offset;
12551
0
}
12552
12553
12554
static const value_string h245_T_repeatCount_vals[] = {
12555
  {   0, "doOneProgression" },
12556
  {   1, "doContinuousProgressions" },
12557
  {   2, "doOneIndependentProgression" },
12558
  {   3, "doContinuousIndependentProgressions" },
12559
  { 0, NULL }
12560
};
12561
12562
static const per_choice_t T_repeatCount_choice[] = {
12563
  {   0, &hf_h245_doOneProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12564
  {   1, &hf_h245_doContinuousProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12565
  {   2, &hf_h245_doOneIndependentProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12566
  {   3, &hf_h245_doContinuousIndependentProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12567
  { 0, NULL, 0, NULL }
12568
};
12569
12570
static unsigned
12571
0
dissect_h245_T_repeatCount(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12572
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12573
0
                                 ett_h245_T_repeatCount, T_repeatCount_choice,
12574
0
                                 NULL);
12575
12576
0
  return offset;
12577
0
}
12578
12579
12580
static const per_sequence_t T_progressiveRefinementStart_sequence[] = {
12581
  { &hf_h245_repeatCount    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_repeatCount },
12582
  { NULL, 0, 0, NULL }
12583
};
12584
12585
static unsigned
12586
0
dissect_h245_T_progressiveRefinementStart(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12587
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12588
0
                                   ett_h245_T_progressiveRefinementStart, T_progressiveRefinementStart_sequence);
12589
12590
0
  return offset;
12591
0
}
12592
12593
12594
12595
static unsigned
12596
0
dissect_h245_INTEGER_1_9216(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12597
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12598
0
                                                            1U, 9216U, NULL, false);
12599
12600
0
  return offset;
12601
0
}
12602
12603
12604
static const per_sequence_t T_videoBadMBs_sequence[] = {
12605
  { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12606
  { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12607
  { &hf_h245_temporalReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
12608
  { NULL, 0, 0, NULL }
12609
};
12610
12611
static unsigned
12612
0
dissect_h245_T_videoBadMBs(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12613
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12614
0
                                   ett_h245_T_videoBadMBs, T_videoBadMBs_sequence);
12615
12616
0
  return offset;
12617
0
}
12618
12619
12620
static const value_string h245_PictureReference_vals[] = {
12621
  {   0, "pictureNumber" },
12622
  {   1, "longTermPictureIndex" },
12623
  { 0, NULL }
12624
};
12625
12626
static const per_choice_t PictureReference_choice[] = {
12627
  {   0, &hf_h245_pictureNumber  , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_1023 },
12628
  {   1, &hf_h245_longTermPictureIndex, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_255 },
12629
  { 0, NULL, 0, NULL }
12630
};
12631
12632
static unsigned
12633
0
dissect_h245_PictureReference(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12634
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12635
0
                                 ett_h245_PictureReference, PictureReference_choice,
12636
0
                                 NULL);
12637
12638
0
  return offset;
12639
0
}
12640
12641
12642
static const per_sequence_t SEQUENCE_OF_PictureReference_sequence_of[1] = {
12643
  { &hf_h245_lostPicture_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12644
};
12645
12646
static unsigned
12647
0
dissect_h245_SEQUENCE_OF_PictureReference(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12648
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
12649
0
                                      ett_h245_SEQUENCE_OF_PictureReference, SEQUENCE_OF_PictureReference_sequence_of);
12650
12651
0
  return offset;
12652
0
}
12653
12654
12655
static const per_sequence_t T_lostPartialPicture_sequence[] = {
12656
  { &hf_h245_pictureReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12657
  { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12658
  { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12659
  { NULL, 0, 0, NULL }
12660
};
12661
12662
static unsigned
12663
0
dissect_h245_T_lostPartialPicture(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12664
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12665
0
                                   ett_h245_T_lostPartialPicture, T_lostPartialPicture_sequence);
12666
12667
0
  return offset;
12668
0
}
12669
12670
12671
static const per_sequence_t T_encryptionUpdateCommand_sequence[] = {
12672
  { &hf_h245_encryptionSync , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionSync },
12673
  { &hf_h245_multiplePayloadStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplePayloadStream },
12674
  { NULL, 0, 0, NULL }
12675
};
12676
12677
static unsigned
12678
0
dissect_h245_T_encryptionUpdateCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12679
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12680
0
                                   ett_h245_T_encryptionUpdateCommand, T_encryptionUpdateCommand_sequence);
12681
12682
0
  return offset;
12683
0
}
12684
12685
12686
static const per_sequence_t T_encryptionUpdateAck_sequence[] = {
12687
  { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
12688
  { NULL, 0, 0, NULL }
12689
};
12690
12691
static unsigned
12692
0
dissect_h245_T_encryptionUpdateAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12693
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12694
0
                                   ett_h245_T_encryptionUpdateAck, T_encryptionUpdateAck_sequence);
12695
12696
0
  return offset;
12697
0
}
12698
12699
12700
static const value_string h245_Mc_type_vals[] = {
12701
  {   0, "equaliseDelay" },
12702
  {   1, "zeroDelay" },
12703
  {   2, "multipointModeCommand" },
12704
  {   3, "cancelMultipointModeCommand" },
12705
  {   4, "videoFreezePicture" },
12706
  {   5, "videoFastUpdatePicture" },
12707
  {   6, "videoFastUpdateGOB" },
12708
  {   7, "videoTemporalSpatialTradeOff" },
12709
  {   8, "videoSendSyncEveryGOB" },
12710
  {   9, "videoSendSyncEveryGOBCancel" },
12711
  {  10, "videoFastUpdateMB" },
12712
  {  11, "maxH223MUXPDUsize" },
12713
  {  12, "encryptionUpdate" },
12714
  {  13, "encryptionUpdateRequest" },
12715
  {  14, "switchReceiveMediaOff" },
12716
  {  15, "switchReceiveMediaOn" },
12717
  {  16, "progressiveRefinementStart" },
12718
  {  17, "progressiveRefinementAbortOne" },
12719
  {  18, "progressiveRefinementAbortContinuous" },
12720
  {  19, "videoBadMBs" },
12721
  {  20, "lostPicture" },
12722
  {  21, "lostPartialPicture" },
12723
  {  22, "recoveryReferencePicture" },
12724
  {  23, "encryptionUpdateCommand" },
12725
  {  24, "encryptionUpdateAck" },
12726
  { 0, NULL }
12727
};
12728
12729
static const per_choice_t Mc_type_choice[] = {
12730
  {   0, &hf_h245_equaliseDelay  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12731
  {   1, &hf_h245_zeroDelay      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12732
  {   2, &hf_h245_multipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12733
  {   3, &hf_h245_cancelMultipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12734
  {   4, &hf_h245_videoFreezePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12735
  {   5, &hf_h245_videoFastUpdatePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12736
  {   6, &hf_h245_videoFastUpdateGOB, ASN1_EXTENSION_ROOT    , dissect_h245_T_videoFastUpdateGOB },
12737
  {   7, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
12738
  {   8, &hf_h245_videoSendSyncEveryGOB, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12739
  {   9, &hf_h245_videoSendSyncEveryGOBCancel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12740
  {  10, &hf_h245_videoFastUpdateMB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoFastUpdateMB },
12741
  {  11, &hf_h245_maxH223MUXPDUsize, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_65535 },
12742
  {  12, &hf_h245_encryptionUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionSync },
12743
  {  13, &hf_h245_encryptionUpdateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionUpdateRequest },
12744
  {  14, &hf_h245_switchReceiveMediaOff, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12745
  {  15, &hf_h245_switchReceiveMediaOn, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12746
  {  16, &hf_h245_progressiveRefinementStart, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_progressiveRefinementStart },
12747
  {  17, &hf_h245_progressiveRefinementAbortOne, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12748
  {  18, &hf_h245_progressiveRefinementAbortContinuous, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12749
  {  19, &hf_h245_videoBadMBs    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoBadMBs },
12750
  {  20, &hf_h245_lostPicture    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12751
  {  21, &hf_h245_lostPartialPicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_lostPartialPicture },
12752
  {  22, &hf_h245_recoveryReferencePicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12753
  {  23, &hf_h245_encryptionUpdateCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateCommand },
12754
  {  24, &hf_h245_encryptionUpdateAck, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateAck },
12755
  { 0, NULL, 0, NULL }
12756
};
12757
12758
static unsigned
12759
0
dissect_h245_Mc_type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12760
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12761
0
                                 ett_h245_Mc_type, Mc_type_choice,
12762
0
                                 NULL);
12763
12764
0
  return offset;
12765
0
}
12766
12767
12768
static const value_string h245_EncryptionUpdateDirection_vals[] = {
12769
  {   0, "masterToSlave" },
12770
  {   1, "slaveToMaster" },
12771
  { 0, NULL }
12772
};
12773
12774
static const per_choice_t EncryptionUpdateDirection_choice[] = {
12775
  {   0, &hf_h245_masterToSlave  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12776
  {   1, &hf_h245_slaveToMaster  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12777
  { 0, NULL, 0, NULL }
12778
};
12779
12780
static unsigned
12781
0
dissect_h245_EncryptionUpdateDirection(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12782
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12783
0
                                 ett_h245_EncryptionUpdateDirection, EncryptionUpdateDirection_choice,
12784
0
                                 NULL);
12785
12786
0
  return offset;
12787
0
}
12788
12789
12790
static const per_sequence_t MiscellaneousCommand_sequence[] = {
12791
  { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12792
  { &hf_h245_mc_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mc_type },
12793
  { &hf_h245_direction      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionUpdateDirection },
12794
  { NULL, 0, 0, NULL }
12795
};
12796
12797
static unsigned
12798
0
dissect_h245_MiscellaneousCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12799
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12800
0
                                   ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
12801
12802
0
  return offset;
12803
0
}
12804
12805
12806
static const per_sequence_t CommunicationModeCommand_sequence[] = {
12807
  { &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
12808
  { NULL, 0, 0, NULL }
12809
};
12810
12811
static unsigned
12812
0
dissect_h245_CommunicationModeCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12813
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12814
0
                                   ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
12815
12816
0
  return offset;
12817
0
}
12818
12819
12820
static const per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
12821
  { &hf_h245_conferenceIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
12822
  { NULL, 0, 0, NULL }
12823
};
12824
12825
static unsigned
12826
0
dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12827
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12828
0
                                   ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
12829
12830
0
  return offset;
12831
0
}
12832
12833
12834
static const value_string h245_ConferenceCommand_vals[] = {
12835
  {   0, "broadcastMyLogicalChannel" },
12836
  {   1, "cancelBroadcastMyLogicalChannel" },
12837
  {   2, "makeTerminalBroadcaster" },
12838
  {   3, "cancelMakeTerminalBroadcaster" },
12839
  {   4, "sendThisSource" },
12840
  {   5, "cancelSendThisSource" },
12841
  {   6, "dropConference" },
12842
  {   7, "substituteConferenceIDCommand" },
12843
  { 0, NULL }
12844
};
12845
12846
static const per_choice_t ConferenceCommand_choice[] = {
12847
  {   0, &hf_h245_broadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
12848
  {   1, &hf_h245_cancelBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
12849
  {   2, &hf_h245_makeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
12850
  {   3, &hf_h245_cancelMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12851
  {   4, &hf_h245_sendThisSource , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
12852
  {   5, &hf_h245_cancelSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12853
  {   6, &hf_h245_dropConference , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12854
  {   7, &hf_h245_substituteConferenceIDCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SubstituteConferenceIDCommand },
12855
  { 0, NULL, 0, NULL }
12856
};
12857
12858
static unsigned
12859
0
dissect_h245_ConferenceCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12860
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12861
0
                                 ett_h245_ConferenceCommand, ConferenceCommand_choice,
12862
0
                                 NULL);
12863
12864
0
  return offset;
12865
0
}
12866
12867
12868
static const value_string h245_T_h223ModeChange_vals[] = {
12869
  {   0, "toLevel0" },
12870
  {   1, "toLevel1" },
12871
  {   2, "toLevel2" },
12872
  {   3, "toLevel2withOptionalHeader" },
12873
  { 0, NULL }
12874
};
12875
12876
static const per_choice_t T_h223ModeChange_choice[] = {
12877
  {   0, &hf_h245_toLevel0       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12878
  {   1, &hf_h245_toLevel1       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12879
  {   2, &hf_h245_toLevel2       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12880
  {   3, &hf_h245_toLevel2withOptionalHeader, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12881
  { 0, NULL, 0, NULL }
12882
};
12883
12884
static unsigned
12885
0
dissect_h245_T_h223ModeChange(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12886
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12887
0
                                 ett_h245_T_h223ModeChange, T_h223ModeChange_choice,
12888
0
                                 NULL);
12889
12890
0
  return offset;
12891
0
}
12892
12893
12894
static const value_string h245_T_h223AnnexADoubleFlag_vals[] = {
12895
  {   0, "start" },
12896
  {   1, "stop" },
12897
  { 0, NULL }
12898
};
12899
12900
static const per_choice_t T_h223AnnexADoubleFlag_choice[] = {
12901
  {   0, &hf_h245_start          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12902
  {   1, &hf_h245_stop           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12903
  { 0, NULL, 0, NULL }
12904
};
12905
12906
static unsigned
12907
0
dissect_h245_T_h223AnnexADoubleFlag(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12908
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12909
0
                                 ett_h245_T_h223AnnexADoubleFlag, T_h223AnnexADoubleFlag_choice,
12910
0
                                 NULL);
12911
12912
0
  return offset;
12913
0
}
12914
12915
12916
static const value_string h245_H223MultiplexReconfiguration_vals[] = {
12917
  {   0, "h223ModeChange" },
12918
  {   1, "h223AnnexADoubleFlag" },
12919
  { 0, NULL }
12920
};
12921
12922
static const per_choice_t H223MultiplexReconfiguration_choice[] = {
12923
  {   0, &hf_h245_h223ModeChange , ASN1_EXTENSION_ROOT    , dissect_h245_T_h223ModeChange },
12924
  {   1, &hf_h245_h223AnnexADoubleFlag, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223AnnexADoubleFlag },
12925
  { 0, NULL, 0, NULL }
12926
};
12927
12928
static unsigned
12929
0
dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12930
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12931
0
                                 ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice,
12932
0
                                 NULL);
12933
12934
0
  return offset;
12935
0
}
12936
12937
12938
static const value_string h245_Cmd_clockRecovery_vals[] = {
12939
  {   0, "nullClockRecovery" },
12940
  {   1, "srtsClockRecovery" },
12941
  {   2, "adaptiveClockRecovery" },
12942
  { 0, NULL }
12943
};
12944
12945
static const per_choice_t Cmd_clockRecovery_choice[] = {
12946
  {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12947
  {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12948
  {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12949
  { 0, NULL, 0, NULL }
12950
};
12951
12952
static unsigned
12953
0
dissect_h245_Cmd_clockRecovery(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12954
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12955
0
                                 ett_h245_Cmd_clockRecovery, Cmd_clockRecovery_choice,
12956
0
                                 NULL);
12957
12958
0
  return offset;
12959
0
}
12960
12961
12962
static const value_string h245_Cmd_errorCorrection_vals[] = {
12963
  {   0, "nullErrorCorrection" },
12964
  {   1, "longInterleaver" },
12965
  {   2, "shortInterleaver" },
12966
  {   3, "errorCorrectionOnly" },
12967
  { 0, NULL }
12968
};
12969
12970
static const per_choice_t Cmd_errorCorrection_choice[] = {
12971
  {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12972
  {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12973
  {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12974
  {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12975
  { 0, NULL, 0, NULL }
12976
};
12977
12978
static unsigned
12979
0
dissect_h245_Cmd_errorCorrection(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12980
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12981
0
                                 ett_h245_Cmd_errorCorrection, Cmd_errorCorrection_choice,
12982
0
                                 NULL);
12983
12984
0
  return offset;
12985
0
}
12986
12987
12988
static const per_sequence_t Cmd_aal1_sequence[] = {
12989
  { &hf_h245_cmd_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_clockRecovery },
12990
  { &hf_h245_cmd_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_errorCorrection },
12991
  { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12992
  { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12993
  { NULL, 0, 0, NULL }
12994
};
12995
12996
static unsigned
12997
0
dissect_h245_Cmd_aal1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12998
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12999
0
                                   ett_h245_Cmd_aal1, Cmd_aal1_sequence);
13000
13001
0
  return offset;
13002
0
}
13003
13004
13005
static const per_sequence_t Cmd_aal5_sequence[] = {
13006
  { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13007
  { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13008
  { NULL, 0, 0, NULL }
13009
};
13010
13011
static unsigned
13012
0
dissect_h245_Cmd_aal5(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13013
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13014
0
                                   ett_h245_Cmd_aal5, Cmd_aal5_sequence);
13015
13016
0
  return offset;
13017
0
}
13018
13019
13020
static const value_string h245_Cmd_aal_vals[] = {
13021
  {   0, "aal1" },
13022
  {   1, "aal5" },
13023
  { 0, NULL }
13024
};
13025
13026
static const per_choice_t Cmd_aal_choice[] = {
13027
  {   0, &hf_h245_cmd_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal1 },
13028
  {   1, &hf_h245_cmd_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal5 },
13029
  { 0, NULL, 0, NULL }
13030
};
13031
13032
static unsigned
13033
0
dissect_h245_Cmd_aal(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13034
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13035
0
                                 ett_h245_Cmd_aal, Cmd_aal_choice,
13036
0
                                 NULL);
13037
13038
0
  return offset;
13039
0
}
13040
13041
13042
static const value_string h245_Cmd_multiplex_vals[] = {
13043
  {   0, "noMultiplex" },
13044
  {   1, "transportStream" },
13045
  {   2, "programStream" },
13046
  { 0, NULL }
13047
};
13048
13049
static const per_choice_t Cmd_multiplex_choice[] = {
13050
  {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13051
  {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13052
  {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13053
  { 0, NULL, 0, NULL }
13054
};
13055
13056
static unsigned
13057
0
dissect_h245_Cmd_multiplex(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13058
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13059
0
                                 ett_h245_Cmd_multiplex, Cmd_multiplex_choice,
13060
0
                                 NULL);
13061
13062
0
  return offset;
13063
0
}
13064
13065
13066
static const value_string h245_CmdR_multiplex_vals[] = {
13067
  {   0, "noMultiplex" },
13068
  {   1, "transportStream" },
13069
  {   2, "programStream" },
13070
  { 0, NULL }
13071
};
13072
13073
static const per_choice_t CmdR_multiplex_choice[] = {
13074
  {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13075
  {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13076
  {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13077
  { 0, NULL, 0, NULL }
13078
};
13079
13080
static unsigned
13081
0
dissect_h245_CmdR_multiplex(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13082
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13083
0
                                 ett_h245_CmdR_multiplex, CmdR_multiplex_choice,
13084
0
                                 NULL);
13085
13086
0
  return offset;
13087
0
}
13088
13089
13090
static const per_sequence_t Cmd_reverseParameters_sequence[] = {
13091
  { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13092
  { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13093
  { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13094
  { &hf_h245_cmdr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CmdR_multiplex },
13095
  { NULL, 0, 0, NULL }
13096
};
13097
13098
static unsigned
13099
0
dissect_h245_Cmd_reverseParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13100
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13101
0
                                   ett_h245_Cmd_reverseParameters, Cmd_reverseParameters_sequence);
13102
13103
0
  return offset;
13104
0
}
13105
13106
13107
static const per_sequence_t NewATMVCCommand_sequence[] = {
13108
  { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13109
  { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13110
  { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13111
  { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13112
  { &hf_h245_cmd_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_aal },
13113
  { &hf_h245_cmd_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_multiplex },
13114
  { &hf_h245_cmd_reverseParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_reverseParameters },
13115
  { NULL, 0, 0, NULL }
13116
};
13117
13118
static unsigned
13119
0
dissect_h245_NewATMVCCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13120
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13121
0
                                   ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
13122
13123
0
  return offset;
13124
0
}
13125
13126
13127
static const value_string h245_T_status_vals[] = {
13128
  {   0, "synchronized" },
13129
  {   1, "reconfiguration" },
13130
  { 0, NULL }
13131
};
13132
13133
static const per_choice_t T_status_choice[] = {
13134
  {   0, &hf_h245_synchronized   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13135
  {   1, &hf_h245_reconfiguration, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13136
  { 0, NULL, 0, NULL }
13137
};
13138
13139
static unsigned
13140
0
dissect_h245_T_status(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13141
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13142
0
                                 ett_h245_T_status, T_status_choice,
13143
0
                                 NULL);
13144
13145
0
  return offset;
13146
0
}
13147
13148
13149
static const per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
13150
  { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13151
  { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13152
  { &hf_h245_status         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_status },
13153
  { NULL, 0, 0, NULL }
13154
};
13155
13156
static unsigned
13157
0
dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13158
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13159
0
                                   ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
13160
13161
0
  return offset;
13162
0
}
13163
13164
13165
static const value_string h245_CommandMessage_vals[] = {
13166
  { CommandMessage_nonStandard, "nonStandard" },
13167
  { CommandMessage_maintenanceLoopOffCommand, "maintenanceLoopOffCommand" },
13168
  { CommandMessage_sendTerminalCapabilitySet, "sendTerminalCapabilitySet" },
13169
  { CommandMessage_encryptionCommand, "encryptionCommand" },
13170
  { CommandMessage_flowControlCommand, "flowControlCommand" },
13171
  { CommandMessage_endSessionCommand, "endSessionCommand" },
13172
  { CommandMessage_miscellaneousCommand, "miscellaneousCommand" },
13173
  { CommandMessage_communicationModeCommand, "communicationModeCommand" },
13174
  { CommandMessage_conferenceCommand, "conferenceCommand" },
13175
  { CommandMessage_h223MultiplexReconfiguration, "h223MultiplexReconfiguration" },
13176
  { CommandMessage_newATMVCCommand, "newATMVCCommand" },
13177
  { CommandMessage_mobileMultilinkReconfigurationCommand, "mobileMultilinkReconfigurationCommand" },
13178
  { CommandMessage_genericCommand, "genericCommand" },
13179
  { 0, NULL }
13180
};
13181
13182
static const per_choice_t CommandMessage_choice[] = {
13183
  { CommandMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
13184
  { CommandMessage_maintenanceLoopOffCommand, &hf_h245_maintenanceLoopOffCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopOffCommand },
13185
  { CommandMessage_sendTerminalCapabilitySet, &hf_h245_sendTerminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_SendTerminalCapabilitySet },
13186
  { CommandMessage_encryptionCommand, &hf_h245_encryptionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionCommand },
13187
  { CommandMessage_flowControlCommand, &hf_h245_flowControlCommand, ASN1_EXTENSION_ROOT    , dissect_h245_FlowControlCommand },
13188
  { CommandMessage_endSessionCommand, &hf_h245_endSessionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EndSessionCommand },
13189
  { CommandMessage_miscellaneousCommand, &hf_h245_miscellaneousCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousCommand },
13190
  { CommandMessage_communicationModeCommand, &hf_h245_communicationModeCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeCommand },
13191
  { CommandMessage_conferenceCommand, &hf_h245_conferenceCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCommand },
13192
  { CommandMessage_h223MultiplexReconfiguration, &hf_h245_h223MultiplexReconfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223MultiplexReconfiguration },
13193
  { CommandMessage_newATMVCCommand, &hf_h245_newATMVCCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NewATMVCCommand },
13194
  { CommandMessage_mobileMultilinkReconfigurationCommand, &hf_h245_mobileMultilinkReconfigurationCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationCommand },
13195
  { CommandMessage_genericCommand, &hf_h245_genericCommand , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
13196
  { 0, NULL, 0, NULL }
13197
};
13198
13199
static unsigned
13200
0
dissect_h245_CommandMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13201
0
  int32_t value;
13202
13203
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13204
0
                                 ett_h245_CommandMessage, CommandMessage_choice,
13205
0
                                 &value);
13206
13207
0
  print_info_column(actx->pinfo->cinfo, &value, h245_CommandMessage_vals, h245_CommandMessage_short_vals);
13208
0
  col_set_fence(actx->pinfo->cinfo,COL_INFO);
13209
13210
    /* Add to packet info */
13211
0
    if (h245_pi != NULL){
13212
0
      if ( strlen(h245_pi->frame_label) == 0 ){
13213
0
        snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(value, h245_CommandMessage_short_vals, "UKN"));
13214
0
      }
13215
0
          (void) g_strlcat(h245_pi->comment, val_to_str_const(value, h245_CommandMessage_vals, "<unknown>"), 50);
13216
0
    }
13217
13218
13219
0
  return offset;
13220
0
}
13221
13222
13223
static const value_string h245_FunctionNotUnderstood_vals[] = {
13224
  {   0, "request" },
13225
  {   1, "response" },
13226
  {   2, "command" },
13227
  { 0, NULL }
13228
};
13229
13230
static const per_choice_t FunctionNotUnderstood_choice[] = {
13231
  {   0, &hf_h245_request        , ASN1_NO_EXTENSIONS     , dissect_h245_RequestMessage },
13232
  {   1, &hf_h245_response       , ASN1_NO_EXTENSIONS     , dissect_h245_ResponseMessage },
13233
  {   2, &hf_h245_command        , ASN1_NO_EXTENSIONS     , dissect_h245_CommandMessage },
13234
  { 0, NULL, 0, NULL }
13235
};
13236
13237
static unsigned
13238
0
dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13239
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13240
0
                                 ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice,
13241
0
                                 NULL);
13242
13243
0
  return offset;
13244
0
}
13245
13246
13247
static const per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
13248
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
13249
};
13250
13251
static unsigned
13252
0
dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13253
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13254
0
                                   ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
13255
13256
13257
0
  if (h245_pi != NULL)
13258
0
    h245_pi->msg_type = H245_MastSlvDetRls;
13259
0
  return offset;
13260
0
}
13261
13262
13263
static const per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
13264
  { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13265
  { NULL, 0, 0, NULL }
13266
};
13267
13268
static unsigned
13269
0
dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13270
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13271
0
                                   ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
13272
13273
13274
0
  if (h245_pi != NULL)
13275
0
    h245_pi->msg_type = H245_TermCapSetRls;
13276
0
  return offset;
13277
0
}
13278
13279
13280
static const per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
13281
  { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13282
  { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13283
  { NULL, 0, 0, NULL }
13284
};
13285
13286
static unsigned
13287
0
dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13288
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13289
0
                                   ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
13290
13291
13292
0
  if (h245_pi != NULL)
13293
0
    h245_pi->msg_type = H245_OpenLogChnCnf;
13294
0
  return offset;
13295
0
}
13296
13297
13298
static const per_sequence_t RequestChannelCloseRelease_sequence[] = {
13299
  { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13300
  { NULL, 0, 0, NULL }
13301
};
13302
13303
static unsigned
13304
0
dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13305
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13306
0
                                   ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
13307
13308
0
  return offset;
13309
0
}
13310
13311
13312
static const per_sequence_t MultiplexEntrySendRelease_sequence[] = {
13313
  { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13314
  { NULL, 0, 0, NULL }
13315
};
13316
13317
static unsigned
13318
0
dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13319
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13320
0
                                   ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
13321
13322
0
  return offset;
13323
0
}
13324
13325
13326
static const per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
13327
  { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13328
  { NULL, 0, 0, NULL }
13329
};
13330
13331
static unsigned
13332
0
dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13333
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13334
0
                                   ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
13335
13336
0
  return offset;
13337
0
}
13338
13339
13340
static const per_sequence_t RequestModeRelease_sequence[] = {
13341
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
13342
};
13343
13344
static unsigned
13345
0
dissect_h245_RequestModeRelease(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13346
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13347
0
                                   ett_h245_RequestModeRelease, RequestModeRelease_sequence);
13348
13349
0
  return offset;
13350
0
}
13351
13352
13353
static const per_sequence_t T_videoNotDecodedMBs_sequence[] = {
13354
  { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13355
  { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13356
  { &hf_h245_temporalReference_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13357
  { NULL, 0, 0, NULL }
13358
};
13359
13360
static unsigned
13361
0
dissect_h245_T_videoNotDecodedMBs(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13362
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13363
0
                                   ett_h245_T_videoNotDecodedMBs, T_videoNotDecodedMBs_sequence);
13364
13365
0
  return offset;
13366
0
}
13367
13368
13369
static const value_string h245_Mi_type_vals[] = {
13370
  {   0, "logicalChannelActive" },
13371
  {   1, "logicalChannelInactive" },
13372
  {   2, "multipointConference" },
13373
  {   3, "cancelMultipointConference" },
13374
  {   4, "multipointZeroComm" },
13375
  {   5, "cancelMultipointZeroComm" },
13376
  {   6, "multipointSecondaryStatus" },
13377
  {   7, "cancelMultipointSecondaryStatus" },
13378
  {   8, "videoIndicateReadyToActivate" },
13379
  {   9, "videoTemporalSpatialTradeOff" },
13380
  {  10, "videoNotDecodedMBs" },
13381
  {  11, "transportCapability" },
13382
  { 0, NULL }
13383
};
13384
13385
static const per_choice_t Mi_type_choice[] = {
13386
  {   0, &hf_h245_logicalChannelActive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13387
  {   1, &hf_h245_logicalChannelInactive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13388
  {   2, &hf_h245_multipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13389
  {   3, &hf_h245_cancelMultipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13390
  {   4, &hf_h245_multipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13391
  {   5, &hf_h245_cancelMultipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13392
  {   6, &hf_h245_multipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13393
  {   7, &hf_h245_cancelMultipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13394
  {   8, &hf_h245_videoIndicateReadyToActivate, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13395
  {   9, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
13396
  {  10, &hf_h245_videoNotDecodedMBs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoNotDecodedMBs },
13397
  {  11, &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TransportCapability },
13398
  { 0, NULL, 0, NULL }
13399
};
13400
13401
static unsigned
13402
0
dissect_h245_Mi_type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13403
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13404
0
                                 ett_h245_Mi_type, Mi_type_choice,
13405
0
                                 NULL);
13406
13407
0
  return offset;
13408
0
}
13409
13410
13411
static const per_sequence_t MiscellaneousIndication_sequence[] = {
13412
  { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13413
  { &hf_h245_mi_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mi_type },
13414
  { NULL, 0, 0, NULL }
13415
};
13416
13417
static unsigned
13418
0
dissect_h245_MiscellaneousIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13419
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13420
0
                                   ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
13421
13422
0
  return offset;
13423
0
}
13424
13425
13426
13427
static unsigned
13428
0
dissect_h245_INTEGER_0_3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13429
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13430
0
                                                            0U, 3U, NULL, false);
13431
13432
0
  return offset;
13433
0
}
13434
13435
13436
13437
static unsigned
13438
0
dissect_h245_INTEGER_0_7(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13439
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13440
0
                                                            0U, 7U, NULL, false);
13441
13442
0
  return offset;
13443
0
}
13444
13445
13446
static const per_sequence_t JitterIndication_sequence[] = {
13447
  { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
13448
  { &hf_h245_estimatedReceivedJitterMantissa, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_3 },
13449
  { &hf_h245_estimatedReceivedJitterExponent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_7 },
13450
  { &hf_h245_skippedFrameCount, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
13451
  { &hf_h245_additionalDecoderBuffer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
13452
  { NULL, 0, 0, NULL }
13453
};
13454
13455
static unsigned
13456
0
dissect_h245_JitterIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13457
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13458
0
                                   ett_h245_JitterIndication, JitterIndication_sequence);
13459
13460
0
  return offset;
13461
0
}
13462
13463
13464
static const per_sequence_t H223SkewIndication_sequence[] = {
13465
  { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13466
  { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13467
  { &hf_h245_skew           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
13468
  { NULL, 0, 0, NULL }
13469
};
13470
13471
static unsigned
13472
0
dissect_h245_H223SkewIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13473
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13474
0
                                   ett_h245_H223SkewIndication, H223SkewIndication_sequence);
13475
13476
0
  return offset;
13477
0
}
13478
13479
13480
static const value_string h245_Ind_clockRecovery_vals[] = {
13481
  {   0, "nullClockRecovery" },
13482
  {   1, "srtsClockRecovery" },
13483
  {   2, "adaptiveClockRecovery" },
13484
  { 0, NULL }
13485
};
13486
13487
static const per_choice_t Ind_clockRecovery_choice[] = {
13488
  {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13489
  {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13490
  {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13491
  { 0, NULL, 0, NULL }
13492
};
13493
13494
static unsigned
13495
0
dissect_h245_Ind_clockRecovery(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13496
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13497
0
                                 ett_h245_Ind_clockRecovery, Ind_clockRecovery_choice,
13498
0
                                 NULL);
13499
13500
0
  return offset;
13501
0
}
13502
13503
13504
static const value_string h245_Ind_errorCorrection_vals[] = {
13505
  {   0, "nullErrorCorrection" },
13506
  {   1, "longInterleaver" },
13507
  {   2, "shortInterleaver" },
13508
  {   3, "errorCorrectionOnly" },
13509
  { 0, NULL }
13510
};
13511
13512
static const per_choice_t Ind_errorCorrection_choice[] = {
13513
  {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13514
  {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13515
  {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13516
  {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13517
  { 0, NULL, 0, NULL }
13518
};
13519
13520
static unsigned
13521
0
dissect_h245_Ind_errorCorrection(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13522
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13523
0
                                 ett_h245_Ind_errorCorrection, Ind_errorCorrection_choice,
13524
0
                                 NULL);
13525
13526
0
  return offset;
13527
0
}
13528
13529
13530
static const per_sequence_t Ind_aal1_sequence[] = {
13531
  { &hf_h245_ind_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_clockRecovery },
13532
  { &hf_h245_ind_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_errorCorrection },
13533
  { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13534
  { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13535
  { NULL, 0, 0, NULL }
13536
};
13537
13538
static unsigned
13539
0
dissect_h245_Ind_aal1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13540
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13541
0
                                   ett_h245_Ind_aal1, Ind_aal1_sequence);
13542
13543
0
  return offset;
13544
0
}
13545
13546
13547
static const per_sequence_t Ind_aal5_sequence[] = {
13548
  { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13549
  { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13550
  { NULL, 0, 0, NULL }
13551
};
13552
13553
static unsigned
13554
0
dissect_h245_Ind_aal5(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13555
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13556
0
                                   ett_h245_Ind_aal5, Ind_aal5_sequence);
13557
13558
0
  return offset;
13559
0
}
13560
13561
13562
static const value_string h245_Ind_aal_vals[] = {
13563
  {   0, "aal1" },
13564
  {   1, "aal5" },
13565
  { 0, NULL }
13566
};
13567
13568
static const per_choice_t Ind_aal_choice[] = {
13569
  {   0, &hf_h245_ind_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal1 },
13570
  {   1, &hf_h245_ind_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal5 },
13571
  { 0, NULL, 0, NULL }
13572
};
13573
13574
static unsigned
13575
0
dissect_h245_Ind_aal(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13576
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13577
0
                                 ett_h245_Ind_aal, Ind_aal_choice,
13578
0
                                 NULL);
13579
13580
0
  return offset;
13581
0
}
13582
13583
13584
static const value_string h245_Ind_multiplex_vals[] = {
13585
  {   0, "noMultiplex" },
13586
  {   1, "transportStream" },
13587
  {   2, "programStream" },
13588
  { 0, NULL }
13589
};
13590
13591
static const per_choice_t Ind_multiplex_choice[] = {
13592
  {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13593
  {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13594
  {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13595
  { 0, NULL, 0, NULL }
13596
};
13597
13598
static unsigned
13599
0
dissect_h245_Ind_multiplex(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13600
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13601
0
                                 ett_h245_Ind_multiplex, Ind_multiplex_choice,
13602
0
                                 NULL);
13603
13604
0
  return offset;
13605
0
}
13606
13607
13608
static const value_string h245_IndR_multiplex_vals[] = {
13609
  {   0, "noMultiplex" },
13610
  {   1, "transportStream" },
13611
  {   2, "programStream" },
13612
  { 0, NULL }
13613
};
13614
13615
static const per_choice_t IndR_multiplex_choice[] = {
13616
  {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13617
  {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13618
  {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13619
  { 0, NULL, 0, NULL }
13620
};
13621
13622
static unsigned
13623
0
dissect_h245_IndR_multiplex(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13624
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13625
0
                                 ett_h245_IndR_multiplex, IndR_multiplex_choice,
13626
0
                                 NULL);
13627
13628
0
  return offset;
13629
0
}
13630
13631
13632
static const per_sequence_t Ind_reverseParameters_sequence[] = {
13633
  { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13634
  { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13635
  { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13636
  { &hf_h245_indr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IndR_multiplex },
13637
  { NULL, 0, 0, NULL }
13638
};
13639
13640
static unsigned
13641
0
dissect_h245_Ind_reverseParameters(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13642
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13643
0
                                   ett_h245_Ind_reverseParameters, Ind_reverseParameters_sequence);
13644
13645
0
  return offset;
13646
0
}
13647
13648
13649
static const per_sequence_t NewATMVCIndication_sequence[] = {
13650
  { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13651
  { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13652
  { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13653
  { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13654
  { &hf_h245_ind_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_aal },
13655
  { &hf_h245_ind_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_multiplex },
13656
  { &hf_h245_ind_reverseParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Ind_reverseParameters },
13657
  { NULL, 0, 0, NULL }
13658
};
13659
13660
static unsigned
13661
0
dissect_h245_NewATMVCIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13662
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13663
0
                                   ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
13664
13665
0
  return offset;
13666
0
}
13667
13668
13669
static const value_string h245_T_userInputSupportIndication_vals[] = {
13670
  {   0, "nonStandard" },
13671
  {   1, "basicString" },
13672
  {   2, "iA5String" },
13673
  {   3, "generalString" },
13674
  {   4, "encryptedBasicString" },
13675
  {   5, "encryptedIA5String" },
13676
  {   6, "encryptedGeneralString" },
13677
  { 0, NULL }
13678
};
13679
13680
static const per_choice_t T_userInputSupportIndication_choice[] = {
13681
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
13682
  {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13683
  {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13684
  {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13685
  {   4, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13686
  {   5, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13687
  {   6, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13688
  { 0, NULL, 0, NULL }
13689
};
13690
13691
static unsigned
13692
0
dissect_h245_T_userInputSupportIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13693
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13694
0
                                 ett_h245_T_userInputSupportIndication, T_userInputSupportIndication_choice,
13695
0
                                 NULL);
13696
13697
0
  return offset;
13698
0
}
13699
13700
13701
13702
static unsigned
13703
0
dissect_h245_T_signalType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13704
0
  offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
13705
0
                                                      1, 1, false, "0123456789#*ABCD!", 17,
13706
0
                                                      NULL);
13707
13708
0
  return offset;
13709
0
}
13710
13711
13712
static const per_sequence_t T_rtp_sequence[] = {
13713
  { &hf_h245_timestamp      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13714
  { &hf_h245_expirationTime , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13715
  { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13716
  { NULL, 0, 0, NULL }
13717
};
13718
13719
static unsigned
13720
0
dissect_h245_T_rtp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13721
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13722
0
                                   ett_h245_T_rtp, T_rtp_sequence);
13723
13724
0
  return offset;
13725
0
}
13726
13727
13728
13729
static unsigned
13730
0
dissect_h245_IV8(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13731
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13732
0
                                       8, 8, false, NULL);
13733
13734
0
  return offset;
13735
0
}
13736
13737
13738
13739
static unsigned
13740
0
dissect_h245_IV16(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13741
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13742
0
                                       16, 16, false, NULL);
13743
13744
0
  return offset;
13745
0
}
13746
13747
13748
static const per_sequence_t Params_sequence[] = {
13749
  { &hf_h245_iv8            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV8 },
13750
  { &hf_h245_iv16           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV16 },
13751
  { &hf_h245_iv             , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
13752
  { NULL, 0, 0, NULL }
13753
};
13754
13755
static unsigned
13756
0
dissect_h245_Params(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13757
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13758
0
                                   ett_h245_Params, Params_sequence);
13759
13760
0
  return offset;
13761
0
}
13762
13763
13764
13765
static unsigned
13766
0
dissect_h245_OCTET_STRING_SIZE_1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13767
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13768
0
                                       1, 1, false, NULL);
13769
13770
0
  return offset;
13771
0
}
13772
13773
13774
static const per_sequence_t T_signal_sequence[] = {
13775
  { &hf_h245_signalType     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_signalType },
13776
  { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_65535 },
13777
  { &hf_h245_rtp            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtp },
13778
  { &hf_h245_rtpPayloadIndication, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NULL },
13779
  { &hf_h245_paramS         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_Params },
13780
  { &hf_h245_encryptedSignalType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1 },
13781
  { &hf_h245_algorithmOID   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
13782
  { NULL, 0, 0, NULL }
13783
};
13784
13785
static unsigned
13786
0
dissect_h245_T_signal(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13787
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13788
0
                                   ett_h245_T_signal, T_signal_sequence);
13789
13790
0
  return offset;
13791
0
}
13792
13793
13794
static const per_sequence_t Si_rtp_sequence[] = {
13795
  { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13796
  { NULL, 0, 0, NULL }
13797
};
13798
13799
static unsigned
13800
0
dissect_h245_Si_rtp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13801
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13802
0
                                   ett_h245_Si_rtp, Si_rtp_sequence);
13803
13804
0
  return offset;
13805
0
}
13806
13807
13808
static const per_sequence_t T_signalUpdate_sequence[] = {
13809
  { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13810
  { &hf_h245_si_rtp         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Si_rtp },
13811
  { NULL, 0, 0, NULL }
13812
};
13813
13814
static unsigned
13815
0
dissect_h245_T_signalUpdate(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13816
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13817
0
                                   ett_h245_T_signalUpdate, T_signalUpdate_sequence);
13818
13819
0
  return offset;
13820
0
}
13821
13822
13823
static const per_sequence_t EncryptedAlphanumeric_sequence[] = {
13824
  { &hf_h245_algorithmOID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
13825
  { &hf_h245_paramS         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Params },
13826
  { &hf_h245_encrypted      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
13827
  { NULL, 0, 0, NULL }
13828
};
13829
13830
static unsigned
13831
0
dissect_h245_EncryptedAlphanumeric(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13832
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13833
0
                                   ett_h245_EncryptedAlphanumeric, EncryptedAlphanumeric_sequence);
13834
13835
0
  return offset;
13836
0
}
13837
13838
13839
static const per_sequence_t T_extendedAlphanumeric_sequence[] = {
13840
  { &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
13841
  { &hf_h245_rtpPayloadIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NULL },
13842
  { &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptedAlphanumeric },
13843
  { NULL, 0, 0, NULL }
13844
};
13845
13846
static unsigned
13847
0
dissect_h245_T_extendedAlphanumeric(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13848
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13849
0
                                   ett_h245_T_extendedAlphanumeric, T_extendedAlphanumeric_sequence);
13850
13851
0
  return offset;
13852
0
}
13853
13854
13855
static const value_string h245_UserInputIndication_vals[] = {
13856
  {   0, "nonStandard" },
13857
  {   1, "alphanumeric" },
13858
  {   2, "userInputSupportIndication" },
13859
  {   3, "signal" },
13860
  {   4, "signalUpdate" },
13861
  {   5, "extendedAlphanumeric" },
13862
  {   6, "encryptedAlphanumeric" },
13863
  {   7, "genericInformation" },
13864
  { 0, NULL }
13865
};
13866
13867
static const per_choice_t UserInputIndication_choice[] = {
13868
  {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
13869
  {   1, &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , dissect_h245_GeneralString },
13870
  {   2, &hf_h245_userInputSupportIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_userInputSupportIndication },
13871
  {   3, &hf_h245_signal         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signal },
13872
  {   4, &hf_h245_signalUpdate   , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signalUpdate },
13873
  {   5, &hf_h245_extendedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extendedAlphanumeric },
13874
  {   6, &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptedAlphanumeric },
13875
  {   7, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
13876
  { 0, NULL, 0, NULL }
13877
};
13878
13879
static unsigned
13880
0
dissect_h245_UserInputIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13881
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13882
0
                                 ett_h245_UserInputIndication, UserInputIndication_choice,
13883
0
                                 NULL);
13884
13885
0
  return offset;
13886
0
}
13887
13888
13889
static const per_sequence_t H2250MaximumSkewIndication_sequence[] = {
13890
  { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13891
  { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13892
  { &hf_h245_maximumSkew    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
13893
  { NULL, 0, 0, NULL }
13894
};
13895
13896
static unsigned
13897
0
dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13898
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13899
0
                                   ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
13900
13901
0
  return offset;
13902
0
}
13903
13904
13905
static const per_sequence_t MCLocationIndication_sequence[] = {
13906
  { &hf_h245_signalAddress  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TransportAddress },
13907
  { NULL, 0, 0, NULL }
13908
};
13909
13910
static unsigned
13911
0
dissect_h245_MCLocationIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13912
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13913
0
                                   ett_h245_MCLocationIndication, MCLocationIndication_sequence);
13914
13915
0
  return offset;
13916
0
}
13917
13918
13919
13920
static unsigned
13921
0
dissect_h245_INTEGER_0_9(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13922
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13923
0
                                                            0U, 9U, NULL, false);
13924
13925
0
  return offset;
13926
0
}
13927
13928
13929
static const per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
13930
  { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
13931
  { &hf_h245_subPictureNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13932
  { &hf_h245_mcuNumber      , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
13933
  { NULL, 0, 0, NULL }
13934
};
13935
13936
static unsigned
13937
0
dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13938
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13939
0
                                   ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
13940
13941
0
  return offset;
13942
0
}
13943
13944
13945
static const per_sequence_t VideoIndicateCompose_sequence[] = {
13946
  { &hf_h245_compositionNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13947
  { NULL, 0, 0, NULL }
13948
};
13949
13950
static unsigned
13951
0
dissect_h245_VideoIndicateCompose(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13952
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13953
0
                                   ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
13954
13955
0
  return offset;
13956
0
}
13957
13958
13959
static const value_string h245_ConferenceIndication_vals[] = {
13960
  {   0, "sbeNumber" },
13961
  {   1, "terminalNumberAssign" },
13962
  {   2, "terminalJoinedConference" },
13963
  {   3, "terminalLeftConference" },
13964
  {   4, "seenByAtLeastOneOther" },
13965
  {   5, "cancelSeenByAtLeastOneOther" },
13966
  {   6, "seenByAll" },
13967
  {   7, "cancelSeenByAll" },
13968
  {   8, "terminalYouAreSeeing" },
13969
  {   9, "requestForFloor" },
13970
  {  10, "withdrawChairToken" },
13971
  {  11, "floorRequested" },
13972
  {  12, "terminalYouAreSeeingInSubPictureNumber" },
13973
  {  13, "videoIndicateCompose" },
13974
  {  14, "masterMCU" },
13975
  {  15, "cancelMasterMCU" },
13976
  { 0, NULL }
13977
};
13978
13979
static const per_choice_t ConferenceIndication_choice[] = {
13980
  {   0, &hf_h245_sbeNumber      , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_9 },
13981
  {   1, &hf_h245_terminalNumberAssign, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13982
  {   2, &hf_h245_terminalJoinedConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13983
  {   3, &hf_h245_terminalLeftConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13984
  {   4, &hf_h245_seenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13985
  {   5, &hf_h245_cancelSeenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13986
  {   6, &hf_h245_seenByAll      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13987
  {   7, &hf_h245_cancelSeenByAll, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13988
  {   8, &hf_h245_terminalYouAreSeeing, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13989
  {   9, &hf_h245_requestForFloor, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13990
  {  10, &hf_h245_withdrawChairToken, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13991
  {  11, &hf_h245_floorRequested , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
13992
  {  12, &hf_h245_terminalYouAreSeeingInSubPictureNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
13993
  {  13, &hf_h245_videoIndicateCompose, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VideoIndicateCompose },
13994
  {  14, &hf_h245_masterMCU      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13995
  {  15, &hf_h245_cancelMasterMCU, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13996
  { 0, NULL, 0, NULL }
13997
};
13998
13999
static unsigned
14000
0
dissect_h245_ConferenceIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14001
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14002
0
                                 ett_h245_ConferenceIndication, ConferenceIndication_choice,
14003
0
                                 NULL);
14004
14005
0
  return offset;
14006
0
}
14007
14008
14009
14010
static unsigned
14011
0
dissect_h245_OCTET_STRING_SIZE_1_256(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14012
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14013
0
                                       1, 256, false, NULL);
14014
14015
0
  return offset;
14016
0
}
14017
14018
14019
static const per_sequence_t VendorIdentification_sequence[] = {
14020
  { &hf_h245_vendor         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
14021
  { &hf_h245_productNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14022
  { &hf_h245_versionNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14023
  { NULL, 0, 0, NULL }
14024
};
14025
14026
static unsigned
14027
0
dissect_h245_VendorIdentification(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14028
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14029
0
                                   ett_h245_VendorIdentification, VendorIdentification_sequence);
14030
14031
0
  return offset;
14032
0
}
14033
14034
14035
static const value_string h245_FunctionNotSupportedCause_vals[] = {
14036
  {   0, "syntaxError" },
14037
  {   1, "semanticError" },
14038
  {   2, "unknownFunction" },
14039
  { 0, NULL }
14040
};
14041
14042
static const per_choice_t FunctionNotSupportedCause_choice[] = {
14043
  {   0, &hf_h245_syntaxError    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14044
  {   1, &hf_h245_semanticError  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14045
  {   2, &hf_h245_unknownFunction, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14046
  { 0, NULL, 0, NULL }
14047
};
14048
14049
static unsigned
14050
0
dissect_h245_FunctionNotSupportedCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14051
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14052
0
                                 ett_h245_FunctionNotSupportedCause, FunctionNotSupportedCause_choice,
14053
0
                                 NULL);
14054
14055
0
  return offset;
14056
0
}
14057
14058
14059
14060
static unsigned
14061
0
dissect_h245_T_returnedFunction(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14062
0
  tvbuff_t *next_tvb = NULL;
14063
0
  proto_item *item;
14064
0
  proto_tree *subtree;
14065
0
  h245_packet_info *saved_h245_pi;
14066
14067
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14068
0
                                       NO_BOUND, NO_BOUND, false, &next_tvb);
14069
14070
14071
0
 if (next_tvb && tvb_reported_length(next_tvb)) {
14072
0
  saved_h245_pi = h245_pi;
14073
0
  h245_pi = NULL;
14074
0
  subtree = proto_tree_add_subtree(tree, next_tvb, 0, -1, ett_h245_returnedFunction, &item, "The returned function");
14075
0
  proto_item_set_generated(item);
14076
0
  dissect_h245_MultimediaSystemControlMessage(next_tvb, 0, actx, subtree, hf_h245_pdu_type);
14077
0
  h245_pi = saved_h245_pi;
14078
0
 }
14079
14080
14081
0
  return offset;
14082
0
}
14083
14084
14085
static const per_sequence_t FunctionNotSupported_sequence[] = {
14086
  { &hf_h245_fns_cause      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FunctionNotSupportedCause },
14087
  { &hf_h245_returnedFunction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_returnedFunction },
14088
  { NULL, 0, 0, NULL }
14089
};
14090
14091
static unsigned
14092
0
dissect_h245_FunctionNotSupported(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14093
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14094
0
                                   ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
14095
14096
0
  return offset;
14097
0
}
14098
14099
14100
static const per_sequence_t T_crcDesired_sequence[] = {
14101
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
14102
};
14103
14104
static unsigned
14105
0
dissect_h245_T_crcDesired(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14106
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14107
0
                                   ett_h245_T_crcDesired, T_crcDesired_sequence);
14108
14109
0
  return offset;
14110
0
}
14111
14112
14113
static const per_sequence_t T_excessiveError_sequence[] = {
14114
  { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
14115
  { NULL, 0, 0, NULL }
14116
};
14117
14118
static unsigned
14119
0
dissect_h245_T_excessiveError(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14120
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14121
0
                                   ett_h245_T_excessiveError, T_excessiveError_sequence);
14122
14123
0
  return offset;
14124
0
}
14125
14126
14127
static const value_string h245_MultilinkIndication_vals[] = {
14128
  {   0, "nonStandard" },
14129
  {   1, "crcDesired" },
14130
  {   2, "excessiveError" },
14131
  { 0, NULL }
14132
};
14133
14134
static const per_choice_t MultilinkIndication_choice[] = {
14135
  {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14136
  {   1, &hf_h245_crcDesired     , ASN1_EXTENSION_ROOT    , dissect_h245_T_crcDesired },
14137
  {   2, &hf_h245_excessiveError , ASN1_EXTENSION_ROOT    , dissect_h245_T_excessiveError },
14138
  { 0, NULL, 0, NULL }
14139
};
14140
14141
static unsigned
14142
0
dissect_h245_MultilinkIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14143
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14144
0
                                 ett_h245_MultilinkIndication, MultilinkIndication_choice,
14145
0
                                 NULL);
14146
14147
0
  return offset;
14148
0
}
14149
14150
14151
static const per_sequence_t LogicalChannelRateRelease_sequence[] = {
14152
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
14153
};
14154
14155
static unsigned
14156
0
dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14157
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14158
0
                                   ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
14159
14160
0
  return offset;
14161
0
}
14162
14163
14164
static const per_sequence_t FlowControlIndication_sequence[] = {
14165
  { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
14166
  { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
14167
  { NULL, 0, 0, NULL }
14168
};
14169
14170
static unsigned
14171
0
dissect_h245_FlowControlIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14172
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14173
0
                                   ett_h245_FlowControlIndication, FlowControlIndication_sequence);
14174
14175
0
  return offset;
14176
0
}
14177
14178
14179
static const per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
14180
  { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14181
  { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14182
  { NULL, 0, 0, NULL }
14183
};
14184
14185
static unsigned
14186
0
dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14187
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14188
0
                                   ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
14189
14190
0
  return offset;
14191
0
}
14192
14193
14194
static const value_string h245_IndicationMessage_vals[] = {
14195
  { IndicationMessage_nonStandard, "nonStandard" },
14196
  { IndicationMessage_functionNotUnderstood, "functionNotUnderstood" },
14197
  { IndicationMessage_masterSlaveDeterminationRelease, "masterSlaveDeterminationRelease" },
14198
  { IndicationMessage_terminalCapabilitySetRelease, "terminalCapabilitySetRelease" },
14199
  { IndicationMessage_openLogicalChannelConfirm, "openLogicalChannelConfirm" },
14200
  { IndicationMessage_requestChannelCloseRelease, "requestChannelCloseRelease" },
14201
  { IndicationMessage_multiplexEntrySendRelease, "multiplexEntrySendRelease" },
14202
  { IndicationMessage_requestMultiplexEntryRelease, "requestMultiplexEntryRelease" },
14203
  { IndicationMessage_requestModeRelease, "requestModeRelease" },
14204
  { IndicationMessage_miscellaneousIndication, "miscellaneousIndication" },
14205
  { IndicationMessage_jitterIndication, "jitterIndication" },
14206
  { IndicationMessage_h223SkewIndication, "h223SkewIndication" },
14207
  { IndicationMessage_newATMVCIndication, "newATMVCIndication" },
14208
  { IndicationMessage_userInput, "userInput" },
14209
  { IndicationMessage_h2250MaximumSkewIndication, "h2250MaximumSkewIndication" },
14210
  { IndicationMessage_mcLocationIndication, "mcLocationIndication" },
14211
  { IndicationMessage_conferenceIndication, "conferenceIndication" },
14212
  { IndicationMessage_vendorIdentification, "vendorIdentification" },
14213
  { IndicationMessage_functionNotSupported, "functionNotSupported" },
14214
  { IndicationMessage_multilinkIndication, "multilinkIndication" },
14215
  { IndicationMessage_logicalChannelRateRelease, "logicalChannelRateRelease" },
14216
  { IndicationMessage_flowControlIndication, "flowControlIndication" },
14217
  { IndicationMessage_mobileMultilinkReconfigurationIndication, "mobileMultilinkReconfigurationIndication" },
14218
  { IndicationMessage_genericIndication, "genericIndication" },
14219
  { 0, NULL }
14220
};
14221
14222
static const per_choice_t IndicationMessage_choice[] = {
14223
  { IndicationMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14224
  { IndicationMessage_functionNotUnderstood, &hf_h245_functionNotUnderstood, ASN1_EXTENSION_ROOT    , dissect_h245_FunctionNotUnderstood },
14225
  { IndicationMessage_masterSlaveDeterminationRelease, &hf_h245_masterSlaveDeterminationRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationRelease },
14226
  { IndicationMessage_terminalCapabilitySetRelease, &hf_h245_terminalCapabilitySetRelease, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetRelease },
14227
  { IndicationMessage_openLogicalChannelConfirm, &hf_h245_openLogicalChannelConfirm, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelConfirm },
14228
  { IndicationMessage_requestChannelCloseRelease, &hf_h245_requestChannelCloseRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseRelease },
14229
  { IndicationMessage_multiplexEntrySendRelease, &hf_h245_multiplexEntrySendRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendRelease },
14230
  { IndicationMessage_requestMultiplexEntryRelease, &hf_h245_requestMultiplexEntryRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryRelease },
14231
  { IndicationMessage_requestModeRelease, &hf_h245_requestModeRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeRelease },
14232
  { IndicationMessage_miscellaneousIndication, &hf_h245_miscellaneousIndication, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousIndication },
14233
  { IndicationMessage_jitterIndication, &hf_h245_jitterIndication, ASN1_EXTENSION_ROOT    , dissect_h245_JitterIndication },
14234
  { IndicationMessage_h223SkewIndication, &hf_h245_h223SkewIndication, ASN1_EXTENSION_ROOT    , dissect_h245_H223SkewIndication },
14235
  { IndicationMessage_newATMVCIndication, &hf_h245_newATMVCIndication, ASN1_EXTENSION_ROOT    , dissect_h245_NewATMVCIndication },
14236
  { IndicationMessage_userInput, &hf_h245_userInput      , ASN1_EXTENSION_ROOT    , dissect_h245_UserInputIndication },
14237
  { IndicationMessage_h2250MaximumSkewIndication, &hf_h245_h2250MaximumSkewIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250MaximumSkewIndication },
14238
  { IndicationMessage_mcLocationIndication, &hf_h245_mcLocationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MCLocationIndication },
14239
  { IndicationMessage_conferenceIndication, &hf_h245_conferenceIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceIndication },
14240
  { IndicationMessage_vendorIdentification, &hf_h245_vendorIdentification, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VendorIdentification },
14241
  { IndicationMessage_functionNotSupported, &hf_h245_functionNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FunctionNotSupported },
14242
  { IndicationMessage_multilinkIndication, &hf_h245_multilinkIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkIndication },
14243
  { IndicationMessage_logicalChannelRateRelease, &hf_h245_logicalChannelRateRelease, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRelease },
14244
  { IndicationMessage_flowControlIndication, &hf_h245_flowControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FlowControlIndication },
14245
  { IndicationMessage_mobileMultilinkReconfigurationIndication, &hf_h245_mobileMultilinkReconfigurationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationIndication },
14246
  { IndicationMessage_genericIndication, &hf_h245_genericIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
14247
  { 0, NULL, 0, NULL }
14248
};
14249
14250
static unsigned
14251
0
dissect_h245_IndicationMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14252
0
  int32_t value;
14253
14254
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14255
0
                                 ett_h245_IndicationMessage, IndicationMessage_choice,
14256
0
                                 &value);
14257
14258
0
  print_info_column(actx->pinfo->cinfo, &value, h245_IndicationMessage_vals, h245_IndicationMessage_short_vals);
14259
0
  col_set_fence(actx->pinfo->cinfo,COL_INFO);
14260
14261
    /* Add to packet info */
14262
0
    if (h245_pi  !=NULL){
14263
0
      if ( strlen(h245_pi->frame_label) == 0 ){
14264
0
            snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(value, h245_IndicationMessage_short_vals, "UKN"));
14265
0
    }
14266
0
      (void) g_strlcat(h245_pi->comment, val_to_str_const(value, h245_IndicationMessage_vals, "<unknown>"), 50);
14267
14268
0
    }
14269
14270
14271
0
  return offset;
14272
0
}
14273
14274
14275
static const value_string h245_MultimediaSystemControlMessage_vals[] = {
14276
  {   0, "request" },
14277
  {   1, "response" },
14278
  {   2, "command" },
14279
  {   3, "indication" },
14280
  { 0, NULL }
14281
};
14282
14283
static const per_choice_t MultimediaSystemControlMessage_choice[] = {
14284
  {   0, &hf_h245_request        , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMessage },
14285
  {   1, &hf_h245_response       , ASN1_EXTENSION_ROOT    , dissect_h245_ResponseMessage },
14286
  {   2, &hf_h245_command        , ASN1_EXTENSION_ROOT    , dissect_h245_CommandMessage },
14287
  {   3, &hf_h245_indication     , ASN1_EXTENSION_ROOT    , dissect_h245_IndicationMessage },
14288
  { 0, NULL, 0, NULL }
14289
};
14290
14291
static unsigned
14292
0
dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14293
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14294
0
                                 ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice,
14295
0
                                 NULL);
14296
14297
0
  return offset;
14298
0
}
14299
14300
/*--- PDUs ---*/
14301
14302
2
static int dissect_OpenLogicalChannel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14303
2
  unsigned offset = 0;
14304
2
  asn1_ctx_t asn1_ctx;
14305
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14306
2
  offset = dissect_h245_OpenLogicalChannel(tvb, offset, &asn1_ctx, tree, hf_h245_OpenLogicalChannel_PDU);
14307
2
  offset += 7; offset >>= 3;
14308
2
  return offset;
14309
2
}
14310
14311
14312
static int
14313
dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
14314
0
{
14315
  /*
14316
   * MultimediaSystemControlMessage_handle is the handle for
14317
   * dissect_h245_h245, so we don't want to do any h245_pi or tap stuff here.
14318
   */
14319
0
  dissect_tpkt_encap(tvb, pinfo, parent_tree, h245_reassembly, MultimediaSystemControlMessage_handle);
14320
0
  return tvb_captured_length(tvb);
14321
0
}
14322
14323
14324
static int
14325
dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
14326
0
{
14327
0
  proto_item *it;
14328
0
  proto_tree *tr;
14329
0
  uint32_t offset=0;
14330
0
  asn1_ctx_t asn1_ctx;
14331
14332
0
  fast_start = false;
14333
  /* Clean up from any previous packet dissection */
14334
0
  upcoming_olc = NULL;
14335
0
  upcoming_channel = NULL;
14336
0
  codec_type = NULL;
14337
14338
0
  col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
14339
14340
0
  it=proto_tree_add_protocol_format(parent_tree, proto_h245, tvb, 0, -1, PSNAME);
14341
0
  tr=proto_item_add_subtree(it, ett_h245);
14342
14343
  /* assume that whilst there is more tvb data, there are more h245 commands */
14344
0
  while ( tvb_reported_length_remaining( tvb, offset>>3 )>0 ){
14345
0
    CLEANUP_PUSH(reset_h245_pi, NULL);
14346
0
    h245_pi=wmem_new(pinfo->pool, h245_packet_info);
14347
0
    init_h245_packet_info(h245_pi);
14348
0
    asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14349
0
    offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, &asn1_ctx, tr, hf_h245_pdu_type);
14350
0
    tap_queue_packet(h245dg_tap, pinfo, h245_pi);
14351
0
    offset = (offset+0x07) & 0xfffffff8;
14352
0
    CLEANUP_CALL_AND_POP;
14353
0
  }
14354
0
  return tvb_captured_length(tvb);
14355
0
}
14356
14357
void
14358
2
dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str) {
14359
14360
2
  fast_start = true;
14361
  /* Clean up from any previous packet dissection */
14362
2
  upcoming_olc = NULL;
14363
2
  upcoming_channel = NULL;
14364
2
  codec_type = NULL;
14365
14366
2
  dissect_OpenLogicalChannel_PDU(tvb, pinfo, tree, NULL);
14367
14368
2
  if (h245_pi != NULL)
14369
0
    h245_pi->msg_type = H245_OpenLogChn;
14370
14371
2
  if (codec_str && codec_type){
14372
0
        (void) g_strlcpy(codec_str, codec_type, 50);
14373
0
  }
14374
14375
2
}
14376
14377
/*--- proto_register_h245 -------------------------------------------*/
14378
14
void proto_register_h245(void) {
14379
14380
  /* List of fields */
14381
14
  static hf_register_info hf[] = {
14382
14
    { &hf_h245_pdu_type,
14383
14
 { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
14384
14
    VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
14385
14
  { &hf_h245Manufacturer,
14386
14
    { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
14387
14
    VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
14388
14
    { &hf_h245_subMessageIdentifier_standard,
14389
14
      { "subMessageIdentifier", "h245.subMessageIdentifier.standard",
14390
14
        FT_UINT32, BASE_DEC, VALS(h245_h239subMessageIdentifier_vals), 0,
14391
14
        NULL, HFILL }},
14392
14
    { &hf_h245_debug_dissector_try_string,
14393
14
      { "*** DEBUG dissector_try_string", "h245.debug.dissector_try_string", FT_STRING, BASE_NONE,
14394
14
        NULL, 0, NULL, HFILL }},
14395
14396
14
    { &hf_h245_OpenLogicalChannel_PDU,
14397
14
      { "OpenLogicalChannel", "h245.OpenLogicalChannel_element",
14398
14
        FT_NONE, BASE_NONE, NULL, 0,
14399
14
        NULL, HFILL }},
14400
14
    { &hf_h245_request,
14401
14
      { "request", "h245.request",
14402
14
        FT_UINT32, BASE_DEC, VALS(h245_RequestMessage_vals), 0,
14403
14
        "RequestMessage", HFILL }},
14404
14
    { &hf_h245_response,
14405
14
      { "response", "h245.response",
14406
14
        FT_UINT32, BASE_DEC, VALS(h245_ResponseMessage_vals), 0,
14407
14
        "ResponseMessage", HFILL }},
14408
14
    { &hf_h245_command,
14409
14
      { "command", "h245.command",
14410
14
        FT_UINT32, BASE_DEC, VALS(h245_CommandMessage_vals), 0,
14411
14
        "CommandMessage", HFILL }},
14412
14
    { &hf_h245_indication,
14413
14
      { "indication", "h245.indication",
14414
14
        FT_UINT32, BASE_DEC, VALS(h245_IndicationMessage_vals), 0,
14415
14
        "IndicationMessage", HFILL }},
14416
14
    { &hf_h245_nonStandardMsg,
14417
14
      { "nonStandard", "h245.nonStandardMsg_element",
14418
14
        FT_NONE, BASE_NONE, NULL, 0,
14419
14
        "NonStandardMessage", HFILL }},
14420
14
    { &hf_h245_masterSlaveDetermination,
14421
14
      { "masterSlaveDetermination", "h245.masterSlaveDetermination_element",
14422
14
        FT_NONE, BASE_NONE, NULL, 0,
14423
14
        NULL, HFILL }},
14424
14
    { &hf_h245_terminalCapabilitySet,
14425
14
      { "terminalCapabilitySet", "h245.terminalCapabilitySet_element",
14426
14
        FT_NONE, BASE_NONE, NULL, 0,
14427
14
        NULL, HFILL }},
14428
14
    { &hf_h245_openLogicalChannel,
14429
14
      { "openLogicalChannel", "h245.openLogicalChannel_element",
14430
14
        FT_NONE, BASE_NONE, NULL, 0,
14431
14
        NULL, HFILL }},
14432
14
    { &hf_h245_closeLogicalChannel,
14433
14
      { "closeLogicalChannel", "h245.closeLogicalChannel_element",
14434
14
        FT_NONE, BASE_NONE, NULL, 0,
14435
14
        NULL, HFILL }},
14436
14
    { &hf_h245_requestChannelClose,
14437
14
      { "requestChannelClose", "h245.requestChannelClose_element",
14438
14
        FT_NONE, BASE_NONE, NULL, 0,
14439
14
        NULL, HFILL }},
14440
14
    { &hf_h245_multiplexEntrySend,
14441
14
      { "multiplexEntrySend", "h245.multiplexEntrySend_element",
14442
14
        FT_NONE, BASE_NONE, NULL, 0,
14443
14
        NULL, HFILL }},
14444
14
    { &hf_h245_requestMultiplexEntry,
14445
14
      { "requestMultiplexEntry", "h245.requestMultiplexEntry_element",
14446
14
        FT_NONE, BASE_NONE, NULL, 0,
14447
14
        NULL, HFILL }},
14448
14
    { &hf_h245_requestMode,
14449
14
      { "requestMode", "h245.requestMode_element",
14450
14
        FT_NONE, BASE_NONE, NULL, 0,
14451
14
        NULL, HFILL }},
14452
14
    { &hf_h245_roundTripDelayRequest,
14453
14
      { "roundTripDelayRequest", "h245.roundTripDelayRequest_element",
14454
14
        FT_NONE, BASE_NONE, NULL, 0,
14455
14
        NULL, HFILL }},
14456
14
    { &hf_h245_maintenanceLoopRequest,
14457
14
      { "maintenanceLoopRequest", "h245.maintenanceLoopRequest_element",
14458
14
        FT_NONE, BASE_NONE, NULL, 0,
14459
14
        NULL, HFILL }},
14460
14
    { &hf_h245_communicationModeRequest,
14461
14
      { "communicationModeRequest", "h245.communicationModeRequest_element",
14462
14
        FT_NONE, BASE_NONE, NULL, 0,
14463
14
        NULL, HFILL }},
14464
14
    { &hf_h245_conferenceRequest,
14465
14
      { "conferenceRequest", "h245.conferenceRequest",
14466
14
        FT_UINT32, BASE_DEC, VALS(h245_ConferenceRequest_vals), 0,
14467
14
        NULL, HFILL }},
14468
14
    { &hf_h245_multilinkRequest,
14469
14
      { "multilinkRequest", "h245.multilinkRequest",
14470
14
        FT_UINT32, BASE_DEC, VALS(h245_MultilinkRequest_vals), 0,
14471
14
        NULL, HFILL }},
14472
14
    { &hf_h245_logicalChannelRateRequest,
14473
14
      { "logicalChannelRateRequest", "h245.logicalChannelRateRequest_element",
14474
14
        FT_NONE, BASE_NONE, NULL, 0,
14475
14
        NULL, HFILL }},
14476
14
    { &hf_h245_genericRequest,
14477
14
      { "genericRequest", "h245.genericRequest_element",
14478
14
        FT_NONE, BASE_NONE, NULL, 0,
14479
14
        "GenericMessage", HFILL }},
14480
14
    { &hf_h245_masterSlaveDeterminationAck,
14481
14
      { "masterSlaveDeterminationAck", "h245.masterSlaveDeterminationAck_element",
14482
14
        FT_NONE, BASE_NONE, NULL, 0,
14483
14
        NULL, HFILL }},
14484
14
    { &hf_h245_masterSlaveDeterminationReject,
14485
14
      { "masterSlaveDeterminationReject", "h245.masterSlaveDeterminationReject_element",
14486
14
        FT_NONE, BASE_NONE, NULL, 0,
14487
14
        NULL, HFILL }},
14488
14
    { &hf_h245_terminalCapabilitySetAck,
14489
14
      { "terminalCapabilitySetAck", "h245.terminalCapabilitySetAck_element",
14490
14
        FT_NONE, BASE_NONE, NULL, 0,
14491
14
        NULL, HFILL }},
14492
14
    { &hf_h245_terminalCapabilitySetReject,
14493
14
      { "terminalCapabilitySetReject", "h245.terminalCapabilitySetReject_element",
14494
14
        FT_NONE, BASE_NONE, NULL, 0,
14495
14
        NULL, HFILL }},
14496
14
    { &hf_h245_openLogicalChannelAck,
14497
14
      { "openLogicalChannelAck", "h245.openLogicalChannelAck_element",
14498
14
        FT_NONE, BASE_NONE, NULL, 0,
14499
14
        NULL, HFILL }},
14500
14
    { &hf_h245_openLogicalChannelReject,
14501
14
      { "openLogicalChannelReject", "h245.openLogicalChannelReject_element",
14502
14
        FT_NONE, BASE_NONE, NULL, 0,
14503
14
        NULL, HFILL }},
14504
14
    { &hf_h245_closeLogicalChannelAck,
14505
14
      { "closeLogicalChannelAck", "h245.closeLogicalChannelAck_element",
14506
14
        FT_NONE, BASE_NONE, NULL, 0,
14507
14
        NULL, HFILL }},
14508
14
    { &hf_h245_requestChannelCloseAck,
14509
14
      { "requestChannelCloseAck", "h245.requestChannelCloseAck_element",
14510
14
        FT_NONE, BASE_NONE, NULL, 0,
14511
14
        NULL, HFILL }},
14512
14
    { &hf_h245_requestChannelCloseReject,
14513
14
      { "requestChannelCloseReject", "h245.requestChannelCloseReject_element",
14514
14
        FT_NONE, BASE_NONE, NULL, 0,
14515
14
        NULL, HFILL }},
14516
14
    { &hf_h245_multiplexEntrySendAck,
14517
14
      { "multiplexEntrySendAck", "h245.multiplexEntrySendAck_element",
14518
14
        FT_NONE, BASE_NONE, NULL, 0,
14519
14
        NULL, HFILL }},
14520
14
    { &hf_h245_multiplexEntrySendReject,
14521
14
      { "multiplexEntrySendReject", "h245.multiplexEntrySendReject_element",
14522
14
        FT_NONE, BASE_NONE, NULL, 0,
14523
14
        NULL, HFILL }},
14524
14
    { &hf_h245_requestMultiplexEntryAck,
14525
14
      { "requestMultiplexEntryAck", "h245.requestMultiplexEntryAck_element",
14526
14
        FT_NONE, BASE_NONE, NULL, 0,
14527
14
        NULL, HFILL }},
14528
14
    { &hf_h245_requestMultiplexEntryReject,
14529
14
      { "requestMultiplexEntryReject", "h245.requestMultiplexEntryReject_element",
14530
14
        FT_NONE, BASE_NONE, NULL, 0,
14531
14
        NULL, HFILL }},
14532
14
    { &hf_h245_requestModeAck,
14533
14
      { "requestModeAck", "h245.requestModeAck_element",
14534
14
        FT_NONE, BASE_NONE, NULL, 0,
14535
14
        NULL, HFILL }},
14536
14
    { &hf_h245_requestModeReject,
14537
14
      { "requestModeReject", "h245.requestModeReject_element",
14538
14
        FT_NONE, BASE_NONE, NULL, 0,
14539
14
        NULL, HFILL }},
14540
14
    { &hf_h245_roundTripDelayResponse,
14541
14
      { "roundTripDelayResponse", "h245.roundTripDelayResponse_element",
14542
14
        FT_NONE, BASE_NONE, NULL, 0,
14543
14
        NULL, HFILL }},
14544
14
    { &hf_h245_maintenanceLoopAck,
14545
14
      { "maintenanceLoopAck", "h245.maintenanceLoopAck_element",
14546
14
        FT_NONE, BASE_NONE, NULL, 0,
14547
14
        NULL, HFILL }},
14548
14
    { &hf_h245_maintenanceLoopReject,
14549
14
      { "maintenanceLoopReject", "h245.maintenanceLoopReject_element",
14550
14
        FT_NONE, BASE_NONE, NULL, 0,
14551
14
        NULL, HFILL }},
14552
14
    { &hf_h245_communicationModeResponse,
14553
14
      { "communicationModeResponse", "h245.communicationModeResponse",
14554
14
        FT_UINT32, BASE_DEC, VALS(h245_CommunicationModeResponse_vals), 0,
14555
14
        NULL, HFILL }},
14556
14
    { &hf_h245_conferenceResponse,
14557
14
      { "conferenceResponse", "h245.conferenceResponse",
14558
14
        FT_UINT32, BASE_DEC, VALS(h245_ConferenceResponse_vals), 0,
14559
14
        NULL, HFILL }},
14560
14
    { &hf_h245_multilinkResponse,
14561
14
      { "multilinkResponse", "h245.multilinkResponse",
14562
14
        FT_UINT32, BASE_DEC, VALS(h245_MultilinkResponse_vals), 0,
14563
14
        NULL, HFILL }},
14564
14
    { &hf_h245_logicalChannelRateAcknowledge,
14565
14
      { "logicalChannelRateAcknowledge", "h245.logicalChannelRateAcknowledge_element",
14566
14
        FT_NONE, BASE_NONE, NULL, 0,
14567
14
        NULL, HFILL }},
14568
14
    { &hf_h245_logicalChannelRateReject,
14569
14
      { "logicalChannelRateReject", "h245.logicalChannelRateReject_element",
14570
14
        FT_NONE, BASE_NONE, NULL, 0,
14571
14
        NULL, HFILL }},
14572
14
    { &hf_h245_genericResponse,
14573
14
      { "genericResponse", "h245.genericResponse_element",
14574
14
        FT_NONE, BASE_NONE, NULL, 0,
14575
14
        "GenericMessage", HFILL }},
14576
14
    { &hf_h245_maintenanceLoopOffCommand,
14577
14
      { "maintenanceLoopOffCommand", "h245.maintenanceLoopOffCommand_element",
14578
14
        FT_NONE, BASE_NONE, NULL, 0,
14579
14
        NULL, HFILL }},
14580
14
    { &hf_h245_sendTerminalCapabilitySet,
14581
14
      { "sendTerminalCapabilitySet", "h245.sendTerminalCapabilitySet",
14582
14
        FT_UINT32, BASE_DEC, VALS(h245_SendTerminalCapabilitySet_vals), 0,
14583
14
        NULL, HFILL }},
14584
14
    { &hf_h245_encryptionCommand,
14585
14
      { "encryptionCommand", "h245.encryptionCommand",
14586
14
        FT_UINT32, BASE_DEC, VALS(h245_EncryptionCommand_vals), 0,
14587
14
        NULL, HFILL }},
14588
14
    { &hf_h245_flowControlCommand,
14589
14
      { "flowControlCommand", "h245.flowControlCommand_element",
14590
14
        FT_NONE, BASE_NONE, NULL, 0,
14591
14
        NULL, HFILL }},
14592
14
    { &hf_h245_endSessionCommand,
14593
14
      { "endSessionCommand", "h245.endSessionCommand",
14594
14
        FT_UINT32, BASE_DEC, VALS(h245_EndSessionCommand_vals), 0,
14595
14
        NULL, HFILL }},
14596
14
    { &hf_h245_miscellaneousCommand,
14597
14
      { "miscellaneousCommand", "h245.miscellaneousCommand_element",
14598
14
        FT_NONE, BASE_NONE, NULL, 0,
14599
14
        NULL, HFILL }},
14600
14
    { &hf_h245_communicationModeCommand,
14601
14
      { "communicationModeCommand", "h245.communicationModeCommand_element",
14602
14
        FT_NONE, BASE_NONE, NULL, 0,
14603
14
        NULL, HFILL }},
14604
14
    { &hf_h245_conferenceCommand,
14605
14
      { "conferenceCommand", "h245.conferenceCommand",
14606
14
        FT_UINT32, BASE_DEC, VALS(h245_ConferenceCommand_vals), 0,
14607
14
        NULL, HFILL }},
14608
14
    { &hf_h245_h223MultiplexReconfiguration,
14609
14
      { "h223MultiplexReconfiguration", "h245.h223MultiplexReconfiguration",
14610
14
        FT_UINT32, BASE_DEC, VALS(h245_H223MultiplexReconfiguration_vals), 0,
14611
14
        NULL, HFILL }},
14612
14
    { &hf_h245_newATMVCCommand,
14613
14
      { "newATMVCCommand", "h245.newATMVCCommand_element",
14614
14
        FT_NONE, BASE_NONE, NULL, 0,
14615
14
        NULL, HFILL }},
14616
14
    { &hf_h245_mobileMultilinkReconfigurationCommand,
14617
14
      { "mobileMultilinkReconfigurationCommand", "h245.mobileMultilinkReconfigurationCommand_element",
14618
14
        FT_NONE, BASE_NONE, NULL, 0,
14619
14
        NULL, HFILL }},
14620
14
    { &hf_h245_genericCommand,
14621
14
      { "genericCommand", "h245.genericCommand_element",
14622
14
        FT_NONE, BASE_NONE, NULL, 0,
14623
14
        "GenericMessage", HFILL }},
14624
14
    { &hf_h245_functionNotUnderstood,
14625
14
      { "functionNotUnderstood", "h245.functionNotUnderstood",
14626
14
        FT_UINT32, BASE_DEC, VALS(h245_FunctionNotUnderstood_vals), 0,
14627
14
        NULL, HFILL }},
14628
14
    { &hf_h245_masterSlaveDeterminationRelease,
14629
14
      { "masterSlaveDeterminationRelease", "h245.masterSlaveDeterminationRelease_element",
14630
14
        FT_NONE, BASE_NONE, NULL, 0,
14631
14
        NULL, HFILL }},
14632
14
    { &hf_h245_terminalCapabilitySetRelease,
14633
14
      { "terminalCapabilitySetRelease", "h245.terminalCapabilitySetRelease_element",
14634
14
        FT_NONE, BASE_NONE, NULL, 0,
14635
14
        NULL, HFILL }},
14636
14
    { &hf_h245_openLogicalChannelConfirm,
14637
14
      { "openLogicalChannelConfirm", "h245.openLogicalChannelConfirm_element",
14638
14
        FT_NONE, BASE_NONE, NULL, 0,
14639
14
        NULL, HFILL }},
14640
14
    { &hf_h245_requestChannelCloseRelease,
14641
14
      { "requestChannelCloseRelease", "h245.requestChannelCloseRelease_element",
14642
14
        FT_NONE, BASE_NONE, NULL, 0,
14643
14
        NULL, HFILL }},
14644
14
    { &hf_h245_multiplexEntrySendRelease,
14645
14
      { "multiplexEntrySendRelease", "h245.multiplexEntrySendRelease_element",
14646
14
        FT_NONE, BASE_NONE, NULL, 0,
14647
14
        NULL, HFILL }},
14648
14
    { &hf_h245_requestMultiplexEntryRelease,
14649
14
      { "requestMultiplexEntryRelease", "h245.requestMultiplexEntryRelease_element",
14650
14
        FT_NONE, BASE_NONE, NULL, 0,
14651
14
        NULL, HFILL }},
14652
14
    { &hf_h245_requestModeRelease,
14653
14
      { "requestModeRelease", "h245.requestModeRelease_element",
14654
14
        FT_NONE, BASE_NONE, NULL, 0,
14655
14
        NULL, HFILL }},
14656
14
    { &hf_h245_miscellaneousIndication,
14657
14
      { "miscellaneousIndication", "h245.miscellaneousIndication_element",
14658
14
        FT_NONE, BASE_NONE, NULL, 0,
14659
14
        NULL, HFILL }},
14660
14
    { &hf_h245_jitterIndication,
14661
14
      { "jitterIndication", "h245.jitterIndication_element",
14662
14
        FT_NONE, BASE_NONE, NULL, 0,
14663
14
        NULL, HFILL }},
14664
14
    { &hf_h245_h223SkewIndication,
14665
14
      { "h223SkewIndication", "h245.h223SkewIndication_element",
14666
14
        FT_NONE, BASE_NONE, NULL, 0,
14667
14
        NULL, HFILL }},
14668
14
    { &hf_h245_newATMVCIndication,
14669
14
      { "newATMVCIndication", "h245.newATMVCIndication_element",
14670
14
        FT_NONE, BASE_NONE, NULL, 0,
14671
14
        NULL, HFILL }},
14672
14
    { &hf_h245_userInput,
14673
14
      { "userInput", "h245.userInput",
14674
14
        FT_UINT32, BASE_DEC, VALS(h245_UserInputIndication_vals), 0,
14675
14
        "UserInputIndication", HFILL }},
14676
14
    { &hf_h245_h2250MaximumSkewIndication,
14677
14
      { "h2250MaximumSkewIndication", "h245.h2250MaximumSkewIndication_element",
14678
14
        FT_NONE, BASE_NONE, NULL, 0,
14679
14
        NULL, HFILL }},
14680
14
    { &hf_h245_mcLocationIndication,
14681
14
      { "mcLocationIndication", "h245.mcLocationIndication_element",
14682
14
        FT_NONE, BASE_NONE, NULL, 0,
14683
14
        NULL, HFILL }},
14684
14
    { &hf_h245_conferenceIndication,
14685
14
      { "conferenceIndication", "h245.conferenceIndication",
14686
14
        FT_UINT32, BASE_DEC, VALS(h245_ConferenceIndication_vals), 0,
14687
14
        NULL, HFILL }},
14688
14
    { &hf_h245_vendorIdentification,
14689
14
      { "vendorIdentification", "h245.vendorIdentification_element",
14690
14
        FT_NONE, BASE_NONE, NULL, 0,
14691
14
        NULL, HFILL }},
14692
14
    { &hf_h245_functionNotSupported,
14693
14
      { "functionNotSupported", "h245.functionNotSupported_element",
14694
14
        FT_NONE, BASE_NONE, NULL, 0,
14695
14
        NULL, HFILL }},
14696
14
    { &hf_h245_multilinkIndication,
14697
14
      { "multilinkIndication", "h245.multilinkIndication",
14698
14
        FT_UINT32, BASE_DEC, VALS(h245_MultilinkIndication_vals), 0,
14699
14
        NULL, HFILL }},
14700
14
    { &hf_h245_logicalChannelRateRelease,
14701
14
      { "logicalChannelRateRelease", "h245.logicalChannelRateRelease_element",
14702
14
        FT_NONE, BASE_NONE, NULL, 0,
14703
14
        NULL, HFILL }},
14704
14
    { &hf_h245_flowControlIndication,
14705
14
      { "flowControlIndication", "h245.flowControlIndication_element",
14706
14
        FT_NONE, BASE_NONE, NULL, 0,
14707
14
        NULL, HFILL }},
14708
14
    { &hf_h245_mobileMultilinkReconfigurationIndication,
14709
14
      { "mobileMultilinkReconfigurationIndication", "h245.mobileMultilinkReconfigurationIndication_element",
14710
14
        FT_NONE, BASE_NONE, NULL, 0,
14711
14
        NULL, HFILL }},
14712
14
    { &hf_h245_genericIndication,
14713
14
      { "genericIndication", "h245.genericIndication_element",
14714
14
        FT_NONE, BASE_NONE, NULL, 0,
14715
14
        "GenericMessage", HFILL }},
14716
14
    { &hf_h245_messageIdentifier,
14717
14
      { "messageIdentifier", "h245.messageIdentifier",
14718
14
        FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
14719
14
        "CapabilityIdentifier", HFILL }},
14720
14
    { &hf_h245_subMessageIdentifier,
14721
14
      { "subMessageIdentifier", "h245.subMessageIdentifier",
14722
14
        FT_UINT32, BASE_DEC, NULL, 0,
14723
14
        NULL, HFILL }},
14724
14
    { &hf_h245_messageContent,
14725
14
      { "messageContent", "h245.messageContent",
14726
14
        FT_UINT32, BASE_DEC, NULL, 0,
14727
14
        NULL, HFILL }},
14728
14
    { &hf_h245_messageContent_item,
14729
14
      { "messageContent item", "h245.messageContent_item_element",
14730
14
        FT_NONE, BASE_NONE, NULL, 0,
14731
14
        "T_messageContent_item", HFILL }},
14732
14
    { &hf_h245_nonStandardData,
14733
14
      { "nonStandardData", "h245.nonStandardData_element",
14734
14
        FT_NONE, BASE_NONE, NULL, 0,
14735
14
        "NonStandardParameter", HFILL }},
14736
14
    { &hf_h245_nonStandardIdentifier,
14737
14
      { "nonStandardIdentifier", "h245.nonStandardIdentifier",
14738
14
        FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
14739
14
        NULL, HFILL }},
14740
14
    { &hf_h245_nsd_data,
14741
14
      { "data", "h245.nsd_data",
14742
14
        FT_BYTES, BASE_NONE, NULL, 0,
14743
14
        "T_nsd_data", HFILL }},
14744
14
    { &hf_h245_object,
14745
14
      { "object", "h245.object",
14746
14
        FT_OID, BASE_NONE, NULL, 0,
14747
14
        NULL, HFILL }},
14748
14
    { &hf_h245_h221NonStandardID,
14749
14
      { "h221NonStandard", "h245.h221NonStandardID_element",
14750
14
        FT_NONE, BASE_NONE, NULL, 0,
14751
14
        "H221NonStandardID", HFILL }},
14752
14
    { &hf_h245_t35CountryCode,
14753
14
      { "t35CountryCode", "h245.t35CountryCode",
14754
14
        FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0,
14755
14
        NULL, HFILL }},
14756
14
    { &hf_h245_t35Extension,
14757
14
      { "t35Extension", "h245.t35Extension",
14758
14
        FT_UINT32, BASE_DEC, NULL, 0,
14759
14
        NULL, HFILL }},
14760
14
    { &hf_h245_manufacturerCode,
14761
14
      { "manufacturerCode", "h245.manufacturerCode",
14762
14
        FT_UINT32, BASE_DEC, NULL, 0,
14763
14
        NULL, HFILL }},
14764
14
    { &hf_h245_terminalType,
14765
14
      { "terminalType", "h245.terminalType",
14766
14
        FT_UINT32, BASE_DEC, NULL, 0,
14767
14
        "INTEGER_0_255", HFILL }},
14768
14
    { &hf_h245_statusDeterminationNumber,
14769
14
      { "statusDeterminationNumber", "h245.statusDeterminationNumber",
14770
14
        FT_UINT32, BASE_DEC, NULL, 0,
14771
14
        "INTEGER_0_16777215", HFILL }},
14772
14
    { &hf_h245_decision,
14773
14
      { "decision", "h245.decision",
14774
14
        FT_UINT32, BASE_DEC, VALS(h245_T_decision_vals), 0,
14775
14
        NULL, HFILL }},
14776
14
    { &hf_h245_master,
14777
14
      { "master", "h245.master_element",
14778
14
        FT_NONE, BASE_NONE, NULL, 0,
14779
14
        NULL, HFILL }},
14780
14
    { &hf_h245_slave,
14781
14
      { "slave", "h245.slave_element",
14782
14
        FT_NONE, BASE_NONE, NULL, 0,
14783
14
        NULL, HFILL }},
14784
14
    { &hf_h245_msd_rej_cause,
14785
14
      { "cause", "h245.msd_rej_cause",
14786
14
        FT_UINT32, BASE_DEC, VALS(h245_MasterSlaveDeterminationRejectCause_vals), 0,
14787
14
        "MasterSlaveDeterminationRejectCause", HFILL }},
14788
14
    { &hf_h245_identicalNumbers,
14789
14
      { "identicalNumbers", "h245.identicalNumbers_element",
14790
14
        FT_NONE, BASE_NONE, NULL, 0,
14791
14
        NULL, HFILL }},
14792
14
    { &hf_h245_sequenceNumber,
14793
14
      { "sequenceNumber", "h245.sequenceNumber",
14794
14
        FT_UINT32, BASE_DEC, NULL, 0,
14795
14
        NULL, HFILL }},
14796
14
    { &hf_h245_protocolIdentifier,
14797
14
      { "protocolIdentifier", "h245.protocolIdentifier",
14798
14
        FT_OID, BASE_NONE, NULL, 0,
14799
14
        "OBJECT_IDENTIFIER", HFILL }},
14800
14
    { &hf_h245_multiplexCapability,
14801
14
      { "multiplexCapability", "h245.multiplexCapability",
14802
14
        FT_UINT32, BASE_DEC, VALS(h245_MultiplexCapability_vals), 0,
14803
14
        NULL, HFILL }},
14804
14
    { &hf_h245_capabilityTable,
14805
14
      { "capabilityTable", "h245.capabilityTable",
14806
14
        FT_UINT32, BASE_DEC, NULL, 0,
14807
14
        "SET_SIZE_1_256_OF_CapabilityTableEntry", HFILL }},
14808
14
    { &hf_h245_capabilityTable_item,
14809
14
      { "CapabilityTableEntry", "h245.CapabilityTableEntry_element",
14810
14
        FT_NONE, BASE_NONE, NULL, 0,
14811
14
        NULL, HFILL }},
14812
14
    { &hf_h245_capabilityDescriptors,
14813
14
      { "capabilityDescriptors", "h245.capabilityDescriptors",
14814
14
        FT_UINT32, BASE_DEC, NULL, 0,
14815
14
        "SET_SIZE_1_256_OF_CapabilityDescriptor", HFILL }},
14816
14
    { &hf_h245_capabilityDescriptors_item,
14817
14
      { "CapabilityDescriptor", "h245.CapabilityDescriptor_element",
14818
14
        FT_NONE, BASE_NONE, NULL, 0,
14819
14
        NULL, HFILL }},
14820
14
    { &hf_h245_genericInformation,
14821
14
      { "genericInformation", "h245.genericInformation",
14822
14
        FT_UINT32, BASE_DEC, NULL, 0,
14823
14
        "SEQUENCE_OF_GenericInformation", HFILL }},
14824
14
    { &hf_h245_genericInformation_item,
14825
14
      { "GenericInformation", "h245.GenericInformation_element",
14826
14
        FT_NONE, BASE_NONE, NULL, 0,
14827
14
        NULL, HFILL }},
14828
14
    { &hf_h245_capabilityTableEntryNumber,
14829
14
      { "capabilityTableEntryNumber", "h245.capabilityTableEntryNumber",
14830
14
        FT_UINT32, BASE_DEC, NULL, 0,
14831
14
        NULL, HFILL }},
14832
14
    { &hf_h245_capability,
14833
14
      { "capability", "h245.capability",
14834
14
        FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0,
14835
14
        NULL, HFILL }},
14836
14
    { &hf_h245_capabilityDescriptorNumber,
14837
14
      { "capabilityDescriptorNumber", "h245.capabilityDescriptorNumber",
14838
14
        FT_UINT32, BASE_DEC, NULL, 0,
14839
14
        NULL, HFILL }},
14840
14
    { &hf_h245_simultaneousCapabilities,
14841
14
      { "simultaneousCapabilities", "h245.simultaneousCapabilities",
14842
14
        FT_UINT32, BASE_DEC, NULL, 0,
14843
14
        "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
14844
14
    { &hf_h245_simultaneousCapabilities_item,
14845
14
      { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
14846
14
        FT_UINT32, BASE_DEC, NULL, 0,
14847
14
        NULL, HFILL }},
14848
14
    { &hf_h245_AlternativeCapabilitySet_item,
14849
14
      { "alternativeCapability", "h245.CapabilityTableEntryNumber",
14850
14
        FT_UINT32, BASE_DEC, NULL, 0,
14851
14
        "CapabilityTableEntryNumber", HFILL }},
14852
14
    { &hf_h245_tcs_rej_cause,
14853
14
      { "cause", "h245.tcs_rej_cause",
14854
14
        FT_UINT32, BASE_DEC, VALS(h245_TerminalCapabilitySetRejectCause_vals), 0,
14855
14
        "TerminalCapabilitySetRejectCause", HFILL }},
14856
14
    { &hf_h245_unspecified,
14857
14
      { "unspecified", "h245.unspecified_element",
14858
14
        FT_NONE, BASE_NONE, NULL, 0,
14859
14
        NULL, HFILL }},
14860
14
    { &hf_h245_undefinedTableEntryUsed,
14861
14
      { "undefinedTableEntryUsed", "h245.undefinedTableEntryUsed_element",
14862
14
        FT_NONE, BASE_NONE, NULL, 0,
14863
14
        NULL, HFILL }},
14864
14
    { &hf_h245_descriptorCapacityExceeded,
14865
14
      { "descriptorCapacityExceeded", "h245.descriptorCapacityExceeded_element",
14866
14
        FT_NONE, BASE_NONE, NULL, 0,
14867
14
        NULL, HFILL }},
14868
14
    { &hf_h245_tableEntryCapacityExceeded,
14869
14
      { "tableEntryCapacityExceeded", "h245.tableEntryCapacityExceeded",
14870
14
        FT_UINT32, BASE_DEC, VALS(h245_T_tableEntryCapacityExceeded_vals), 0,
14871
14
        NULL, HFILL }},
14872
14
    { &hf_h245_highestEntryNumberProcessed,
14873
14
      { "highestEntryNumberProcessed", "h245.highestEntryNumberProcessed",
14874
14
        FT_UINT32, BASE_DEC, NULL, 0,
14875
14
        "CapabilityTableEntryNumber", HFILL }},
14876
14
    { &hf_h245_noneProcessed,
14877
14
      { "noneProcessed", "h245.noneProcessed_element",
14878
14
        FT_NONE, BASE_NONE, NULL, 0,
14879
14
        NULL, HFILL }},
14880
14
    { &hf_h245_nonStandard,
14881
14
      { "nonStandard", "h245.nonStandard_element",
14882
14
        FT_NONE, BASE_NONE, NULL, 0,
14883
14
        "NonStandardParameter", HFILL }},
14884
14
    { &hf_h245_receiveVideoCapability,
14885
14
      { "receiveVideoCapability", "h245.receiveVideoCapability",
14886
14
        FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
14887
14
        "VideoCapability", HFILL }},
14888
14
    { &hf_h245_transmitVideoCapability,
14889
14
      { "transmitVideoCapability", "h245.transmitVideoCapability",
14890
14
        FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
14891
14
        "VideoCapability", HFILL }},
14892
14
    { &hf_h245_receiveAndTransmitVideoCapability,
14893
14
      { "receiveAndTransmitVideoCapability", "h245.receiveAndTransmitVideoCapability",
14894
14
        FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
14895
14
        "VideoCapability", HFILL }},
14896
14
    { &hf_h245_receiveAudioCapability,
14897
14
      { "receiveAudioCapability", "h245.receiveAudioCapability",
14898
14
        FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
14899
14
        "AudioCapability", HFILL }},
14900
14
    { &hf_h245_transmitAudioCapability,
14901
14
      { "transmitAudioCapability", "h245.transmitAudioCapability",
14902
14
        FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
14903
14
        "AudioCapability", HFILL }},
14904
14
    { &hf_h245_receiveAndTransmitAudioCapability,
14905
14
      { "receiveAndTransmitAudioCapability", "h245.receiveAndTransmitAudioCapability",
14906
14
        FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
14907
14
        "AudioCapability", HFILL }},
14908
14
    { &hf_h245_receiveDataApplicationCapability,
14909
14
      { "receiveDataApplicationCapability", "h245.receiveDataApplicationCapability_element",
14910
14
        FT_NONE, BASE_NONE, NULL, 0,
14911
14
        "DataApplicationCapability", HFILL }},
14912
14
    { &hf_h245_transmitDataApplicationCapability,
14913
14
      { "transmitDataApplicationCapability", "h245.transmitDataApplicationCapability_element",
14914
14
        FT_NONE, BASE_NONE, NULL, 0,
14915
14
        "DataApplicationCapability", HFILL }},
14916
14
    { &hf_h245_receiveAndTransmitDataApplicationCapability,
14917
14
      { "receiveAndTransmitDataApplicationCapability", "h245.receiveAndTransmitDataApplicationCapability_element",
14918
14
        FT_NONE, BASE_NONE, NULL, 0,
14919
14
        "DataApplicationCapability", HFILL }},
14920
14
    { &hf_h245_h233EncryptionTransmitCapability,
14921
14
      { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability",
14922
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
14923
14
        "BOOLEAN", HFILL }},
14924
14
    { &hf_h245_h233EncryptionReceiveCapability,
14925
14
      { "h233EncryptionReceiveCapability", "h245.h233EncryptionReceiveCapability_element",
14926
14
        FT_NONE, BASE_NONE, NULL, 0,
14927
14
        NULL, HFILL }},
14928
14
    { &hf_h245_h233IVResponseTime,
14929
14
      { "h233IVResponseTime", "h245.h233IVResponseTime",
14930
14
        FT_UINT32, BASE_DEC, NULL, 0,
14931
14
        "INTEGER_0_255", HFILL }},
14932
14
    { &hf_h245_conferenceCapability,
14933
14
      { "conferenceCapability", "h245.conferenceCapability_element",
14934
14
        FT_NONE, BASE_NONE, NULL, 0,
14935
14
        NULL, HFILL }},
14936
14
    { &hf_h245_h235SecurityCapability,
14937
14
      { "h235SecurityCapability", "h245.h235SecurityCapability_element",
14938
14
        FT_NONE, BASE_NONE, NULL, 0,
14939
14
        NULL, HFILL }},
14940
14
    { &hf_h245_maxPendingReplacementFor,
14941
14
      { "maxPendingReplacementFor", "h245.maxPendingReplacementFor",
14942
14
        FT_UINT32, BASE_DEC, NULL, 0,
14943
14
        "INTEGER_0_255", HFILL }},
14944
14
    { &hf_h245_receiveUserInputCapability,
14945
14
      { "receiveUserInputCapability", "h245.receiveUserInputCapability",
14946
14
        FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
14947
14
        "UserInputCapability", HFILL }},
14948
14
    { &hf_h245_transmitUserInputCapability,
14949
14
      { "transmitUserInputCapability", "h245.transmitUserInputCapability",
14950
14
        FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
14951
14
        "UserInputCapability", HFILL }},
14952
14
    { &hf_h245_receiveAndTransmitUserInputCapability,
14953
14
      { "receiveAndTransmitUserInputCapability", "h245.receiveAndTransmitUserInputCapability",
14954
14
        FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
14955
14
        "UserInputCapability", HFILL }},
14956
14
    { &hf_h245_genericControlCapability,
14957
14
      { "genericControlCapability", "h245.genericControlCapability_element",
14958
14
        FT_NONE, BASE_NONE, NULL, 0,
14959
14
        "GenericCapability", HFILL }},
14960
14
    { &hf_h245_receiveMultiplexedStreamCapability,
14961
14
      { "receiveMultiplexedStreamCapability", "h245.receiveMultiplexedStreamCapability_element",
14962
14
        FT_NONE, BASE_NONE, NULL, 0,
14963
14
        "MultiplexedStreamCapability", HFILL }},
14964
14
    { &hf_h245_transmitMultiplexedStreamCapability,
14965
14
      { "transmitMultiplexedStreamCapability", "h245.transmitMultiplexedStreamCapability_element",
14966
14
        FT_NONE, BASE_NONE, NULL, 0,
14967
14
        "MultiplexedStreamCapability", HFILL }},
14968
14
    { &hf_h245_receiveAndTransmitMultiplexedStreamCapability,
14969
14
      { "receiveAndTransmitMultiplexedStreamCapability", "h245.receiveAndTransmitMultiplexedStreamCapability_element",
14970
14
        FT_NONE, BASE_NONE, NULL, 0,
14971
14
        "MultiplexedStreamCapability", HFILL }},
14972
14
    { &hf_h245_receiveRTPAudioTelephonyEventCapability,
14973
14
      { "receiveRTPAudioTelephonyEventCapability", "h245.receiveRTPAudioTelephonyEventCapability_element",
14974
14
        FT_NONE, BASE_NONE, NULL, 0,
14975
14
        "AudioTelephonyEventCapability", HFILL }},
14976
14
    { &hf_h245_receiveRTPAudioToneCapability,
14977
14
      { "receiveRTPAudioToneCapability", "h245.receiveRTPAudioToneCapability_element",
14978
14
        FT_NONE, BASE_NONE, NULL, 0,
14979
14
        "AudioToneCapability", HFILL }},
14980
14
    { &hf_h245_depFecCapability,
14981
14
      { "depFecCapability", "h245.depFecCapability",
14982
14
        FT_UINT32, BASE_DEC, VALS(h245_DepFECCapability_vals), 0,
14983
14
        NULL, HFILL }},
14984
14
    { &hf_h245_multiplePayloadStreamCapability,
14985
14
      { "multiplePayloadStreamCapability", "h245.multiplePayloadStreamCapability_element",
14986
14
        FT_NONE, BASE_NONE, NULL, 0,
14987
14
        NULL, HFILL }},
14988
14
    { &hf_h245_fecCapability,
14989
14
      { "fecCapability", "h245.fecCapability_element",
14990
14
        FT_NONE, BASE_NONE, NULL, 0,
14991
14
        NULL, HFILL }},
14992
14
    { &hf_h245_redundancyEncodingCap,
14993
14
      { "redundancyEncodingCap", "h245.redundancyEncodingCap_element",
14994
14
        FT_NONE, BASE_NONE, NULL, 0,
14995
14
        "RedundancyEncodingCapability", HFILL }},
14996
14
    { &hf_h245_oneOfCapabilities,
14997
14
      { "oneOfCapabilities", "h245.oneOfCapabilities",
14998
14
        FT_UINT32, BASE_DEC, NULL, 0,
14999
14
        "AlternativeCapabilitySet", HFILL }},
15000
14
    { &hf_h245_encryptionAuthenticationAndIntegrity,
15001
14
      { "encryptionAuthenticationAndIntegrity", "h245.encryptionAuthenticationAndIntegrity_element",
15002
14
        FT_NONE, BASE_NONE, NULL, 0,
15003
14
        NULL, HFILL }},
15004
14
    { &hf_h245_mediaCapability,
15005
14
      { "mediaCapability", "h245.mediaCapability",
15006
14
        FT_UINT32, BASE_DEC, NULL, 0,
15007
14
        "CapabilityTableEntryNumber", HFILL }},
15008
14
    { &hf_h245_h222Capability,
15009
14
      { "h222Capability", "h245.h222Capability_element",
15010
14
        FT_NONE, BASE_NONE, NULL, 0,
15011
14
        NULL, HFILL }},
15012
14
    { &hf_h245_h223Capability,
15013
14
      { "h223Capability", "h245.h223Capability_element",
15014
14
        FT_NONE, BASE_NONE, NULL, 0,
15015
14
        NULL, HFILL }},
15016
14
    { &hf_h245_v76Capability,
15017
14
      { "v76Capability", "h245.v76Capability_element",
15018
14
        FT_NONE, BASE_NONE, NULL, 0,
15019
14
        NULL, HFILL }},
15020
14
    { &hf_h245_h2250Capability,
15021
14
      { "h2250Capability", "h245.h2250Capability_element",
15022
14
        FT_NONE, BASE_NONE, NULL, 0,
15023
14
        NULL, HFILL }},
15024
14
    { &hf_h245_genericMultiplexCapability,
15025
14
      { "genericMultiplexCapability", "h245.genericMultiplexCapability_element",
15026
14
        FT_NONE, BASE_NONE, NULL, 0,
15027
14
        "GenericCapability", HFILL }},
15028
14
    { &hf_h245_numberOfVCs,
15029
14
      { "numberOfVCs", "h245.numberOfVCs",
15030
14
        FT_UINT32, BASE_DEC, NULL, 0,
15031
14
        "INTEGER_1_256", HFILL }},
15032
14
    { &hf_h245_vcCapability,
15033
14
      { "vcCapability", "h245.vcCapability",
15034
14
        FT_UINT32, BASE_DEC, NULL, 0,
15035
14
        "SET_OF_VCCapability", HFILL }},
15036
14
    { &hf_h245_vcCapability_item,
15037
14
      { "VCCapability", "h245.VCCapability_element",
15038
14
        FT_NONE, BASE_NONE, NULL, 0,
15039
14
        NULL, HFILL }},
15040
14
    { &hf_h245_aal1,
15041
14
      { "aal1", "h245.aal1_element",
15042
14
        FT_NONE, BASE_NONE, NULL, 0,
15043
14
        NULL, HFILL }},
15044
14
    { &hf_h245_nullClockRecovery,
15045
14
      { "nullClockRecovery", "h245.nullClockRecovery",
15046
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15047
14
        "BOOLEAN", HFILL }},
15048
14
    { &hf_h245_srtsClockRecovery_bool,
15049
14
      { "srtsClockRecovery", "h245.srtsClockRecovery_bool",
15050
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15051
14
        "BOOLEAN", HFILL }},
15052
14
    { &hf_h245_adaptiveClockRecovery,
15053
14
      { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
15054
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15055
14
        "BOOLEAN", HFILL }},
15056
14
    { &hf_h245_nullErrorCorrection,
15057
14
      { "nullErrorCorrection", "h245.nullErrorCorrection",
15058
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15059
14
        "BOOLEAN", HFILL }},
15060
14
    { &hf_h245_longInterleaver,
15061
14
      { "longInterleaver", "h245.longInterleaver",
15062
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15063
14
        "BOOLEAN", HFILL }},
15064
14
    { &hf_h245_shortInterleaver,
15065
14
      { "shortInterleaver", "h245.shortInterleaver",
15066
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15067
14
        "BOOLEAN", HFILL }},
15068
14
    { &hf_h245_errorCorrectionOnly,
15069
14
      { "errorCorrectionOnly", "h245.errorCorrectionOnly",
15070
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15071
14
        "BOOLEAN", HFILL }},
15072
14
    { &hf_h245_structuredDataTransfer,
15073
14
      { "structuredDataTransfer", "h245.structuredDataTransfer",
15074
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15075
14
        "BOOLEAN", HFILL }},
15076
14
    { &hf_h245_partiallyFilledCells,
15077
14
      { "partiallyFilledCells", "h245.partiallyFilledCells",
15078
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15079
14
        "BOOLEAN", HFILL }},
15080
14
    { &hf_h245_aal5,
15081
14
      { "aal5", "h245.aal5_element",
15082
14
        FT_NONE, BASE_NONE, NULL, 0,
15083
14
        NULL, HFILL }},
15084
14
    { &hf_h245_forwardMaximumSDUSize,
15085
14
      { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize",
15086
14
        FT_UINT32, BASE_DEC, NULL, 0,
15087
14
        "INTEGER_0_65535", HFILL }},
15088
14
    { &hf_h245_backwardMaximumSDUSize,
15089
14
      { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize",
15090
14
        FT_UINT32, BASE_DEC, NULL, 0,
15091
14
        "INTEGER_0_65535", HFILL }},
15092
14
    { &hf_h245_transportStream_bool,
15093
14
      { "transportStream", "h245.transportStream_bool",
15094
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15095
14
        "BOOLEAN", HFILL }},
15096
14
    { &hf_h245_programStream,
15097
14
      { "programStream", "h245.programStream",
15098
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15099
14
        "BOOLEAN", HFILL }},
15100
14
    { &hf_h245_availableBitRates,
15101
14
      { "availableBitRates", "h245.availableBitRates_element",
15102
14
        FT_NONE, BASE_NONE, NULL, 0,
15103
14
        NULL, HFILL }},
15104
14
    { &hf_h245_avb_type,
15105
14
      { "type", "h245.avb_type",
15106
14
        FT_UINT32, BASE_DEC, VALS(h245_Avb_type_vals), 0,
15107
14
        "Avb_type", HFILL }},
15108
14
    { &hf_h245_singleBitRate,
15109
14
      { "singleBitRate", "h245.singleBitRate",
15110
14
        FT_UINT32, BASE_DEC, NULL, 0,
15111
14
        "INTEGER_1_65535", HFILL }},
15112
14
    { &hf_h245_rangeOfBitRates,
15113
14
      { "rangeOfBitRates", "h245.rangeOfBitRates_element",
15114
14
        FT_NONE, BASE_NONE, NULL, 0,
15115
14
        NULL, HFILL }},
15116
14
    { &hf_h245_lowerBitRate,
15117
14
      { "lowerBitRate", "h245.lowerBitRate",
15118
14
        FT_UINT32, BASE_DEC, NULL, 0,
15119
14
        "INTEGER_1_65535", HFILL }},
15120
14
    { &hf_h245_higherBitRate,
15121
14
      { "higherBitRate", "h245.higherBitRate",
15122
14
        FT_UINT32, BASE_DEC, NULL, 0,
15123
14
        "INTEGER_1_65535", HFILL }},
15124
14
    { &hf_h245_aal1ViaGateway,
15125
14
      { "aal1ViaGateway", "h245.aal1ViaGateway_element",
15126
14
        FT_NONE, BASE_NONE, NULL, 0,
15127
14
        NULL, HFILL }},
15128
14
    { &hf_h245_gatewayAddress,
15129
14
      { "gatewayAddress", "h245.gatewayAddress",
15130
14
        FT_UINT32, BASE_DEC, NULL, 0,
15131
14
        "SET_SIZE_1_256_OF_Q2931Address", HFILL }},
15132
14
    { &hf_h245_gatewayAddress_item,
15133
14
      { "Q2931Address", "h245.Q2931Address_element",
15134
14
        FT_NONE, BASE_NONE, NULL, 0,
15135
14
        NULL, HFILL }},
15136
14
    { &hf_h245_srtsClockRecoveryflag,
15137
14
      { "srtsClockRecovery", "h245.srtsClockRecoveryflag",
15138
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15139
14
        "BOOLEAN", HFILL }},
15140
14
    { &hf_h245_transportWithI_frames,
15141
14
      { "transportWithI-frames", "h245.transportWithI_frames",
15142
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15143
14
        "BOOLEAN", HFILL }},
15144
14
    { &hf_h245_videoWithAL1,
15145
14
      { "videoWithAL1", "h245.videoWithAL1",
15146
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15147
14
        "BOOLEAN", HFILL }},
15148
14
    { &hf_h245_videoWithAL2,
15149
14
      { "videoWithAL2", "h245.videoWithAL2",
15150
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15151
14
        "BOOLEAN", HFILL }},
15152
14
    { &hf_h245_videoWithAL3,
15153
14
      { "videoWithAL3", "h245.videoWithAL3",
15154
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15155
14
        "BOOLEAN", HFILL }},
15156
14
    { &hf_h245_audioWithAL1,
15157
14
      { "audioWithAL1", "h245.audioWithAL1",
15158
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15159
14
        "BOOLEAN", HFILL }},
15160
14
    { &hf_h245_audioWithAL2,
15161
14
      { "audioWithAL2", "h245.audioWithAL2",
15162
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15163
14
        "BOOLEAN", HFILL }},
15164
14
    { &hf_h245_audioWithAL3,
15165
14
      { "audioWithAL3", "h245.audioWithAL3",
15166
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15167
14
        "BOOLEAN", HFILL }},
15168
14
    { &hf_h245_dataWithAL1,
15169
14
      { "dataWithAL1", "h245.dataWithAL1",
15170
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15171
14
        "BOOLEAN", HFILL }},
15172
14
    { &hf_h245_dataWithAL2,
15173
14
      { "dataWithAL2", "h245.dataWithAL2",
15174
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15175
14
        "BOOLEAN", HFILL }},
15176
14
    { &hf_h245_dataWithAL3,
15177
14
      { "dataWithAL3", "h245.dataWithAL3",
15178
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15179
14
        "BOOLEAN", HFILL }},
15180
14
    { &hf_h245_maximumAl2SDUSize,
15181
14
      { "maximumAl2SDUSize", "h245.maximumAl2SDUSize",
15182
14
        FT_UINT32, BASE_DEC, NULL, 0,
15183
14
        "INTEGER_0_65535", HFILL }},
15184
14
    { &hf_h245_maximumAl3SDUSize,
15185
14
      { "maximumAl3SDUSize", "h245.maximumAl3SDUSize",
15186
14
        FT_UINT32, BASE_DEC, NULL, 0,
15187
14
        "INTEGER_0_65535", HFILL }},
15188
14
    { &hf_h245_maximumDelayJitter,
15189
14
      { "maximumDelayJitter", "h245.maximumDelayJitter",
15190
14
        FT_UINT32, BASE_DEC, NULL, 0,
15191
14
        "INTEGER_0_1023", HFILL }},
15192
14
    { &hf_h245_h223MultiplexTableCapability,
15193
14
      { "h223MultiplexTableCapability", "h245.h223MultiplexTableCapability",
15194
14
        FT_UINT32, BASE_DEC, VALS(h245_T_h223MultiplexTableCapability_vals), 0,
15195
14
        NULL, HFILL }},
15196
14
    { &hf_h245_basic,
15197
14
      { "basic", "h245.basic_element",
15198
14
        FT_NONE, BASE_NONE, NULL, 0,
15199
14
        NULL, HFILL }},
15200
14
    { &hf_h245_enhanced,
15201
14
      { "enhanced", "h245.enhanced_element",
15202
14
        FT_NONE, BASE_NONE, NULL, 0,
15203
14
        NULL, HFILL }},
15204
14
    { &hf_h245_maximumNestingDepth,
15205
14
      { "maximumNestingDepth", "h245.maximumNestingDepth",
15206
14
        FT_UINT32, BASE_DEC, NULL, 0,
15207
14
        "INTEGER_1_15", HFILL }},
15208
14
    { &hf_h245_maximumElementListSize,
15209
14
      { "maximumElementListSize", "h245.maximumElementListSize",
15210
14
        FT_UINT32, BASE_DEC, NULL, 0,
15211
14
        "INTEGER_2_255", HFILL }},
15212
14
    { &hf_h245_maximumSubElementListSize,
15213
14
      { "maximumSubElementListSize", "h245.maximumSubElementListSize",
15214
14
        FT_UINT32, BASE_DEC, NULL, 0,
15215
14
        "INTEGER_2_255", HFILL }},
15216
14
    { &hf_h245_maxMUXPDUSizeCapability,
15217
14
      { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability",
15218
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15219
14
        "BOOLEAN", HFILL }},
15220
14
    { &hf_h245_nsrpSupport,
15221
14
      { "nsrpSupport", "h245.nsrpSupport",
15222
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15223
14
        "BOOLEAN", HFILL }},
15224
14
    { &hf_h245_mobileOperationTransmitCapability,
15225
14
      { "mobileOperationTransmitCapability", "h245.mobileOperationTransmitCapability_element",
15226
14
        FT_NONE, BASE_NONE, NULL, 0,
15227
14
        NULL, HFILL }},
15228
14
    { &hf_h245_modeChangeCapability,
15229
14
      { "modeChangeCapability", "h245.modeChangeCapability",
15230
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15231
14
        "BOOLEAN", HFILL }},
15232
14
    { &hf_h245_h223AnnexA,
15233
14
      { "h223AnnexA", "h245.h223AnnexA",
15234
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15235
14
        "BOOLEAN", HFILL }},
15236
14
    { &hf_h245_h223AnnexADoubleFlagFlag,
15237
14
      { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlagFlag",
15238
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15239
14
        "BOOLEAN", HFILL }},
15240
14
    { &hf_h245_h223AnnexB,
15241
14
      { "h223AnnexB", "h245.h223AnnexB",
15242
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15243
14
        "BOOLEAN", HFILL }},
15244
14
    { &hf_h245_h223AnnexBwithHeader,
15245
14
      { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader",
15246
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15247
14
        "BOOLEAN", HFILL }},
15248
14
    { &hf_h245_h223AnnexCCapability,
15249
14
      { "h223AnnexCCapability", "h245.h223AnnexCCapability_element",
15250
14
        FT_NONE, BASE_NONE, NULL, 0,
15251
14
        NULL, HFILL }},
15252
14
    { &hf_h245_bitRate_1_19200,
15253
14
      { "bitRate", "h245.bitRate_1_19200",
15254
14
        FT_UINT32, BASE_DEC, NULL, 0,
15255
14
        "INTEGER_1_19200", HFILL }},
15256
14
    { &hf_h245_mobileMultilinkFrameCapability,
15257
14
      { "mobileMultilinkFrameCapability", "h245.mobileMultilinkFrameCapability_element",
15258
14
        FT_NONE, BASE_NONE, NULL, 0,
15259
14
        NULL, HFILL }},
15260
14
    { &hf_h245_maximumSampleSize,
15261
14
      { "maximumSampleSize", "h245.maximumSampleSize",
15262
14
        FT_UINT32, BASE_DEC, NULL, 0,
15263
14
        "INTEGER_1_255", HFILL }},
15264
14
    { &hf_h245_maximumPayloadLength,
15265
14
      { "maximumPayloadLength", "h245.maximumPayloadLength",
15266
14
        FT_UINT32, BASE_DEC, NULL, 0,
15267
14
        "INTEGER_1_65025", HFILL }},
15268
14
    { &hf_h245_videoWithAL1M,
15269
14
      { "videoWithAL1M", "h245.videoWithAL1M",
15270
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15271
14
        "BOOLEAN", HFILL }},
15272
14
    { &hf_h245_videoWithAL2M,
15273
14
      { "videoWithAL2M", "h245.videoWithAL2M",
15274
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15275
14
        "BOOLEAN", HFILL }},
15276
14
    { &hf_h245_videoWithAL3M,
15277
14
      { "videoWithAL3M", "h245.videoWithAL3M",
15278
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15279
14
        "BOOLEAN", HFILL }},
15280
14
    { &hf_h245_audioWithAL1M,
15281
14
      { "audioWithAL1M", "h245.audioWithAL1M",
15282
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15283
14
        "BOOLEAN", HFILL }},
15284
14
    { &hf_h245_audioWithAL2M,
15285
14
      { "audioWithAL2M", "h245.audioWithAL2M",
15286
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15287
14
        "BOOLEAN", HFILL }},
15288
14
    { &hf_h245_audioWithAL3M,
15289
14
      { "audioWithAL3M", "h245.audioWithAL3M",
15290
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15291
14
        "BOOLEAN", HFILL }},
15292
14
    { &hf_h245_dataWithAL1M,
15293
14
      { "dataWithAL1M", "h245.dataWithAL1M",
15294
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15295
14
        "BOOLEAN", HFILL }},
15296
14
    { &hf_h245_dataWithAL2M,
15297
14
      { "dataWithAL2M", "h245.dataWithAL2M",
15298
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15299
14
        "BOOLEAN", HFILL }},
15300
14
    { &hf_h245_dataWithAL3M,
15301
14
      { "dataWithAL3M", "h245.dataWithAL3M",
15302
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15303
14
        "BOOLEAN", HFILL }},
15304
14
    { &hf_h245_alpduInterleaving,
15305
14
      { "alpduInterleaving", "h245.alpduInterleaving",
15306
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15307
14
        "BOOLEAN", HFILL }},
15308
14
    { &hf_h245_maximumAL1MPDUSize,
15309
14
      { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize",
15310
14
        FT_UINT32, BASE_DEC, NULL, 0,
15311
14
        "INTEGER_0_65535", HFILL }},
15312
14
    { &hf_h245_maximumAL2MSDUSize,
15313
14
      { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize",
15314
14
        FT_UINT32, BASE_DEC, NULL, 0,
15315
14
        "INTEGER_0_65535", HFILL }},
15316
14
    { &hf_h245_maximumAL3MSDUSize,
15317
14
      { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize",
15318
14
        FT_UINT32, BASE_DEC, NULL, 0,
15319
14
        "INTEGER_0_65535", HFILL }},
15320
14
    { &hf_h245_rsCodeCapability,
15321
14
      { "rsCodeCapability", "h245.rsCodeCapability",
15322
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15323
14
        "BOOLEAN", HFILL }},
15324
14
    { &hf_h245_suspendResumeCapabilitywAddress,
15325
14
      { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress",
15326
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15327
14
        "BOOLEAN", HFILL }},
15328
14
    { &hf_h245_suspendResumeCapabilitywoAddress,
15329
14
      { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress",
15330
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15331
14
        "BOOLEAN", HFILL }},
15332
14
    { &hf_h245_rejCapability,
15333
14
      { "rejCapability", "h245.rejCapability",
15334
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15335
14
        "BOOLEAN", HFILL }},
15336
14
    { &hf_h245_sREJCapability,
15337
14
      { "sREJCapability", "h245.sREJCapability",
15338
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15339
14
        "BOOLEAN", HFILL }},
15340
14
    { &hf_h245_mREJCapability,
15341
14
      { "mREJCapability", "h245.mREJCapability",
15342
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15343
14
        "BOOLEAN", HFILL }},
15344
14
    { &hf_h245_crc8bitCapability,
15345
14
      { "crc8bitCapability", "h245.crc8bitCapability",
15346
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15347
14
        "BOOLEAN", HFILL }},
15348
14
    { &hf_h245_crc16bitCapability,
15349
14
      { "crc16bitCapability", "h245.crc16bitCapability",
15350
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15351
14
        "BOOLEAN", HFILL }},
15352
14
    { &hf_h245_crc32bitCapability,
15353
14
      { "crc32bitCapability", "h245.crc32bitCapability",
15354
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15355
14
        "BOOLEAN", HFILL }},
15356
14
    { &hf_h245_uihCapability,
15357
14
      { "uihCapability", "h245.uihCapability",
15358
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15359
14
        "BOOLEAN", HFILL }},
15360
14
    { &hf_h245_numOfDLCS,
15361
14
      { "numOfDLCS", "h245.numOfDLCS",
15362
14
        FT_UINT32, BASE_DEC, NULL, 0,
15363
14
        "INTEGER_2_8191", HFILL }},
15364
14
    { &hf_h245_twoOctetAddressFieldCapability,
15365
14
      { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability",
15366
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15367
14
        "BOOLEAN", HFILL }},
15368
14
    { &hf_h245_loopBackTestCapability,
15369
14
      { "loopBackTestCapability", "h245.loopBackTestCapability",
15370
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15371
14
        "BOOLEAN", HFILL }},
15372
14
    { &hf_h245_n401Capability,
15373
14
      { "n401Capability", "h245.n401Capability",
15374
14
        FT_UINT32, BASE_DEC, NULL, 0,
15375
14
        "INTEGER_1_4095", HFILL }},
15376
14
    { &hf_h245_maxWindowSizeCapability,
15377
14
      { "maxWindowSizeCapability", "h245.maxWindowSizeCapability",
15378
14
        FT_UINT32, BASE_DEC, NULL, 0,
15379
14
        "INTEGER_1_127", HFILL }},
15380
14
    { &hf_h245_v75Capability,
15381
14
      { "v75Capability", "h245.v75Capability_element",
15382
14
        FT_NONE, BASE_NONE, NULL, 0,
15383
14
        NULL, HFILL }},
15384
14
    { &hf_h245_audioHeader,
15385
14
      { "audioHeader", "h245.audioHeader",
15386
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15387
14
        "BOOLEAN", HFILL }},
15388
14
    { &hf_h245_maximumAudioDelayJitter,
15389
14
      { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter",
15390
14
        FT_UINT32, BASE_DEC, NULL, 0,
15391
14
        "INTEGER_0_1023", HFILL }},
15392
14
    { &hf_h245_receiveMultipointCapability,
15393
14
      { "receiveMultipointCapability", "h245.receiveMultipointCapability_element",
15394
14
        FT_NONE, BASE_NONE, NULL, 0,
15395
14
        "MultipointCapability", HFILL }},
15396
14
    { &hf_h245_transmitMultipointCapability,
15397
14
      { "transmitMultipointCapability", "h245.transmitMultipointCapability_element",
15398
14
        FT_NONE, BASE_NONE, NULL, 0,
15399
14
        "MultipointCapability", HFILL }},
15400
14
    { &hf_h245_receiveAndTransmitMultipointCapability,
15401
14
      { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability_element",
15402
14
        FT_NONE, BASE_NONE, NULL, 0,
15403
14
        "MultipointCapability", HFILL }},
15404
14
    { &hf_h245_mcCapability,
15405
14
      { "mcCapability", "h245.mcCapability_element",
15406
14
        FT_NONE, BASE_NONE, NULL, 0,
15407
14
        NULL, HFILL }},
15408
14
    { &hf_h245_centralizedConferenceMC,
15409
14
      { "centralizedConferenceMC", "h245.centralizedConferenceMC",
15410
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15411
14
        "BOOLEAN", HFILL }},
15412
14
    { &hf_h245_decentralizedConferenceMC,
15413
14
      { "decentralizedConferenceMC", "h245.decentralizedConferenceMC",
15414
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15415
14
        "BOOLEAN", HFILL }},
15416
14
    { &hf_h245_rtcpVideoControlCapability,
15417
14
      { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability",
15418
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15419
14
        "BOOLEAN", HFILL }},
15420
14
    { &hf_h245_mediaPacketizationCapability,
15421
14
      { "mediaPacketizationCapability", "h245.mediaPacketizationCapability_element",
15422
14
        FT_NONE, BASE_NONE, NULL, 0,
15423
14
        NULL, HFILL }},
15424
14
    { &hf_h245_transportCapability,
15425
14
      { "transportCapability", "h245.transportCapability_element",
15426
14
        FT_NONE, BASE_NONE, NULL, 0,
15427
14
        NULL, HFILL }},
15428
14
    { &hf_h245_redundancyEncodingCapability,
15429
14
      { "redundancyEncodingCapability", "h245.redundancyEncodingCapability",
15430
14
        FT_UINT32, BASE_DEC, NULL, 0,
15431
14
        "SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability", HFILL }},
15432
14
    { &hf_h245_redundancyEncodingCapability_item,
15433
14
      { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability_element",
15434
14
        FT_NONE, BASE_NONE, NULL, 0,
15435
14
        NULL, HFILL }},
15436
14
    { &hf_h245_logicalChannelSwitchingCapability,
15437
14
      { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability",
15438
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15439
14
        "BOOLEAN", HFILL }},
15440
14
    { &hf_h245_t120DynamicPortCapability,
15441
14
      { "t120DynamicPortCapability", "h245.t120DynamicPortCapability",
15442
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15443
14
        "BOOLEAN", HFILL }},
15444
14
    { &hf_h245_h261aVideoPacketization,
15445
14
      { "h261aVideoPacketization", "h245.h261aVideoPacketization",
15446
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15447
14
        "BOOLEAN", HFILL }},
15448
14
    { &hf_h245_rtpPayloadTypes,
15449
14
      { "rtpPayloadType", "h245.rtpPayloadTypes",
15450
14
        FT_UINT32, BASE_DEC, NULL, 0,
15451
14
        "SEQUENCE_SIZE_1_256_OF_RTPPayloadType", HFILL }},
15452
14
    { &hf_h245_rtpPayloadTypes_item,
15453
14
      { "RTPPayloadType", "h245.RTPPayloadType_element",
15454
14
        FT_NONE, BASE_NONE, NULL, 0,
15455
14
        NULL, HFILL }},
15456
14
    { &hf_h245_qosMode,
15457
14
      { "qosMode", "h245.qosMode",
15458
14
        FT_UINT32, BASE_DEC, VALS(h245_QOSMode_vals), 0,
15459
14
        NULL, HFILL }},
15460
14
    { &hf_h245_tokenRate,
15461
14
      { "tokenRate", "h245.tokenRate",
15462
14
        FT_UINT32, BASE_DEC, NULL, 0,
15463
14
        "INTEGER_1_4294967295", HFILL }},
15464
14
    { &hf_h245_bucketSize,
15465
14
      { "bucketSize", "h245.bucketSize",
15466
14
        FT_UINT32, BASE_DEC, NULL, 0,
15467
14
        "INTEGER_1_4294967295", HFILL }},
15468
14
    { &hf_h245_peakRate,
15469
14
      { "peakRate", "h245.peakRate",
15470
14
        FT_UINT32, BASE_DEC, NULL, 0,
15471
14
        "INTEGER_1_4294967295", HFILL }},
15472
14
    { &hf_h245_minPoliced,
15473
14
      { "minPoliced", "h245.minPoliced",
15474
14
        FT_UINT32, BASE_DEC, NULL, 0,
15475
14
        "INTEGER_1_4294967295", HFILL }},
15476
14
    { &hf_h245_maxPktSize,
15477
14
      { "maxPktSize", "h245.maxPktSize",
15478
14
        FT_UINT32, BASE_DEC, NULL, 0,
15479
14
        "INTEGER_1_4294967295", HFILL }},
15480
14
    { &hf_h245_guaranteedQOS,
15481
14
      { "guaranteedQOS", "h245.guaranteedQOS_element",
15482
14
        FT_NONE, BASE_NONE, NULL, 0,
15483
14
        NULL, HFILL }},
15484
14
    { &hf_h245_controlledLoad,
15485
14
      { "controlledLoad", "h245.controlledLoad_element",
15486
14
        FT_NONE, BASE_NONE, NULL, 0,
15487
14
        NULL, HFILL }},
15488
14
    { &hf_h245_maxNTUSize,
15489
14
      { "maxNTUSize", "h245.maxNTUSize",
15490
14
        FT_UINT32, BASE_DEC, NULL, 0,
15491
14
        "INTEGER_0_65535", HFILL }},
15492
14
    { &hf_h245_atmUBR,
15493
14
      { "atmUBR", "h245.atmUBR",
15494
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15495
14
        "BOOLEAN", HFILL }},
15496
14
    { &hf_h245_atmrtVBR,
15497
14
      { "atmrtVBR", "h245.atmrtVBR",
15498
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15499
14
        "BOOLEAN", HFILL }},
15500
14
    { &hf_h245_atmnrtVBR,
15501
14
      { "atmnrtVBR", "h245.atmnrtVBR",
15502
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15503
14
        "BOOLEAN", HFILL }},
15504
14
    { &hf_h245_atmABR,
15505
14
      { "atmABR", "h245.atmABR",
15506
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15507
14
        "BOOLEAN", HFILL }},
15508
14
    { &hf_h245_atmCBR,
15509
14
      { "atmCBR", "h245.atmCBR",
15510
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15511
14
        "BOOLEAN", HFILL }},
15512
14
    { &hf_h245_nonStandardParameter,
15513
14
      { "nonStandardParameter", "h245.nonStandardParameter_element",
15514
14
        FT_NONE, BASE_NONE, NULL, 0,
15515
14
        NULL, HFILL }},
15516
14
    { &hf_h245_value,
15517
14
      { "value", "h245.value",
15518
14
        FT_UINT32, BASE_DEC, NULL, 0,
15519
14
        "INTEGER_0_255", HFILL }},
15520
14
    { &hf_h245_servicePrioritySignalled,
15521
14
      { "servicePrioritySignalled", "h245.servicePrioritySignalled",
15522
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15523
14
        "BOOLEAN", HFILL }},
15524
14
    { &hf_h245_servicePriorityValue,
15525
14
      { "servicePriorityValue", "h245.servicePriorityValue_element",
15526
14
        FT_NONE, BASE_NONE, NULL, 0,
15527
14
        NULL, HFILL }},
15528
14
    { &hf_h245_serviceClass,
15529
14
      { "serviceClass", "h245.serviceClass",
15530
14
        FT_UINT32, BASE_DEC, NULL, 0,
15531
14
        "INTEGER_0_4095", HFILL }},
15532
14
    { &hf_h245_serviceSubclass,
15533
14
      { "serviceSubclass", "h245.serviceSubclass",
15534
14
        FT_UINT32, BASE_DEC, NULL, 0,
15535
14
        "INTEGER_0_255", HFILL }},
15536
14
    { &hf_h245_desired,
15537
14
      { "desired", "h245.desired_element",
15538
14
        FT_NONE, BASE_NONE, NULL, 0,
15539
14
        NULL, HFILL }},
15540
14
    { &hf_h245_required,
15541
14
      { "required", "h245.required_element",
15542
14
        FT_NONE, BASE_NONE, NULL, 0,
15543
14
        NULL, HFILL }},
15544
14
    { &hf_h245_class0,
15545
14
      { "class0", "h245.class0_element",
15546
14
        FT_NONE, BASE_NONE, NULL, 0,
15547
14
        NULL, HFILL }},
15548
14
    { &hf_h245_class1,
15549
14
      { "class1", "h245.class1_element",
15550
14
        FT_NONE, BASE_NONE, NULL, 0,
15551
14
        NULL, HFILL }},
15552
14
    { &hf_h245_class2,
15553
14
      { "class2", "h245.class2_element",
15554
14
        FT_NONE, BASE_NONE, NULL, 0,
15555
14
        NULL, HFILL }},
15556
14
    { &hf_h245_class3,
15557
14
      { "class3", "h245.class3_element",
15558
14
        FT_NONE, BASE_NONE, NULL, 0,
15559
14
        NULL, HFILL }},
15560
14
    { &hf_h245_class4,
15561
14
      { "class4", "h245.class4_element",
15562
14
        FT_NONE, BASE_NONE, NULL, 0,
15563
14
        NULL, HFILL }},
15564
14
    { &hf_h245_class5,
15565
14
      { "class5", "h245.class5_element",
15566
14
        FT_NONE, BASE_NONE, NULL, 0,
15567
14
        NULL, HFILL }},
15568
14
    { &hf_h245_qosType,
15569
14
      { "qosType", "h245.qosType",
15570
14
        FT_UINT32, BASE_DEC, VALS(h245_QOSType_vals), 0,
15571
14
        NULL, HFILL }},
15572
14
    { &hf_h245_qosClass,
15573
14
      { "qosClass", "h245.qosClass",
15574
14
        FT_UINT32, BASE_DEC, VALS(h245_QOSClass_vals), 0,
15575
14
        NULL, HFILL }},
15576
14
    { &hf_h245_averageRate,
15577
14
      { "averageRate", "h245.averageRate",
15578
14
        FT_UINT32, BASE_DEC, NULL, 0,
15579
14
        "INTEGER_1_4294967295", HFILL }},
15580
14
    { &hf_h245_burst,
15581
14
      { "burst", "h245.burst",
15582
14
        FT_UINT32, BASE_DEC, NULL, 0,
15583
14
        "INTEGER_1_4294967295", HFILL }},
15584
14
    { &hf_h245_rsvpParameters,
15585
14
      { "rsvpParameters", "h245.rsvpParameters_element",
15586
14
        FT_NONE, BASE_NONE, NULL, 0,
15587
14
        NULL, HFILL }},
15588
14
    { &hf_h245_atmParameters,
15589
14
      { "atmParameters", "h245.atmParameters_element",
15590
14
        FT_NONE, BASE_NONE, NULL, 0,
15591
14
        NULL, HFILL }},
15592
14
    { &hf_h245_localQoS,
15593
14
      { "localQoS", "h245.localQoS",
15594
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15595
14
        "BOOLEAN", HFILL }},
15596
14
    { &hf_h245_genericTransportParameters,
15597
14
      { "genericTransportParameters", "h245.genericTransportParameters_element",
15598
14
        FT_NONE, BASE_NONE, NULL, 0,
15599
14
        NULL, HFILL }},
15600
14
    { &hf_h245_servicePriority,
15601
14
      { "servicePriority", "h245.servicePriority_element",
15602
14
        FT_NONE, BASE_NONE, NULL, 0,
15603
14
        NULL, HFILL }},
15604
14
    { &hf_h245_authorizationParameter,
15605
14
      { "authorizationParameter", "h245.authorizationParameter_element",
15606
14
        FT_NONE, BASE_NONE, NULL, 0,
15607
14
        "AuthorizationParameters", HFILL }},
15608
14
    { &hf_h245_qosDescriptor,
15609
14
      { "qosDescriptor", "h245.qosDescriptor_element",
15610
14
        FT_NONE, BASE_NONE, NULL, 0,
15611
14
        NULL, HFILL }},
15612
14
    { &hf_h245_dscpValue,
15613
14
      { "dscpValue", "h245.dscpValue",
15614
14
        FT_UINT32, BASE_DEC, NULL, 0,
15615
14
        "INTEGER_0_63", HFILL }},
15616
14
    { &hf_h245_ip_UDP,
15617
14
      { "ip-UDP", "h245.ip_UDP_element",
15618
14
        FT_NONE, BASE_NONE, NULL, 0,
15619
14
        NULL, HFILL }},
15620
14
    { &hf_h245_ip_TCP,
15621
14
      { "ip-TCP", "h245.ip_TCP_element",
15622
14
        FT_NONE, BASE_NONE, NULL, 0,
15623
14
        NULL, HFILL }},
15624
14
    { &hf_h245_atm_AAL5_UNIDIR,
15625
14
      { "atm-AAL5-UNIDIR", "h245.atm_AAL5_UNIDIR_element",
15626
14
        FT_NONE, BASE_NONE, NULL, 0,
15627
14
        NULL, HFILL }},
15628
14
    { &hf_h245_atm_AAL5_BIDIR,
15629
14
      { "atm-AAL5-BIDIR", "h245.atm_AAL5_BIDIR_element",
15630
14
        FT_NONE, BASE_NONE, NULL, 0,
15631
14
        NULL, HFILL }},
15632
14
    { &hf_h245_atm_AAL5_compressed,
15633
14
      { "atm-AAL5-compressed", "h245.atm_AAL5_compressed_element",
15634
14
        FT_NONE, BASE_NONE, NULL, 0,
15635
14
        NULL, HFILL }},
15636
14
    { &hf_h245_variable_delta,
15637
14
      { "variable-delta", "h245.variable_delta",
15638
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15639
14
        "BOOLEAN", HFILL }},
15640
14
    { &hf_h245_mediaTransport,
15641
14
      { "mediaTransport", "h245.mediaTransport",
15642
14
        FT_UINT32, BASE_DEC, VALS(h245_MediaTransportType_vals), 0,
15643
14
        "MediaTransportType", HFILL }},
15644
14
    { &hf_h245_qOSCapabilities,
15645
14
      { "qOSCapabilities", "h245.qOSCapabilities",
15646
14
        FT_UINT32, BASE_DEC, NULL, 0,
15647
14
        "SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }},
15648
14
    { &hf_h245_qOSCapabilities_item,
15649
14
      { "QOSCapability", "h245.QOSCapability_element",
15650
14
        FT_NONE, BASE_NONE, NULL, 0,
15651
14
        NULL, HFILL }},
15652
14
    { &hf_h245_mediaChannelCapabilities,
15653
14
      { "mediaChannelCapabilities", "h245.mediaChannelCapabilities",
15654
14
        FT_UINT32, BASE_DEC, NULL, 0,
15655
14
        "SEQUENCE_SIZE_1_256_OF_MediaChannelCapability", HFILL }},
15656
14
    { &hf_h245_mediaChannelCapabilities_item,
15657
14
      { "MediaChannelCapability", "h245.MediaChannelCapability_element",
15658
14
        FT_NONE, BASE_NONE, NULL, 0,
15659
14
        NULL, HFILL }},
15660
14
    { &hf_h245_redundancyEncodingMethod,
15661
14
      { "redundancyEncodingMethod", "h245.redundancyEncodingMethod",
15662
14
        FT_UINT32, BASE_DEC, VALS(h245_RedundancyEncodingMethod_vals), 0,
15663
14
        NULL, HFILL }},
15664
14
    { &hf_h245_primaryEncoding,
15665
14
      { "primaryEncoding", "h245.primaryEncoding",
15666
14
        FT_UINT32, BASE_DEC, NULL, 0,
15667
14
        "CapabilityTableEntryNumber", HFILL }},
15668
14
    { &hf_h245_secondaryEncodingCapability,
15669
14
      { "secondaryEncoding", "h245.secondaryEncodingCapability",
15670
14
        FT_UINT32, BASE_DEC, NULL, 0,
15671
14
        "SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber", HFILL }},
15672
14
    { &hf_h245_secondaryEncodingCapability_item,
15673
14
      { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
15674
14
        FT_UINT32, BASE_DEC, NULL, 0,
15675
14
        NULL, HFILL }},
15676
14
    { &hf_h245_rtpAudioRedundancyEncoding,
15677
14
      { "rtpAudioRedundancyEncoding", "h245.rtpAudioRedundancyEncoding_element",
15678
14
        FT_NONE, BASE_NONE, NULL, 0,
15679
14
        NULL, HFILL }},
15680
14
    { &hf_h245_rtpH263VideoRedundancyEncoding,
15681
14
      { "rtpH263VideoRedundancyEncoding", "h245.rtpH263VideoRedundancyEncoding_element",
15682
14
        FT_NONE, BASE_NONE, NULL, 0,
15683
14
        NULL, HFILL }},
15684
14
    { &hf_h245_numberOfThreads,
15685
14
      { "numberOfThreads", "h245.numberOfThreads",
15686
14
        FT_UINT32, BASE_DEC, NULL, 0,
15687
14
        "INTEGER_1_16", HFILL }},
15688
14
    { &hf_h245_framesBetweenSyncPoints,
15689
14
      { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints",
15690
14
        FT_UINT32, BASE_DEC, NULL, 0,
15691
14
        "INTEGER_1_256", HFILL }},
15692
14
    { &hf_h245_frameToThreadMapping,
15693
14
      { "frameToThreadMapping", "h245.frameToThreadMapping",
15694
14
        FT_UINT32, BASE_DEC, VALS(h245_T_frameToThreadMapping_vals), 0,
15695
14
        NULL, HFILL }},
15696
14
    { &hf_h245_roundrobin,
15697
14
      { "roundrobin", "h245.roundrobin_element",
15698
14
        FT_NONE, BASE_NONE, NULL, 0,
15699
14
        NULL, HFILL }},
15700
14
    { &hf_h245_custom,
15701
14
      { "custom", "h245.custom",
15702
14
        FT_UINT32, BASE_DEC, NULL, 0,
15703
14
        "SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping", HFILL }},
15704
14
    { &hf_h245_custom_item,
15705
14
      { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping_element",
15706
14
        FT_NONE, BASE_NONE, NULL, 0,
15707
14
        NULL, HFILL }},
15708
14
    { &hf_h245_containedThreads,
15709
14
      { "containedThreads", "h245.containedThreads",
15710
14
        FT_UINT32, BASE_DEC, NULL, 0,
15711
14
        NULL, HFILL }},
15712
14
    { &hf_h245_containedThreads_item,
15713
14
      { "containedThreads item", "h245.containedThreads_item",
15714
14
        FT_UINT32, BASE_DEC, NULL, 0,
15715
14
        "INTEGER_0_15", HFILL }},
15716
14
    { &hf_h245_threadNumber,
15717
14
      { "threadNumber", "h245.threadNumber",
15718
14
        FT_UINT32, BASE_DEC, NULL, 0,
15719
14
        "INTEGER_0_15", HFILL }},
15720
14
    { &hf_h245_frameSequence,
15721
14
      { "frameSequence", "h245.frameSequence",
15722
14
        FT_UINT32, BASE_DEC, NULL, 0,
15723
14
        NULL, HFILL }},
15724
14
    { &hf_h245_frameSequence_item,
15725
14
      { "frameSequence item", "h245.frameSequence_item",
15726
14
        FT_UINT32, BASE_DEC, NULL, 0,
15727
14
        "INTEGER_0_255", HFILL }},
15728
14
    { &hf_h245_multicastCapability,
15729
14
      { "multicastCapability", "h245.multicastCapability",
15730
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15731
14
        "BOOLEAN", HFILL }},
15732
14
    { &hf_h245_multiUniCastConference,
15733
14
      { "multiUniCastConference", "h245.multiUniCastConference",
15734
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15735
14
        "BOOLEAN", HFILL }},
15736
14
    { &hf_h245_mediaDistributionCapability,
15737
14
      { "mediaDistributionCapability", "h245.mediaDistributionCapability",
15738
14
        FT_UINT32, BASE_DEC, NULL, 0,
15739
14
        "SEQUENCE_OF_MediaDistributionCapability", HFILL }},
15740
14
    { &hf_h245_mediaDistributionCapability_item,
15741
14
      { "MediaDistributionCapability", "h245.MediaDistributionCapability_element",
15742
14
        FT_NONE, BASE_NONE, NULL, 0,
15743
14
        NULL, HFILL }},
15744
14
    { &hf_h245_centralizedControl,
15745
14
      { "centralizedControl", "h245.centralizedControl",
15746
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15747
14
        "BOOLEAN", HFILL }},
15748
14
    { &hf_h245_distributedControl,
15749
14
      { "distributedControl", "h245.distributedControl",
15750
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15751
14
        "BOOLEAN", HFILL }},
15752
14
    { &hf_h245_centralizedAudio,
15753
14
      { "centralizedAudio", "h245.centralizedAudio",
15754
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15755
14
        "BOOLEAN", HFILL }},
15756
14
    { &hf_h245_distributedAudio,
15757
14
      { "distributedAudio", "h245.distributedAudio",
15758
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15759
14
        "BOOLEAN", HFILL }},
15760
14
    { &hf_h245_centralizedVideo,
15761
14
      { "centralizedVideo", "h245.centralizedVideo",
15762
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15763
14
        "BOOLEAN", HFILL }},
15764
14
    { &hf_h245_distributedVideo,
15765
14
      { "distributedVideo", "h245.distributedVideo",
15766
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15767
14
        "BOOLEAN", HFILL }},
15768
14
    { &hf_h245_centralizedData,
15769
14
      { "centralizedData", "h245.centralizedData",
15770
14
        FT_UINT32, BASE_DEC, NULL, 0,
15771
14
        "SEQUENCE_OF_DataApplicationCapability", HFILL }},
15772
14
    { &hf_h245_centralizedData_item,
15773
14
      { "DataApplicationCapability", "h245.DataApplicationCapability_element",
15774
14
        FT_NONE, BASE_NONE, NULL, 0,
15775
14
        NULL, HFILL }},
15776
14
    { &hf_h245_distributedData,
15777
14
      { "distributedData", "h245.distributedData",
15778
14
        FT_UINT32, BASE_DEC, NULL, 0,
15779
14
        "SEQUENCE_OF_DataApplicationCapability", HFILL }},
15780
14
    { &hf_h245_distributedData_item,
15781
14
      { "DataApplicationCapability", "h245.DataApplicationCapability_element",
15782
14
        FT_NONE, BASE_NONE, NULL, 0,
15783
14
        NULL, HFILL }},
15784
14
    { &hf_h245_h261VideoCapability,
15785
14
      { "h261VideoCapability", "h245.h261VideoCapability_element",
15786
14
        FT_NONE, BASE_NONE, NULL, 0,
15787
14
        NULL, HFILL }},
15788
14
    { &hf_h245_h262VideoCapability,
15789
14
      { "h262VideoCapability", "h245.h262VideoCapability_element",
15790
14
        FT_NONE, BASE_NONE, NULL, 0,
15791
14
        NULL, HFILL }},
15792
14
    { &hf_h245_h263VideoCapability,
15793
14
      { "h263VideoCapability", "h245.h263VideoCapability_element",
15794
14
        FT_NONE, BASE_NONE, NULL, 0,
15795
14
        NULL, HFILL }},
15796
14
    { &hf_h245_is11172VideoCapability,
15797
14
      { "is11172VideoCapability", "h245.is11172VideoCapability_element",
15798
14
        FT_NONE, BASE_NONE, NULL, 0,
15799
14
        NULL, HFILL }},
15800
14
    { &hf_h245_genericVideoCapability,
15801
14
      { "genericVideoCapability", "h245.genericVideoCapability_element",
15802
14
        FT_NONE, BASE_NONE, NULL, 0,
15803
14
        "GenericCapability", HFILL }},
15804
14
    { &hf_h245_extendedVideoCapability,
15805
14
      { "extendedVideoCapability", "h245.extendedVideoCapability_element",
15806
14
        FT_NONE, BASE_NONE, NULL, 0,
15807
14
        NULL, HFILL }},
15808
14
    { &hf_h245_videoCapability,
15809
14
      { "videoCapability", "h245.videoCapability",
15810
14
        FT_UINT32, BASE_DEC, NULL, 0,
15811
14
        "SEQUENCE_OF_VideoCapability", HFILL }},
15812
14
    { &hf_h245_videoCapability_item,
15813
14
      { "VideoCapability", "h245.VideoCapability",
15814
14
        FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15815
14
        NULL, HFILL }},
15816
14
    { &hf_h245_videoCapabilityExtension,
15817
14
      { "videoCapabilityExtension", "h245.videoCapabilityExtension",
15818
14
        FT_UINT32, BASE_DEC, NULL, 0,
15819
14
        "SEQUENCE_OF_GenericCapability", HFILL }},
15820
14
    { &hf_h245_videoCapabilityExtension_item,
15821
14
      { "GenericCapability", "h245.GenericCapability_element",
15822
14
        FT_NONE, BASE_NONE, NULL, 0,
15823
14
        NULL, HFILL }},
15824
14
    { &hf_h245_qcifMPI_1_4,
15825
14
      { "qcifMPI", "h245.qcifMPI_1_4",
15826
14
        FT_UINT32, BASE_DEC, NULL, 0,
15827
14
        "INTEGER_1_4", HFILL }},
15828
14
    { &hf_h245_cifMPI_1_4,
15829
14
      { "cifMPI", "h245.cifMPI_1_4",
15830
14
        FT_UINT32, BASE_DEC, NULL, 0,
15831
14
        "INTEGER_1_4", HFILL }},
15832
14
    { &hf_h245_temporalSpatialTradeOffCapability,
15833
14
      { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability",
15834
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15835
14
        "BOOLEAN", HFILL }},
15836
14
    { &hf_h245_maxBitRate_1_19200,
15837
14
      { "maxBitRate", "h245.maxBitRate_1_19200",
15838
14
        FT_UINT32, BASE_DEC, NULL, 0,
15839
14
        "INTEGER_1_19200", HFILL }},
15840
14
    { &hf_h245_stillImageTransmission,
15841
14
      { "stillImageTransmission", "h245.stillImageTransmission",
15842
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15843
14
        "BOOLEAN", HFILL }},
15844
14
    { &hf_h245_videoBadMBsCap,
15845
14
      { "videoBadMBsCap", "h245.videoBadMBsCap",
15846
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15847
14
        "BOOLEAN", HFILL }},
15848
14
    { &hf_h245_profileAndLevel_SPatML,
15849
14
      { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
15850
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15851
14
        "BOOLEAN", HFILL }},
15852
14
    { &hf_h245_profileAndLevel_MPatLL,
15853
14
      { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
15854
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15855
14
        "BOOLEAN", HFILL }},
15856
14
    { &hf_h245_profileAndLevel_MPatML,
15857
14
      { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
15858
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15859
14
        "BOOLEAN", HFILL }},
15860
14
    { &hf_h245_profileAndLevel_MPatH_14,
15861
14
      { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
15862
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15863
14
        "BOOLEAN", HFILL }},
15864
14
    { &hf_h245_profileAndLevel_MPatHL,
15865
14
      { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
15866
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15867
14
        "BOOLEAN", HFILL }},
15868
14
    { &hf_h245_profileAndLevel_SNRatLL,
15869
14
      { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
15870
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15871
14
        "BOOLEAN", HFILL }},
15872
14
    { &hf_h245_profileAndLevel_SNRatML,
15873
14
      { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
15874
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15875
14
        "BOOLEAN", HFILL }},
15876
14
    { &hf_h245_profileAndLevel_SpatialatH_14,
15877
14
      { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
15878
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15879
14
        "BOOLEAN", HFILL }},
15880
14
    { &hf_h245_profileAndLevel_HPatML,
15881
14
      { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
15882
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15883
14
        "BOOLEAN", HFILL }},
15884
14
    { &hf_h245_profileAndLevel_HPatH_14,
15885
14
      { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
15886
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15887
14
        "BOOLEAN", HFILL }},
15888
14
    { &hf_h245_profileAndLevel_HPatHL,
15889
14
      { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
15890
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15891
14
        "BOOLEAN", HFILL }},
15892
14
    { &hf_h245_videoBitRate,
15893
14
      { "videoBitRate", "h245.videoBitRate",
15894
14
        FT_UINT32, BASE_DEC, NULL, 0,
15895
14
        "INTEGER_0_1073741823", HFILL }},
15896
14
    { &hf_h245_vbvBufferSize,
15897
14
      { "vbvBufferSize", "h245.vbvBufferSize",
15898
14
        FT_UINT32, BASE_DEC, NULL, 0,
15899
14
        "INTEGER_0_262143", HFILL }},
15900
14
    { &hf_h245_samplesPerLine,
15901
14
      { "samplesPerLine", "h245.samplesPerLine",
15902
14
        FT_UINT32, BASE_DEC, NULL, 0,
15903
14
        "INTEGER_0_16383", HFILL }},
15904
14
    { &hf_h245_linesPerFrame,
15905
14
      { "linesPerFrame", "h245.linesPerFrame",
15906
14
        FT_UINT32, BASE_DEC, NULL, 0,
15907
14
        "INTEGER_0_16383", HFILL }},
15908
14
    { &hf_h245_framesPerSecond,
15909
14
      { "framesPerSecond", "h245.framesPerSecond",
15910
14
        FT_UINT32, BASE_DEC, NULL, 0,
15911
14
        "INTEGER_0_15", HFILL }},
15912
14
    { &hf_h245_luminanceSampleRate,
15913
14
      { "luminanceSampleRate", "h245.luminanceSampleRate",
15914
14
        FT_UINT32, BASE_DEC, NULL, 0,
15915
14
        "INTEGER_0_4294967295", HFILL }},
15916
14
    { &hf_h245_sqcifMPI_1_32,
15917
14
      { "sqcifMPI", "h245.sqcifMPI_1_32",
15918
14
        FT_UINT32, BASE_DEC, NULL, 0,
15919
14
        "INTEGER_1_32", HFILL }},
15920
14
    { &hf_h245_qcifMPI,
15921
14
      { "qcifMPI", "h245.qcifMPI",
15922
14
        FT_UINT32, BASE_DEC, NULL, 0,
15923
14
        "INTEGER_1_32", HFILL }},
15924
14
    { &hf_h245_cifMPI,
15925
14
      { "cifMPI", "h245.cifMPI",
15926
14
        FT_UINT32, BASE_DEC, NULL, 0,
15927
14
        "INTEGER_1_32", HFILL }},
15928
14
    { &hf_h245_cif4MPI_1_32,
15929
14
      { "cif4MPI", "h245.cif4MPI_1_32",
15930
14
        FT_UINT32, BASE_DEC, NULL, 0,
15931
14
        "INTEGER_1_32", HFILL }},
15932
14
    { &hf_h245_cif16MPI_1_32,
15933
14
      { "cif16MPI", "h245.cif16MPI_1_32",
15934
14
        FT_UINT32, BASE_DEC, NULL, 0,
15935
14
        "INTEGER_1_32", HFILL }},
15936
14
    { &hf_h245_maxBitRate,
15937
14
      { "maxBitRate", "h245.maxBitRate",
15938
14
        FT_UINT32, BASE_DEC, NULL, 0,
15939
14
        "INTEGER_1_192400", HFILL }},
15940
14
    { &hf_h245_unrestrictedVector,
15941
14
      { "unrestrictedVector", "h245.unrestrictedVector",
15942
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15943
14
        "BOOLEAN", HFILL }},
15944
14
    { &hf_h245_arithmeticCoding,
15945
14
      { "arithmeticCoding", "h245.arithmeticCoding",
15946
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15947
14
        "BOOLEAN", HFILL }},
15948
14
    { &hf_h245_advancedPrediction,
15949
14
      { "advancedPrediction", "h245.advancedPrediction",
15950
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15951
14
        "BOOLEAN", HFILL }},
15952
14
    { &hf_h245_pbFrames,
15953
14
      { "pbFrames", "h245.pbFrames",
15954
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15955
14
        "BOOLEAN", HFILL }},
15956
14
    { &hf_h245_hrd_B,
15957
14
      { "hrd-B", "h245.hrd_B",
15958
14
        FT_UINT32, BASE_DEC, NULL, 0,
15959
14
        "INTEGER_0_524287", HFILL }},
15960
14
    { &hf_h245_bppMaxKb,
15961
14
      { "bppMaxKb", "h245.bppMaxKb",
15962
14
        FT_UINT32, BASE_DEC, NULL, 0,
15963
14
        "INTEGER_0_65535", HFILL }},
15964
14
    { &hf_h245_slowSqcifMPI,
15965
14
      { "slowSqcifMPI", "h245.slowSqcifMPI",
15966
14
        FT_UINT32, BASE_DEC, NULL, 0,
15967
14
        "INTEGER_1_3600", HFILL }},
15968
14
    { &hf_h245_slowQcifMPI,
15969
14
      { "slowQcifMPI", "h245.slowQcifMPI",
15970
14
        FT_UINT32, BASE_DEC, NULL, 0,
15971
14
        "INTEGER_1_3600", HFILL }},
15972
14
    { &hf_h245_slowCifMPI,
15973
14
      { "slowCifMPI", "h245.slowCifMPI",
15974
14
        FT_UINT32, BASE_DEC, NULL, 0,
15975
14
        "INTEGER_1_3600", HFILL }},
15976
14
    { &hf_h245_slowCif4MPI,
15977
14
      { "slowCif4MPI", "h245.slowCif4MPI",
15978
14
        FT_UINT32, BASE_DEC, NULL, 0,
15979
14
        "INTEGER_1_3600", HFILL }},
15980
14
    { &hf_h245_slowCif16MPI,
15981
14
      { "slowCif16MPI", "h245.slowCif16MPI",
15982
14
        FT_UINT32, BASE_DEC, NULL, 0,
15983
14
        "INTEGER_1_3600", HFILL }},
15984
14
    { &hf_h245_errorCompensation,
15985
14
      { "errorCompensation", "h245.errorCompensation",
15986
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15987
14
        "BOOLEAN", HFILL }},
15988
14
    { &hf_h245_enhancementLayerInfo,
15989
14
      { "enhancementLayerInfo", "h245.enhancementLayerInfo_element",
15990
14
        FT_NONE, BASE_NONE, NULL, 0,
15991
14
        NULL, HFILL }},
15992
14
    { &hf_h245_h263Options,
15993
14
      { "h263Options", "h245.h263Options_element",
15994
14
        FT_NONE, BASE_NONE, NULL, 0,
15995
14
        NULL, HFILL }},
15996
14
    { &hf_h245_baseBitRateConstrained,
15997
14
      { "baseBitRateConstrained", "h245.baseBitRateConstrained",
15998
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
15999
14
        "BOOLEAN", HFILL }},
16000
14
    { &hf_h245_snrEnhancement,
16001
14
      { "snrEnhancement", "h245.snrEnhancement",
16002
14
        FT_UINT32, BASE_DEC, NULL, 0,
16003
14
        "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16004
14
    { &hf_h245_snrEnhancement_item,
16005
14
      { "EnhancementOptions", "h245.EnhancementOptions_element",
16006
14
        FT_NONE, BASE_NONE, NULL, 0,
16007
14
        NULL, HFILL }},
16008
14
    { &hf_h245_spatialEnhancement,
16009
14
      { "spatialEnhancement", "h245.spatialEnhancement",
16010
14
        FT_UINT32, BASE_DEC, NULL, 0,
16011
14
        "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16012
14
    { &hf_h245_spatialEnhancement_item,
16013
14
      { "EnhancementOptions", "h245.EnhancementOptions_element",
16014
14
        FT_NONE, BASE_NONE, NULL, 0,
16015
14
        NULL, HFILL }},
16016
14
    { &hf_h245_bPictureEnhancement,
16017
14
      { "bPictureEnhancement", "h245.bPictureEnhancement",
16018
14
        FT_UINT32, BASE_DEC, NULL, 0,
16019
14
        "SET_SIZE_1_14_OF_BEnhancementParameters", HFILL }},
16020
14
    { &hf_h245_bPictureEnhancement_item,
16021
14
      { "BEnhancementParameters", "h245.BEnhancementParameters_element",
16022
14
        FT_NONE, BASE_NONE, NULL, 0,
16023
14
        NULL, HFILL }},
16024
14
    { &hf_h245_enhancementOptions,
16025
14
      { "enhancementOptions", "h245.enhancementOptions_element",
16026
14
        FT_NONE, BASE_NONE, NULL, 0,
16027
14
        NULL, HFILL }},
16028
14
    { &hf_h245_numberOfBPictures,
16029
14
      { "numberOfBPictures", "h245.numberOfBPictures",
16030
14
        FT_UINT32, BASE_DEC, NULL, 0,
16031
14
        "INTEGER_1_64", HFILL }},
16032
14
    { &hf_h245_advancedIntraCodingMode,
16033
14
      { "advancedIntraCodingMode", "h245.advancedIntraCodingMode",
16034
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16035
14
        "BOOLEAN", HFILL }},
16036
14
    { &hf_h245_deblockingFilterMode,
16037
14
      { "deblockingFilterMode", "h245.deblockingFilterMode",
16038
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16039
14
        "BOOLEAN", HFILL }},
16040
14
    { &hf_h245_improvedPBFramesMode,
16041
14
      { "improvedPBFramesMode", "h245.improvedPBFramesMode",
16042
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16043
14
        "BOOLEAN", HFILL }},
16044
14
    { &hf_h245_unlimitedMotionVectors,
16045
14
      { "unlimitedMotionVectors", "h245.unlimitedMotionVectors",
16046
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16047
14
        "BOOLEAN", HFILL }},
16048
14
    { &hf_h245_fullPictureFreeze,
16049
14
      { "fullPictureFreeze", "h245.fullPictureFreeze",
16050
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16051
14
        "BOOLEAN", HFILL }},
16052
14
    { &hf_h245_partialPictureFreezeAndRelease,
16053
14
      { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease",
16054
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16055
14
        "BOOLEAN", HFILL }},
16056
14
    { &hf_h245_resizingPartPicFreezeAndRelease,
16057
14
      { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease",
16058
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16059
14
        "BOOLEAN", HFILL }},
16060
14
    { &hf_h245_fullPictureSnapshot,
16061
14
      { "fullPictureSnapshot", "h245.fullPictureSnapshot",
16062
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16063
14
        "BOOLEAN", HFILL }},
16064
14
    { &hf_h245_partialPictureSnapshot,
16065
14
      { "partialPictureSnapshot", "h245.partialPictureSnapshot",
16066
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16067
14
        "BOOLEAN", HFILL }},
16068
14
    { &hf_h245_videoSegmentTagging,
16069
14
      { "videoSegmentTagging", "h245.videoSegmentTagging",
16070
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16071
14
        "BOOLEAN", HFILL }},
16072
14
    { &hf_h245_progressiveRefinement,
16073
14
      { "progressiveRefinement", "h245.progressiveRefinement",
16074
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16075
14
        "BOOLEAN", HFILL }},
16076
14
    { &hf_h245_dynamicPictureResizingByFour,
16077
14
      { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour",
16078
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16079
14
        "BOOLEAN", HFILL }},
16080
14
    { &hf_h245_dynamicPictureResizingSixteenthPel,
16081
14
      { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel",
16082
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16083
14
        "BOOLEAN", HFILL }},
16084
14
    { &hf_h245_dynamicWarpingHalfPel,
16085
14
      { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel",
16086
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16087
14
        "BOOLEAN", HFILL }},
16088
14
    { &hf_h245_dynamicWarpingSixteenthPel,
16089
14
      { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel",
16090
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16091
14
        "BOOLEAN", HFILL }},
16092
14
    { &hf_h245_independentSegmentDecoding,
16093
14
      { "independentSegmentDecoding", "h245.independentSegmentDecoding",
16094
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16095
14
        "BOOLEAN", HFILL }},
16096
14
    { &hf_h245_slicesInOrder_NonRect,
16097
14
      { "slicesInOrder-NonRect", "h245.slicesInOrder_NonRect",
16098
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16099
14
        "BOOLEAN", HFILL }},
16100
14
    { &hf_h245_slicesInOrder_Rect,
16101
14
      { "slicesInOrder-Rect", "h245.slicesInOrder_Rect",
16102
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16103
14
        "BOOLEAN", HFILL }},
16104
14
    { &hf_h245_slicesNoOrder_NonRect,
16105
14
      { "slicesNoOrder-NonRect", "h245.slicesNoOrder_NonRect",
16106
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16107
14
        "BOOLEAN", HFILL }},
16108
14
    { &hf_h245_slicesNoOrder_Rect,
16109
14
      { "slicesNoOrder-Rect", "h245.slicesNoOrder_Rect",
16110
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16111
14
        "BOOLEAN", HFILL }},
16112
14
    { &hf_h245_alternateInterVLCMode,
16113
14
      { "alternateInterVLCMode", "h245.alternateInterVLCMode",
16114
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16115
14
        "BOOLEAN", HFILL }},
16116
14
    { &hf_h245_modifiedQuantizationMode,
16117
14
      { "modifiedQuantizationMode", "h245.modifiedQuantizationMode",
16118
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16119
14
        "BOOLEAN", HFILL }},
16120
14
    { &hf_h245_reducedResolutionUpdate,
16121
14
      { "reducedResolutionUpdate", "h245.reducedResolutionUpdate",
16122
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16123
14
        "BOOLEAN", HFILL }},
16124
14
    { &hf_h245_transparencyParameters,
16125
14
      { "transparencyParameters", "h245.transparencyParameters_element",
16126
14
        FT_NONE, BASE_NONE, NULL, 0,
16127
14
        NULL, HFILL }},
16128
14
    { &hf_h245_separateVideoBackChannel,
16129
14
      { "separateVideoBackChannel", "h245.separateVideoBackChannel",
16130
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16131
14
        "BOOLEAN", HFILL }},
16132
14
    { &hf_h245_refPictureSelection,
16133
14
      { "refPictureSelection", "h245.refPictureSelection_element",
16134
14
        FT_NONE, BASE_NONE, NULL, 0,
16135
14
        NULL, HFILL }},
16136
14
    { &hf_h245_customPictureClockFrequency,
16137
14
      { "customPictureClockFrequency", "h245.customPictureClockFrequency",
16138
14
        FT_UINT32, BASE_DEC, NULL, 0,
16139
14
        "SET_SIZE_1_16_OF_CustomPictureClockFrequency", HFILL }},
16140
14
    { &hf_h245_customPictureClockFrequency_item,
16141
14
      { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency_element",
16142
14
        FT_NONE, BASE_NONE, NULL, 0,
16143
14
        NULL, HFILL }},
16144
14
    { &hf_h245_customPictureFormat,
16145
14
      { "customPictureFormat", "h245.customPictureFormat",
16146
14
        FT_UINT32, BASE_DEC, NULL, 0,
16147
14
        "SET_SIZE_1_16_OF_CustomPictureFormat", HFILL }},
16148
14
    { &hf_h245_customPictureFormat_item,
16149
14
      { "CustomPictureFormat", "h245.CustomPictureFormat_element",
16150
14
        FT_NONE, BASE_NONE, NULL, 0,
16151
14
        NULL, HFILL }},
16152
14
    { &hf_h245_modeCombos,
16153
14
      { "modeCombos", "h245.modeCombos",
16154
14
        FT_UINT32, BASE_DEC, NULL, 0,
16155
14
        "SET_SIZE_1_16_OF_H263VideoModeCombos", HFILL }},
16156
14
    { &hf_h245_modeCombos_item,
16157
14
      { "H263VideoModeCombos", "h245.H263VideoModeCombos_element",
16158
14
        FT_NONE, BASE_NONE, NULL, 0,
16159
14
        NULL, HFILL }},
16160
14
    { &hf_h245_h263Version3Options,
16161
14
      { "h263Version3Options", "h245.h263Version3Options_element",
16162
14
        FT_NONE, BASE_NONE, NULL, 0,
16163
14
        NULL, HFILL }},
16164
14
    { &hf_h245_presentationOrder,
16165
14
      { "presentationOrder", "h245.presentationOrder",
16166
14
        FT_UINT32, BASE_DEC, NULL, 0,
16167
14
        "INTEGER_1_256", HFILL }},
16168
14
    { &hf_h245_offset_x,
16169
14
      { "offset-x", "h245.offset_x",
16170
14
        FT_INT32, BASE_DEC, NULL, 0,
16171
14
        "INTEGER_M262144_262143", HFILL }},
16172
14
    { &hf_h245_offset_y,
16173
14
      { "offset-y", "h245.offset_y",
16174
14
        FT_INT32, BASE_DEC, NULL, 0,
16175
14
        "INTEGER_M262144_262143", HFILL }},
16176
14
    { &hf_h245_scale_x,
16177
14
      { "scale-x", "h245.scale_x",
16178
14
        FT_UINT32, BASE_DEC, NULL, 0,
16179
14
        "INTEGER_1_255", HFILL }},
16180
14
    { &hf_h245_scale_y,
16181
14
      { "scale-y", "h245.scale_y",
16182
14
        FT_UINT32, BASE_DEC, NULL, 0,
16183
14
        "INTEGER_1_255", HFILL }},
16184
14
    { &hf_h245_additionalPictureMemory,
16185
14
      { "additionalPictureMemory", "h245.additionalPictureMemory_element",
16186
14
        FT_NONE, BASE_NONE, NULL, 0,
16187
14
        NULL, HFILL }},
16188
14
    { &hf_h245_sqcifAdditionalPictureMemory,
16189
14
      { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory",
16190
14
        FT_UINT32, BASE_DEC, NULL, 0,
16191
14
        "INTEGER_1_256", HFILL }},
16192
14
    { &hf_h245_qcifAdditionalPictureMemory,
16193
14
      { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory",
16194
14
        FT_UINT32, BASE_DEC, NULL, 0,
16195
14
        "INTEGER_1_256", HFILL }},
16196
14
    { &hf_h245_cifAdditionalPictureMemory,
16197
14
      { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory",
16198
14
        FT_UINT32, BASE_DEC, NULL, 0,
16199
14
        "INTEGER_1_256", HFILL }},
16200
14
    { &hf_h245_cif4AdditionalPictureMemory,
16201
14
      { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory",
16202
14
        FT_UINT32, BASE_DEC, NULL, 0,
16203
14
        "INTEGER_1_256", HFILL }},
16204
14
    { &hf_h245_cif16AdditionalPictureMemory,
16205
14
      { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory",
16206
14
        FT_UINT32, BASE_DEC, NULL, 0,
16207
14
        "INTEGER_1_256", HFILL }},
16208
14
    { &hf_h245_bigCpfAdditionalPictureMemory,
16209
14
      { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory",
16210
14
        FT_UINT32, BASE_DEC, NULL, 0,
16211
14
        "INTEGER_1_256", HFILL }},
16212
14
    { &hf_h245_videoMux,
16213
14
      { "videoMux", "h245.videoMux",
16214
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16215
14
        "BOOLEAN", HFILL }},
16216
14
    { &hf_h245_videoBackChannelSend,
16217
14
      { "videoBackChannelSend", "h245.videoBackChannelSend",
16218
14
        FT_UINT32, BASE_DEC, VALS(h245_T_videoBackChannelSend_vals), 0,
16219
14
        NULL, HFILL }},
16220
14
    { &hf_h245_none,
16221
14
      { "none", "h245.none_element",
16222
14
        FT_NONE, BASE_NONE, NULL, 0,
16223
14
        NULL, HFILL }},
16224
14
    { &hf_h245_ackMessageOnly,
16225
14
      { "ackMessageOnly", "h245.ackMessageOnly_element",
16226
14
        FT_NONE, BASE_NONE, NULL, 0,
16227
14
        NULL, HFILL }},
16228
14
    { &hf_h245_nackMessageOnly,
16229
14
      { "nackMessageOnly", "h245.nackMessageOnly_element",
16230
14
        FT_NONE, BASE_NONE, NULL, 0,
16231
14
        NULL, HFILL }},
16232
14
    { &hf_h245_ackOrNackMessageOnly,
16233
14
      { "ackOrNackMessageOnly", "h245.ackOrNackMessageOnly_element",
16234
14
        FT_NONE, BASE_NONE, NULL, 0,
16235
14
        NULL, HFILL }},
16236
14
    { &hf_h245_ackAndNackMessage,
16237
14
      { "ackAndNackMessage", "h245.ackAndNackMessage_element",
16238
14
        FT_NONE, BASE_NONE, NULL, 0,
16239
14
        NULL, HFILL }},
16240
14
    { &hf_h245_enhancedReferencePicSelect,
16241
14
      { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect_element",
16242
14
        FT_NONE, BASE_NONE, NULL, 0,
16243
14
        NULL, HFILL }},
16244
14
    { &hf_h245_subPictureRemovalParameters,
16245
14
      { "subPictureRemovalParameters", "h245.subPictureRemovalParameters_element",
16246
14
        FT_NONE, BASE_NONE, NULL, 0,
16247
14
        NULL, HFILL }},
16248
14
    { &hf_h245_mpuHorizMBs,
16249
14
      { "mpuHorizMBs", "h245.mpuHorizMBs",
16250
14
        FT_UINT32, BASE_DEC, NULL, 0,
16251
14
        "INTEGER_1_128", HFILL }},
16252
14
    { &hf_h245_mpuVertMBs,
16253
14
      { "mpuVertMBs", "h245.mpuVertMBs",
16254
14
        FT_UINT32, BASE_DEC, NULL, 0,
16255
14
        "INTEGER_1_72", HFILL }},
16256
14
    { &hf_h245_mpuTotalNumber,
16257
14
      { "mpuTotalNumber", "h245.mpuTotalNumber",
16258
14
        FT_UINT32, BASE_DEC, NULL, 0,
16259
14
        "INTEGER_1_65536", HFILL }},
16260
14
    { &hf_h245_clockConversionCode,
16261
14
      { "clockConversionCode", "h245.clockConversionCode",
16262
14
        FT_UINT32, BASE_DEC, NULL, 0,
16263
14
        "INTEGER_1000_1001", HFILL }},
16264
14
    { &hf_h245_clockDivisor,
16265
14
      { "clockDivisor", "h245.clockDivisor",
16266
14
        FT_UINT32, BASE_DEC, NULL, 0,
16267
14
        "INTEGER_1_127", HFILL }},
16268
14
    { &hf_h245_sqcifMPI,
16269
14
      { "sqcifMPI", "h245.sqcifMPI",
16270
14
        FT_UINT32, BASE_DEC, NULL, 0,
16271
14
        "INTEGER_1_2048", HFILL }},
16272
14
    { &hf_h245_qcifMPI_1_2048,
16273
14
      { "qcifMPI", "h245.qcifMPI_1_2048",
16274
14
        FT_UINT32, BASE_DEC, NULL, 0,
16275
14
        "INTEGER_1_2048", HFILL }},
16276
14
    { &hf_h245_cifMPI2_1_2048,
16277
14
      { "cifMPI", "h245.cifMPI2_1_2048",
16278
14
        FT_UINT32, BASE_DEC, NULL, 0,
16279
14
        "INTEGER_1_2048", HFILL }},
16280
14
    { &hf_h245_cif4MPI,
16281
14
      { "cif4MPI", "h245.cif4MPI",
16282
14
        FT_UINT32, BASE_DEC, NULL, 0,
16283
14
        "INTEGER_1_2048", HFILL }},
16284
14
    { &hf_h245_cif16MPI,
16285
14
      { "cif16MPI", "h245.cif16MPI",
16286
14
        FT_UINT32, BASE_DEC, NULL, 0,
16287
14
        "INTEGER_1_2048", HFILL }},
16288
14
    { &hf_h245_maxCustomPictureWidth,
16289
14
      { "maxCustomPictureWidth", "h245.maxCustomPictureWidth",
16290
14
        FT_UINT32, BASE_DEC, NULL, 0,
16291
14
        "INTEGER_1_2048", HFILL }},
16292
14
    { &hf_h245_maxCustomPictureHeight,
16293
14
      { "maxCustomPictureHeight", "h245.maxCustomPictureHeight",
16294
14
        FT_UINT32, BASE_DEC, NULL, 0,
16295
14
        "INTEGER_1_2048", HFILL }},
16296
14
    { &hf_h245_minCustomPictureWidth,
16297
14
      { "minCustomPictureWidth", "h245.minCustomPictureWidth",
16298
14
        FT_UINT32, BASE_DEC, NULL, 0,
16299
14
        "INTEGER_1_2048", HFILL }},
16300
14
    { &hf_h245_minCustomPictureHeight,
16301
14
      { "minCustomPictureHeight", "h245.minCustomPictureHeight",
16302
14
        FT_UINT32, BASE_DEC, NULL, 0,
16303
14
        "INTEGER_1_2048", HFILL }},
16304
14
    { &hf_h245_mPI,
16305
14
      { "mPI", "h245.mPI_element",
16306
14
        FT_NONE, BASE_NONE, NULL, 0,
16307
14
        NULL, HFILL }},
16308
14
    { &hf_h245_standardMPI,
16309
14
      { "standardMPI", "h245.standardMPI",
16310
14
        FT_UINT32, BASE_DEC, NULL, 0,
16311
14
        "INTEGER_1_31", HFILL }},
16312
14
    { &hf_h245_customPCF,
16313
14
      { "customPCF", "h245.customPCF",
16314
14
        FT_UINT32, BASE_DEC, NULL, 0,
16315
14
        NULL, HFILL }},
16316
14
    { &hf_h245_customPCF_item,
16317
14
      { "customPCF item", "h245.customPCF_item_element",
16318
14
        FT_NONE, BASE_NONE, NULL, 0,
16319
14
        NULL, HFILL }},
16320
14
    { &hf_h245_customMPI,
16321
14
      { "customMPI", "h245.customMPI",
16322
14
        FT_UINT32, BASE_DEC, NULL, 0,
16323
14
        "INTEGER_1_2048", HFILL }},
16324
14
    { &hf_h245_pixelAspectInformation,
16325
14
      { "pixelAspectInformation", "h245.pixelAspectInformation",
16326
14
        FT_UINT32, BASE_DEC, VALS(h245_T_pixelAspectInformation_vals), 0,
16327
14
        NULL, HFILL }},
16328
14
    { &hf_h245_anyPixelAspectRatio,
16329
14
      { "anyPixelAspectRatio", "h245.anyPixelAspectRatio",
16330
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16331
14
        "BOOLEAN", HFILL }},
16332
14
    { &hf_h245_pixelAspectCode,
16333
14
      { "pixelAspectCode", "h245.pixelAspectCode",
16334
14
        FT_UINT32, BASE_DEC, NULL, 0,
16335
14
        NULL, HFILL }},
16336
14
    { &hf_h245_pixelAspectCode_item,
16337
14
      { "pixelAspectCode item", "h245.pixelAspectCode_item",
16338
14
        FT_UINT32, BASE_DEC, NULL, 0,
16339
14
        "INTEGER_1_14", HFILL }},
16340
14
    { &hf_h245_extendedPAR,
16341
14
      { "extendedPAR", "h245.extendedPAR",
16342
14
        FT_UINT32, BASE_DEC, NULL, 0,
16343
14
        NULL, HFILL }},
16344
14
    { &hf_h245_extendedPAR_item,
16345
14
      { "extendedPAR item", "h245.extendedPAR_item_element",
16346
14
        FT_NONE, BASE_NONE, NULL, 0,
16347
14
        NULL, HFILL }},
16348
14
    { &hf_h245_width,
16349
14
      { "width", "h245.width",
16350
14
        FT_UINT32, BASE_DEC, NULL, 0,
16351
14
        "INTEGER_1_255", HFILL }},
16352
14
    { &hf_h245_height,
16353
14
      { "height", "h245.height",
16354
14
        FT_UINT32, BASE_DEC, NULL, 0,
16355
14
        "INTEGER_1_255", HFILL }},
16356
14
    { &hf_h245_h263VideoUncoupledModes,
16357
14
      { "h263VideoUncoupledModes", "h245.h263VideoUncoupledModes_element",
16358
14
        FT_NONE, BASE_NONE, NULL, 0,
16359
14
        "H263ModeComboFlags", HFILL }},
16360
14
    { &hf_h245_h263VideoCoupledModes,
16361
14
      { "h263VideoCoupledModes", "h245.h263VideoCoupledModes",
16362
14
        FT_UINT32, BASE_DEC, NULL, 0,
16363
14
        "SET_SIZE_1_16_OF_H263ModeComboFlags", HFILL }},
16364
14
    { &hf_h245_h263VideoCoupledModes_item,
16365
14
      { "H263ModeComboFlags", "h245.H263ModeComboFlags_element",
16366
14
        FT_NONE, BASE_NONE, NULL, 0,
16367
14
        NULL, HFILL }},
16368
14
    { &hf_h245_referencePicSelect,
16369
14
      { "referencePicSelect", "h245.referencePicSelect",
16370
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16371
14
        "BOOLEAN", HFILL }},
16372
14
    { &hf_h245_enhancedReferencePicSelectBool,
16373
14
      { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelectBool",
16374
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16375
14
        "BOOLEAN", HFILL }},
16376
14
    { &hf_h245_dataPartitionedSlices,
16377
14
      { "dataPartitionedSlices", "h245.dataPartitionedSlices",
16378
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16379
14
        "BOOLEAN", HFILL }},
16380
14
    { &hf_h245_fixedPointIDCT0,
16381
14
      { "fixedPointIDCT0", "h245.fixedPointIDCT0",
16382
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16383
14
        "BOOLEAN", HFILL }},
16384
14
    { &hf_h245_interlacedFields,
16385
14
      { "interlacedFields", "h245.interlacedFields",
16386
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16387
14
        "BOOLEAN", HFILL }},
16388
14
    { &hf_h245_currentPictureHeaderRepetition,
16389
14
      { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition",
16390
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16391
14
        "BOOLEAN", HFILL }},
16392
14
    { &hf_h245_previousPictureHeaderRepetition,
16393
14
      { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition",
16394
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16395
14
        "BOOLEAN", HFILL }},
16396
14
    { &hf_h245_nextPictureHeaderRepetition,
16397
14
      { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition",
16398
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16399
14
        "BOOLEAN", HFILL }},
16400
14
    { &hf_h245_pictureNumberBoolean,
16401
14
      { "pictureNumber", "h245.pictureNumberBoolean",
16402
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16403
14
        "BOOLEAN", HFILL }},
16404
14
    { &hf_h245_spareReferencePictures,
16405
14
      { "spareReferencePictures", "h245.spareReferencePictures",
16406
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16407
14
        "BOOLEAN", HFILL }},
16408
14
    { &hf_h245_constrainedBitstream,
16409
14
      { "constrainedBitstream", "h245.constrainedBitstream",
16410
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16411
14
        "BOOLEAN", HFILL }},
16412
14
    { &hf_h245_pictureRate,
16413
14
      { "pictureRate", "h245.pictureRate",
16414
14
        FT_UINT32, BASE_DEC, NULL, 0,
16415
14
        "INTEGER_0_15", HFILL }},
16416
14
    { &hf_h245_g711Alaw64k,
16417
14
      { "g711Alaw64k", "h245.g711Alaw64k",
16418
14
        FT_UINT32, BASE_DEC, NULL, 0,
16419
14
        "INTEGER_1_256", HFILL }},
16420
14
    { &hf_h245_g711Alaw56k,
16421
14
      { "g711Alaw56k", "h245.g711Alaw56k",
16422
14
        FT_UINT32, BASE_DEC, NULL, 0,
16423
14
        "INTEGER_1_256", HFILL }},
16424
14
    { &hf_h245_g711Ulaw64k,
16425
14
      { "g711Ulaw64k", "h245.g711Ulaw64k",
16426
14
        FT_UINT32, BASE_DEC, NULL, 0,
16427
14
        "INTEGER_1_256", HFILL }},
16428
14
    { &hf_h245_g711Ulaw56k,
16429
14
      { "g711Ulaw56k", "h245.g711Ulaw56k",
16430
14
        FT_UINT32, BASE_DEC, NULL, 0,
16431
14
        "INTEGER_1_256", HFILL }},
16432
14
    { &hf_h245_g722_64k,
16433
14
      { "g722-64k", "h245.g722_64k",
16434
14
        FT_UINT32, BASE_DEC, NULL, 0,
16435
14
        "INTEGER_1_256", HFILL }},
16436
14
    { &hf_h245_g722_56k,
16437
14
      { "g722-56k", "h245.g722_56k",
16438
14
        FT_UINT32, BASE_DEC, NULL, 0,
16439
14
        "INTEGER_1_256", HFILL }},
16440
14
    { &hf_h245_g722_48k,
16441
14
      { "g722-48k", "h245.g722_48k",
16442
14
        FT_UINT32, BASE_DEC, NULL, 0,
16443
14
        "INTEGER_1_256", HFILL }},
16444
14
    { &hf_h245_g7231,
16445
14
      { "g7231", "h245.g7231_element",
16446
14
        FT_NONE, BASE_NONE, NULL, 0,
16447
14
        NULL, HFILL }},
16448
14
    { &hf_h245_maxAl_sduAudioFrames,
16449
14
      { "maxAl-sduAudioFrames", "h245.maxAl_sduAudioFrames",
16450
14
        FT_UINT32, BASE_DEC, NULL, 0,
16451
14
        "INTEGER_1_256", HFILL }},
16452
14
    { &hf_h245_silenceSuppression,
16453
14
      { "silenceSuppression", "h245.silenceSuppression",
16454
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16455
14
        "BOOLEAN", HFILL }},
16456
14
    { &hf_h245_g728,
16457
14
      { "g728", "h245.g728",
16458
14
        FT_UINT32, BASE_DEC, NULL, 0,
16459
14
        "INTEGER_1_256", HFILL }},
16460
14
    { &hf_h245_g729,
16461
14
      { "g729", "h245.g729",
16462
14
        FT_UINT32, BASE_DEC, NULL, 0,
16463
14
        "INTEGER_1_256", HFILL }},
16464
14
    { &hf_h245_g729AnnexA,
16465
14
      { "g729AnnexA", "h245.g729AnnexA",
16466
14
        FT_UINT32, BASE_DEC, NULL, 0,
16467
14
        "INTEGER_1_256", HFILL }},
16468
14
    { &hf_h245_is11172AudioCapability,
16469
14
      { "is11172AudioCapability", "h245.is11172AudioCapability_element",
16470
14
        FT_NONE, BASE_NONE, NULL, 0,
16471
14
        NULL, HFILL }},
16472
14
    { &hf_h245_is13818AudioCapability,
16473
14
      { "is13818AudioCapability", "h245.is13818AudioCapability_element",
16474
14
        FT_NONE, BASE_NONE, NULL, 0,
16475
14
        NULL, HFILL }},
16476
14
    { &hf_h245_g729wAnnexB,
16477
14
      { "g729wAnnexB", "h245.g729wAnnexB",
16478
14
        FT_UINT32, BASE_DEC, NULL, 0,
16479
14
        "INTEGER_1_256", HFILL }},
16480
14
    { &hf_h245_g729AnnexAwAnnexB,
16481
14
      { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB",
16482
14
        FT_UINT32, BASE_DEC, NULL, 0,
16483
14
        "INTEGER_1_256", HFILL }},
16484
14
    { &hf_h245_g7231AnnexCCapability,
16485
14
      { "g7231AnnexCCapability", "h245.g7231AnnexCCapability_element",
16486
14
        FT_NONE, BASE_NONE, NULL, 0,
16487
14
        NULL, HFILL }},
16488
14
    { &hf_h245_gsmFullRate,
16489
14
      { "gsmFullRate", "h245.gsmFullRate_element",
16490
14
        FT_NONE, BASE_NONE, NULL, 0,
16491
14
        "GSMAudioCapability", HFILL }},
16492
14
    { &hf_h245_gsmHalfRate,
16493
14
      { "gsmHalfRate", "h245.gsmHalfRate_element",
16494
14
        FT_NONE, BASE_NONE, NULL, 0,
16495
14
        "GSMAudioCapability", HFILL }},
16496
14
    { &hf_h245_gsmEnhancedFullRate,
16497
14
      { "gsmEnhancedFullRate", "h245.gsmEnhancedFullRate_element",
16498
14
        FT_NONE, BASE_NONE, NULL, 0,
16499
14
        "GSMAudioCapability", HFILL }},
16500
14
    { &hf_h245_genericAudioCapability,
16501
14
      { "genericAudioCapability", "h245.genericAudioCapability_element",
16502
14
        FT_NONE, BASE_NONE, NULL, 0,
16503
14
        "GenericCapability", HFILL }},
16504
14
    { &hf_h245_g729Extensions,
16505
14
      { "g729Extensions", "h245.g729Extensions_element",
16506
14
        FT_NONE, BASE_NONE, NULL, 0,
16507
14
        NULL, HFILL }},
16508
14
    { &hf_h245_vbd,
16509
14
      { "vbd", "h245.vbd_element",
16510
14
        FT_NONE, BASE_NONE, NULL, 0,
16511
14
        "VBDCapability", HFILL }},
16512
14
    { &hf_h245_audioTelephonyEvent,
16513
14
      { "audioTelephonyEvent", "h245.audioTelephonyEvent_element",
16514
14
        FT_NONE, BASE_NONE, NULL, 0,
16515
14
        "NoPTAudioTelephonyEventCapability", HFILL }},
16516
14
    { &hf_h245_audioTone,
16517
14
      { "audioTone", "h245.audioTone_element",
16518
14
        FT_NONE, BASE_NONE, NULL, 0,
16519
14
        "NoPTAudioToneCapability", HFILL }},
16520
14
    { &hf_h245_audioUnit,
16521
14
      { "audioUnit", "h245.audioUnit",
16522
14
        FT_UINT32, BASE_DEC, NULL, 0,
16523
14
        "INTEGER_1_256", HFILL }},
16524
14
    { &hf_h245_annexA,
16525
14
      { "annexA", "h245.annexA",
16526
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16527
14
        "BOOLEAN", HFILL }},
16528
14
    { &hf_h245_annexB,
16529
14
      { "annexB", "h245.annexB",
16530
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16531
14
        "BOOLEAN", HFILL }},
16532
14
    { &hf_h245_annexD,
16533
14
      { "annexD", "h245.annexD",
16534
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16535
14
        "BOOLEAN", HFILL }},
16536
14
    { &hf_h245_annexE,
16537
14
      { "annexE", "h245.annexE",
16538
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16539
14
        "BOOLEAN", HFILL }},
16540
14
    { &hf_h245_annexF,
16541
14
      { "annexF", "h245.annexF",
16542
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16543
14
        "BOOLEAN", HFILL }},
16544
14
    { &hf_h245_annexG,
16545
14
      { "annexG", "h245.annexG",
16546
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16547
14
        "BOOLEAN", HFILL }},
16548
14
    { &hf_h245_annexH,
16549
14
      { "annexH", "h245.annexH",
16550
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16551
14
        "BOOLEAN", HFILL }},
16552
14
    { &hf_h245_highRateMode0,
16553
14
      { "highRateMode0", "h245.highRateMode0",
16554
14
        FT_UINT32, BASE_DEC, NULL, 0,
16555
14
        "INTEGER_27_78", HFILL }},
16556
14
    { &hf_h245_highRateMode1,
16557
14
      { "highRateMode1", "h245.highRateMode1",
16558
14
        FT_UINT32, BASE_DEC, NULL, 0,
16559
14
        "INTEGER_27_78", HFILL }},
16560
14
    { &hf_h245_lowRateMode0,
16561
14
      { "lowRateMode0", "h245.lowRateMode0",
16562
14
        FT_UINT32, BASE_DEC, NULL, 0,
16563
14
        "INTEGER_23_66", HFILL }},
16564
14
    { &hf_h245_lowRateMode1,
16565
14
      { "lowRateMode1", "h245.lowRateMode1",
16566
14
        FT_UINT32, BASE_DEC, NULL, 0,
16567
14
        "INTEGER_23_66", HFILL }},
16568
14
    { &hf_h245_sidMode0,
16569
14
      { "sidMode0", "h245.sidMode0",
16570
14
        FT_UINT32, BASE_DEC, NULL, 0,
16571
14
        "INTEGER_6_17", HFILL }},
16572
14
    { &hf_h245_sidMode1,
16573
14
      { "sidMode1", "h245.sidMode1",
16574
14
        FT_UINT32, BASE_DEC, NULL, 0,
16575
14
        "INTEGER_6_17", HFILL }},
16576
14
    { &hf_h245_g723AnnexCAudioMode,
16577
14
      { "g723AnnexCAudioMode", "h245.g723AnnexCAudioMode_element",
16578
14
        FT_NONE, BASE_NONE, NULL, 0,
16579
14
        NULL, HFILL }},
16580
14
    { &hf_h245_audioLayer1,
16581
14
      { "audioLayer1", "h245.audioLayer1",
16582
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16583
14
        "BOOLEAN", HFILL }},
16584
14
    { &hf_h245_audioLayer2,
16585
14
      { "audioLayer2", "h245.audioLayer2",
16586
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16587
14
        "BOOLEAN", HFILL }},
16588
14
    { &hf_h245_audioLayer3,
16589
14
      { "audioLayer3", "h245.audioLayer3",
16590
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16591
14
        "BOOLEAN", HFILL }},
16592
14
    { &hf_h245_audioSampling32k,
16593
14
      { "audioSampling32k", "h245.audioSampling32k",
16594
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16595
14
        "BOOLEAN", HFILL }},
16596
14
    { &hf_h245_audioSampling44k1,
16597
14
      { "audioSampling44k1", "h245.audioSampling44k1",
16598
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16599
14
        "BOOLEAN", HFILL }},
16600
14
    { &hf_h245_audioSampling48k,
16601
14
      { "audioSampling48k", "h245.audioSampling48k",
16602
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16603
14
        "BOOLEAN", HFILL }},
16604
14
    { &hf_h245_singleChannel,
16605
14
      { "singleChannel", "h245.singleChannel",
16606
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16607
14
        "BOOLEAN", HFILL }},
16608
14
    { &hf_h245_twoChannels,
16609
14
      { "twoChannels", "h245.twoChannels",
16610
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16611
14
        "BOOLEAN", HFILL }},
16612
14
    { &hf_h245_bitRate_1_448,
16613
14
      { "bitRate", "h245.bitRate_1_448",
16614
14
        FT_UINT32, BASE_DEC, NULL, 0,
16615
14
        "INTEGER_1_448", HFILL }},
16616
14
    { &hf_h245_audioSampling16k,
16617
14
      { "audioSampling16k", "h245.audioSampling16k",
16618
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16619
14
        "BOOLEAN", HFILL }},
16620
14
    { &hf_h245_audioSampling22k05,
16621
14
      { "audioSampling22k05", "h245.audioSampling22k05",
16622
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16623
14
        "BOOLEAN", HFILL }},
16624
14
    { &hf_h245_audioSampling24k,
16625
14
      { "audioSampling24k", "h245.audioSampling24k",
16626
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16627
14
        "BOOLEAN", HFILL }},
16628
14
    { &hf_h245_threeChannels2_1,
16629
14
      { "threeChannels2-1", "h245.threeChannels2_1",
16630
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16631
14
        "BOOLEAN", HFILL }},
16632
14
    { &hf_h245_threeChannels3_0,
16633
14
      { "threeChannels3-0", "h245.threeChannels3_0",
16634
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16635
14
        "BOOLEAN", HFILL }},
16636
14
    { &hf_h245_fourChannels2_0_2_0,
16637
14
      { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
16638
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16639
14
        "BOOLEAN", HFILL }},
16640
14
    { &hf_h245_fourChannels2_2,
16641
14
      { "fourChannels2-2", "h245.fourChannels2_2",
16642
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16643
14
        "BOOLEAN", HFILL }},
16644
14
    { &hf_h245_fourChannels3_1,
16645
14
      { "fourChannels3-1", "h245.fourChannels3_1",
16646
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16647
14
        "BOOLEAN", HFILL }},
16648
14
    { &hf_h245_fiveChannels3_0_2_0,
16649
14
      { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
16650
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16651
14
        "BOOLEAN", HFILL }},
16652
14
    { &hf_h245_fiveChannels3_2,
16653
14
      { "fiveChannels3-2", "h245.fiveChannels3_2",
16654
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16655
14
        "BOOLEAN", HFILL }},
16656
14
    { &hf_h245_lowFrequencyEnhancement,
16657
14
      { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement",
16658
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16659
14
        "BOOLEAN", HFILL }},
16660
14
    { &hf_h245_multilingual,
16661
14
      { "multilingual", "h245.multilingual",
16662
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16663
14
        "BOOLEAN", HFILL }},
16664
14
    { &hf_h245_bitRate2_1_1130,
16665
14
      { "bitRate", "h245.bitRate2_1_1130",
16666
14
        FT_UINT32, BASE_DEC, NULL, 0,
16667
14
        "INTEGER_1_1130", HFILL }},
16668
14
    { &hf_h245_audioUnitSize,
16669
14
      { "audioUnitSize", "h245.audioUnitSize",
16670
14
        FT_UINT32, BASE_DEC, NULL, 0,
16671
14
        "INTEGER_1_256", HFILL }},
16672
14
    { &hf_h245_comfortNoise,
16673
14
      { "comfortNoise", "h245.comfortNoise",
16674
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16675
14
        "BOOLEAN", HFILL }},
16676
14
    { &hf_h245_scrambled,
16677
14
      { "scrambled", "h245.scrambled",
16678
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16679
14
        "BOOLEAN", HFILL }},
16680
14
    { &hf_h245_vbd_cap_type,
16681
14
      { "type", "h245.vbd_cap_type",
16682
14
        FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
16683
14
        "AudioCapability", HFILL }},
16684
14
    { &hf_h245_t120,
16685
14
      { "t120", "h245.t120",
16686
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16687
14
        "DataProtocolCapability", HFILL }},
16688
14
    { &hf_h245_dsm_cc,
16689
14
      { "dsm-cc", "h245.dsm_cc",
16690
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16691
14
        "DataProtocolCapability", HFILL }},
16692
14
    { &hf_h245_userData,
16693
14
      { "userData", "h245.userData",
16694
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16695
14
        "DataProtocolCapability", HFILL }},
16696
14
    { &hf_h245_t84,
16697
14
      { "t84", "h245.t84_element",
16698
14
        FT_NONE, BASE_NONE, NULL, 0,
16699
14
        NULL, HFILL }},
16700
14
    { &hf_h245_t84Protocol,
16701
14
      { "t84Protocol", "h245.t84Protocol",
16702
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16703
14
        "DataProtocolCapability", HFILL }},
16704
14
    { &hf_h245_t84Profile,
16705
14
      { "t84Profile", "h245.t84Profile",
16706
14
        FT_UINT32, BASE_DEC, VALS(h245_T84Profile_vals), 0,
16707
14
        NULL, HFILL }},
16708
14
    { &hf_h245_t434,
16709
14
      { "t434", "h245.t434",
16710
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16711
14
        "DataProtocolCapability", HFILL }},
16712
14
    { &hf_h245_h224,
16713
14
      { "h224", "h245.h224",
16714
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16715
14
        "DataProtocolCapability", HFILL }},
16716
14
    { &hf_h245_nlpidProtocol,
16717
14
      { "nlpidProtocol", "h245.nlpidProtocol",
16718
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16719
14
        "DataProtocolCapability", HFILL }},
16720
14
    { &hf_h245_nlpidData,
16721
14
      { "nlpidData", "h245.nlpidData",
16722
14
        FT_BYTES, BASE_NONE, NULL, 0,
16723
14
        "OCTET_STRING", HFILL }},
16724
14
    { &hf_h245_nlpid,
16725
14
      { "nlpid", "h245.nlpid_element",
16726
14
        FT_NONE, BASE_NONE, NULL, 0,
16727
14
        NULL, HFILL }},
16728
14
    { &hf_h245_dsvdControl,
16729
14
      { "dsvdControl", "h245.dsvdControl_element",
16730
14
        FT_NONE, BASE_NONE, NULL, 0,
16731
14
        NULL, HFILL }},
16732
14
    { &hf_h245_h222DataPartitioning,
16733
14
      { "h222DataPartitioning", "h245.h222DataPartitioning",
16734
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16735
14
        "DataProtocolCapability", HFILL }},
16736
14
    { &hf_h245_t30fax,
16737
14
      { "t30fax", "h245.t30fax",
16738
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16739
14
        "DataProtocolCapability", HFILL }},
16740
14
    { &hf_h245_t140,
16741
14
      { "t140", "h245.t140",
16742
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16743
14
        "DataProtocolCapability", HFILL }},
16744
14
    { &hf_h245_t38fax,
16745
14
      { "t38fax", "h245.t38fax_element",
16746
14
        FT_NONE, BASE_NONE, NULL, 0,
16747
14
        NULL, HFILL }},
16748
14
    { &hf_h245_t38FaxProtocol,
16749
14
      { "t38FaxProtocol", "h245.t38FaxProtocol",
16750
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16751
14
        "DataProtocolCapability", HFILL }},
16752
14
    { &hf_h245_t38FaxProfile,
16753
14
      { "t38FaxProfile", "h245.t38FaxProfile_element",
16754
14
        FT_NONE, BASE_NONE, NULL, 0,
16755
14
        NULL, HFILL }},
16756
14
    { &hf_h245_genericDataCapability,
16757
14
      { "genericDataCapability", "h245.genericDataCapability_element",
16758
14
        FT_NONE, BASE_NONE, NULL, 0,
16759
14
        "GenericCapability", HFILL }},
16760
14
    { &hf_h245_application,
16761
14
      { "application", "h245.application",
16762
14
        FT_UINT32, BASE_DEC, VALS(h245_Application_vals), 0,
16763
14
        NULL, HFILL }},
16764
14
    { &hf_h245_maxBitRate2_0_4294967295,
16765
14
      { "maxBitRate", "h245.maxBitRate2_0_4294967295",
16766
14
        FT_UINT32, BASE_DEC, NULL, 0,
16767
14
        "INTEGER_0_4294967295", HFILL }},
16768
14
    { &hf_h245_v14buffered,
16769
14
      { "v14buffered", "h245.v14buffered_element",
16770
14
        FT_NONE, BASE_NONE, NULL, 0,
16771
14
        NULL, HFILL }},
16772
14
    { &hf_h245_v42lapm,
16773
14
      { "v42lapm", "h245.v42lapm_element",
16774
14
        FT_NONE, BASE_NONE, NULL, 0,
16775
14
        NULL, HFILL }},
16776
14
    { &hf_h245_hdlcFrameTunnelling,
16777
14
      { "hdlcFrameTunnelling", "h245.hdlcFrameTunnelling_element",
16778
14
        FT_NONE, BASE_NONE, NULL, 0,
16779
14
        NULL, HFILL }},
16780
14
    { &hf_h245_h310SeparateVCStack,
16781
14
      { "h310SeparateVCStack", "h245.h310SeparateVCStack_element",
16782
14
        FT_NONE, BASE_NONE, NULL, 0,
16783
14
        NULL, HFILL }},
16784
14
    { &hf_h245_h310SingleVCStack,
16785
14
      { "h310SingleVCStack", "h245.h310SingleVCStack_element",
16786
14
        FT_NONE, BASE_NONE, NULL, 0,
16787
14
        NULL, HFILL }},
16788
14
    { &hf_h245_transparent,
16789
14
      { "transparent", "h245.transparent_element",
16790
14
        FT_NONE, BASE_NONE, NULL, 0,
16791
14
        NULL, HFILL }},
16792
14
    { &hf_h245_segmentationAndReassembly,
16793
14
      { "segmentationAndReassembly", "h245.segmentationAndReassembly_element",
16794
14
        FT_NONE, BASE_NONE, NULL, 0,
16795
14
        NULL, HFILL }},
16796
14
    { &hf_h245_hdlcFrameTunnelingwSAR,
16797
14
      { "hdlcFrameTunnelingwSAR", "h245.hdlcFrameTunnelingwSAR_element",
16798
14
        FT_NONE, BASE_NONE, NULL, 0,
16799
14
        NULL, HFILL }},
16800
14
    { &hf_h245_v120,
16801
14
      { "v120", "h245.v120_element",
16802
14
        FT_NONE, BASE_NONE, NULL, 0,
16803
14
        NULL, HFILL }},
16804
14
    { &hf_h245_separateLANStack,
16805
14
      { "separateLANStack", "h245.separateLANStack_element",
16806
14
        FT_NONE, BASE_NONE, NULL, 0,
16807
14
        NULL, HFILL }},
16808
14
    { &hf_h245_v76wCompression,
16809
14
      { "v76wCompression", "h245.v76wCompression",
16810
14
        FT_UINT32, BASE_DEC, VALS(h245_T_v76wCompression_vals), 0,
16811
14
        NULL, HFILL }},
16812
14
    { &hf_h245_transmitCompression,
16813
14
      { "transmitCompression", "h245.transmitCompression",
16814
14
        FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16815
14
        "CompressionType", HFILL }},
16816
14
    { &hf_h245_receiveCompression,
16817
14
      { "receiveCompression", "h245.receiveCompression",
16818
14
        FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16819
14
        "CompressionType", HFILL }},
16820
14
    { &hf_h245_transmitAndReceiveCompression,
16821
14
      { "transmitAndReceiveCompression", "h245.transmitAndReceiveCompression",
16822
14
        FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16823
14
        "CompressionType", HFILL }},
16824
14
    { &hf_h245_tcp,
16825
14
      { "tcp", "h245.tcp_element",
16826
14
        FT_NONE, BASE_NONE, NULL, 0,
16827
14
        NULL, HFILL }},
16828
14
    { &hf_h245_udp,
16829
14
      { "udp", "h245.udp_element",
16830
14
        FT_NONE, BASE_NONE, NULL, 0,
16831
14
        NULL, HFILL }},
16832
14
    { &hf_h245_v42bis,
16833
14
      { "v42bis", "h245.v42bis_element",
16834
14
        FT_NONE, BASE_NONE, NULL, 0,
16835
14
        NULL, HFILL }},
16836
14
    { &hf_h245_numberOfCodewords,
16837
14
      { "numberOfCodewords", "h245.numberOfCodewords",
16838
14
        FT_UINT32, BASE_DEC, NULL, 0,
16839
14
        "INTEGER_1_65536", HFILL }},
16840
14
    { &hf_h245_maximumStringLength,
16841
14
      { "maximumStringLength", "h245.maximumStringLength",
16842
14
        FT_UINT32, BASE_DEC, NULL, 0,
16843
14
        "INTEGER_1_256", HFILL }},
16844
14
    { &hf_h245_t84Unrestricted,
16845
14
      { "t84Unrestricted", "h245.t84Unrestricted_element",
16846
14
        FT_NONE, BASE_NONE, NULL, 0,
16847
14
        NULL, HFILL }},
16848
14
    { &hf_h245_t84Restricted,
16849
14
      { "t84Restricted", "h245.t84Restricted_element",
16850
14
        FT_NONE, BASE_NONE, NULL, 0,
16851
14
        NULL, HFILL }},
16852
14
    { &hf_h245_qcif_bool,
16853
14
      { "qcif", "h245.qcif_bool",
16854
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16855
14
        "BOOLEAN", HFILL }},
16856
14
    { &hf_h245_cif_bool,
16857
14
      { "cif", "h245.cif_bool",
16858
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16859
14
        "BOOLEAN", HFILL }},
16860
14
    { &hf_h245_ccir601Seq,
16861
14
      { "ccir601Seq", "h245.ccir601Seq",
16862
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16863
14
        "BOOLEAN", HFILL }},
16864
14
    { &hf_h245_ccir601Prog,
16865
14
      { "ccir601Prog", "h245.ccir601Prog",
16866
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16867
14
        "BOOLEAN", HFILL }},
16868
14
    { &hf_h245_hdtvSeq,
16869
14
      { "hdtvSeq", "h245.hdtvSeq",
16870
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16871
14
        "BOOLEAN", HFILL }},
16872
14
    { &hf_h245_hdtvProg,
16873
14
      { "hdtvProg", "h245.hdtvProg",
16874
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16875
14
        "BOOLEAN", HFILL }},
16876
14
    { &hf_h245_g3FacsMH200x100,
16877
14
      { "g3FacsMH200x100", "h245.g3FacsMH200x100",
16878
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16879
14
        "BOOLEAN", HFILL }},
16880
14
    { &hf_h245_g3FacsMH200x200,
16881
14
      { "g3FacsMH200x200", "h245.g3FacsMH200x200",
16882
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16883
14
        "BOOLEAN", HFILL }},
16884
14
    { &hf_h245_g4FacsMMR200x100,
16885
14
      { "g4FacsMMR200x100", "h245.g4FacsMMR200x100",
16886
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16887
14
        "BOOLEAN", HFILL }},
16888
14
    { &hf_h245_g4FacsMMR200x200,
16889
14
      { "g4FacsMMR200x200", "h245.g4FacsMMR200x200",
16890
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16891
14
        "BOOLEAN", HFILL }},
16892
14
    { &hf_h245_jbig200x200Seq,
16893
14
      { "jbig200x200Seq", "h245.jbig200x200Seq",
16894
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16895
14
        "BOOLEAN", HFILL }},
16896
14
    { &hf_h245_jbig200x200Prog,
16897
14
      { "jbig200x200Prog", "h245.jbig200x200Prog",
16898
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16899
14
        "BOOLEAN", HFILL }},
16900
14
    { &hf_h245_jbig300x300Seq,
16901
14
      { "jbig300x300Seq", "h245.jbig300x300Seq",
16902
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16903
14
        "BOOLEAN", HFILL }},
16904
14
    { &hf_h245_jbig300x300Prog,
16905
14
      { "jbig300x300Prog", "h245.jbig300x300Prog",
16906
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16907
14
        "BOOLEAN", HFILL }},
16908
14
    { &hf_h245_digPhotoLow,
16909
14
      { "digPhotoLow", "h245.digPhotoLow",
16910
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16911
14
        "BOOLEAN", HFILL }},
16912
14
    { &hf_h245_digPhotoMedSeq,
16913
14
      { "digPhotoMedSeq", "h245.digPhotoMedSeq",
16914
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16915
14
        "BOOLEAN", HFILL }},
16916
14
    { &hf_h245_digPhotoMedProg,
16917
14
      { "digPhotoMedProg", "h245.digPhotoMedProg",
16918
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16919
14
        "BOOLEAN", HFILL }},
16920
14
    { &hf_h245_digPhotoHighSeq,
16921
14
      { "digPhotoHighSeq", "h245.digPhotoHighSeq",
16922
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16923
14
        "BOOLEAN", HFILL }},
16924
14
    { &hf_h245_digPhotoHighProg,
16925
14
      { "digPhotoHighProg", "h245.digPhotoHighProg",
16926
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16927
14
        "BOOLEAN", HFILL }},
16928
14
    { &hf_h245_fillBitRemoval,
16929
14
      { "fillBitRemoval", "h245.fillBitRemoval",
16930
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16931
14
        "BOOLEAN", HFILL }},
16932
14
    { &hf_h245_transcodingJBIG,
16933
14
      { "transcodingJBIG", "h245.transcodingJBIG",
16934
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16935
14
        "BOOLEAN", HFILL }},
16936
14
    { &hf_h245_transcodingMMR,
16937
14
      { "transcodingMMR", "h245.transcodingMMR",
16938
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16939
14
        "BOOLEAN", HFILL }},
16940
14
    { &hf_h245_version,
16941
14
      { "version", "h245.version",
16942
14
        FT_UINT32, BASE_DEC, NULL, 0,
16943
14
        "INTEGER_0_255", HFILL }},
16944
14
    { &hf_h245_t38FaxRateManagement,
16945
14
      { "t38FaxRateManagement", "h245.t38FaxRateManagement",
16946
14
        FT_UINT32, BASE_DEC, VALS(h245_T38FaxRateManagement_vals), 0,
16947
14
        NULL, HFILL }},
16948
14
    { &hf_h245_t38FaxUdpOptions,
16949
14
      { "t38FaxUdpOptions", "h245.t38FaxUdpOptions_element",
16950
14
        FT_NONE, BASE_NONE, NULL, 0,
16951
14
        NULL, HFILL }},
16952
14
    { &hf_h245_t38FaxTcpOptions,
16953
14
      { "t38FaxTcpOptions", "h245.t38FaxTcpOptions_element",
16954
14
        FT_NONE, BASE_NONE, NULL, 0,
16955
14
        NULL, HFILL }},
16956
14
    { &hf_h245_localTCF,
16957
14
      { "localTCF", "h245.localTCF_element",
16958
14
        FT_NONE, BASE_NONE, NULL, 0,
16959
14
        NULL, HFILL }},
16960
14
    { &hf_h245_transferredTCF,
16961
14
      { "transferredTCF", "h245.transferredTCF_element",
16962
14
        FT_NONE, BASE_NONE, NULL, 0,
16963
14
        NULL, HFILL }},
16964
14
    { &hf_h245_t38FaxMaxBuffer,
16965
14
      { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer",
16966
14
        FT_INT32, BASE_DEC, NULL, 0,
16967
14
        "INTEGER", HFILL }},
16968
14
    { &hf_h245_t38FaxMaxDatagram,
16969
14
      { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram",
16970
14
        FT_INT32, BASE_DEC, NULL, 0,
16971
14
        "INTEGER", HFILL }},
16972
14
    { &hf_h245_t38FaxUdpEC,
16973
14
      { "t38FaxUdpEC", "h245.t38FaxUdpEC",
16974
14
        FT_UINT32, BASE_DEC, VALS(h245_T_t38FaxUdpEC_vals), 0,
16975
14
        NULL, HFILL }},
16976
14
    { &hf_h245_t38UDPFEC,
16977
14
      { "t38UDPFEC", "h245.t38UDPFEC_element",
16978
14
        FT_NONE, BASE_NONE, NULL, 0,
16979
14
        NULL, HFILL }},
16980
14
    { &hf_h245_t38UDPRedundancy,
16981
14
      { "t38UDPRedundancy", "h245.t38UDPRedundancy_element",
16982
14
        FT_NONE, BASE_NONE, NULL, 0,
16983
14
        NULL, HFILL }},
16984
14
    { &hf_h245_t38TCPBidirectionalMode,
16985
14
      { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode",
16986
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16987
14
        "BOOLEAN", HFILL }},
16988
14
    { &hf_h245_encryptionCapability,
16989
14
      { "encryptionCapability", "h245.encryptionCapability",
16990
14
        FT_UINT32, BASE_DEC, NULL, 0,
16991
14
        NULL, HFILL }},
16992
14
    { &hf_h245_authenticationCapability,
16993
14
      { "authenticationCapability", "h245.authenticationCapability_element",
16994
14
        FT_NONE, BASE_NONE, NULL, 0,
16995
14
        NULL, HFILL }},
16996
14
    { &hf_h245_integrityCapability,
16997
14
      { "integrityCapability", "h245.integrityCapability_element",
16998
14
        FT_NONE, BASE_NONE, NULL, 0,
16999
14
        NULL, HFILL }},
17000
14
    { &hf_h245_genericH235SecurityCapability,
17001
14
      { "genericH235SecurityCapability", "h245.genericH235SecurityCapability_element",
17002
14
        FT_NONE, BASE_NONE, NULL, 0,
17003
14
        "GenericCapability", HFILL }},
17004
14
    { &hf_h245_EncryptionCapability_item,
17005
14
      { "MediaEncryptionAlgorithm", "h245.MediaEncryptionAlgorithm",
17006
14
        FT_UINT32, BASE_DEC, VALS(h245_MediaEncryptionAlgorithm_vals), 0,
17007
14
        NULL, HFILL }},
17008
14
    { &hf_h245_algorithm,
17009
14
      { "algorithm", "h245.algorithm",
17010
14
        FT_OID, BASE_NONE, NULL, 0,
17011
14
        "OBJECT_IDENTIFIER", HFILL }},
17012
14
    { &hf_h245_antiSpamAlgorithm,
17013
14
      { "antiSpamAlgorithm", "h245.antiSpamAlgorithm",
17014
14
        FT_OID, BASE_NONE, NULL, 0,
17015
14
        "OBJECT_IDENTIFIER", HFILL }},
17016
14
    { &hf_h245_ui_nonStandard,
17017
14
      { "nonStandard", "h245.ui_nonStandard",
17018
14
        FT_UINT32, BASE_DEC, NULL, 0,
17019
14
        "SEQUENCE_SIZE_1_16_OF_NonStandardParameter", HFILL }},
17020
14
    { &hf_h245_ui_nonStandard_item,
17021
14
      { "NonStandardParameter", "h245.NonStandardParameter_element",
17022
14
        FT_NONE, BASE_NONE, NULL, 0,
17023
14
        NULL, HFILL }},
17024
14
    { &hf_h245_basicString,
17025
14
      { "basicString", "h245.basicString_element",
17026
14
        FT_NONE, BASE_NONE, NULL, 0,
17027
14
        NULL, HFILL }},
17028
14
    { &hf_h245_iA5String,
17029
14
      { "iA5String", "h245.iA5String_element",
17030
14
        FT_NONE, BASE_NONE, NULL, 0,
17031
14
        NULL, HFILL }},
17032
14
    { &hf_h245_generalString,
17033
14
      { "generalString", "h245.generalString_element",
17034
14
        FT_NONE, BASE_NONE, NULL, 0,
17035
14
        NULL, HFILL }},
17036
14
    { &hf_h245_dtmf,
17037
14
      { "dtmf", "h245.dtmf_element",
17038
14
        FT_NONE, BASE_NONE, NULL, 0,
17039
14
        NULL, HFILL }},
17040
14
    { &hf_h245_hookflash,
17041
14
      { "hookflash", "h245.hookflash_element",
17042
14
        FT_NONE, BASE_NONE, NULL, 0,
17043
14
        NULL, HFILL }},
17044
14
    { &hf_h245_extendedAlphanumericFlag,
17045
14
      { "extendedAlphanumeric", "h245.extendedAlphanumericFlag_element",
17046
14
        FT_NONE, BASE_NONE, NULL, 0,
17047
14
        NULL, HFILL }},
17048
14
    { &hf_h245_encryptedBasicString,
17049
14
      { "encryptedBasicString", "h245.encryptedBasicString_element",
17050
14
        FT_NONE, BASE_NONE, NULL, 0,
17051
14
        NULL, HFILL }},
17052
14
    { &hf_h245_encryptedIA5String,
17053
14
      { "encryptedIA5String", "h245.encryptedIA5String_element",
17054
14
        FT_NONE, BASE_NONE, NULL, 0,
17055
14
        NULL, HFILL }},
17056
14
    { &hf_h245_encryptedGeneralString,
17057
14
      { "encryptedGeneralString", "h245.encryptedGeneralString_element",
17058
14
        FT_NONE, BASE_NONE, NULL, 0,
17059
14
        NULL, HFILL }},
17060
14
    { &hf_h245_secureDTMF,
17061
14
      { "secureDTMF", "h245.secureDTMF_element",
17062
14
        FT_NONE, BASE_NONE, NULL, 0,
17063
14
        NULL, HFILL }},
17064
14
    { &hf_h245_genericUserInputCapability,
17065
14
      { "genericUserInputCapability", "h245.genericUserInputCapability_element",
17066
14
        FT_NONE, BASE_NONE, NULL, 0,
17067
14
        "GenericCapability", HFILL }},
17068
14
    { &hf_h245_nonStandardParams,
17069
14
      { "nonStandardData", "h245.nonStandardParams",
17070
14
        FT_UINT32, BASE_DEC, NULL, 0,
17071
14
        "SEQUENCE_OF_NonStandardParameter", HFILL }},
17072
14
    { &hf_h245_nonStandardParams_item,
17073
14
      { "NonStandardParameter", "h245.NonStandardParameter_element",
17074
14
        FT_NONE, BASE_NONE, NULL, 0,
17075
14
        NULL, HFILL }},
17076
14
    { &hf_h245_chairControlCapability,
17077
14
      { "chairControlCapability", "h245.chairControlCapability",
17078
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17079
14
        "BOOLEAN", HFILL }},
17080
14
    { &hf_h245_videoIndicateMixingCapability,
17081
14
      { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability",
17082
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17083
14
        "BOOLEAN", HFILL }},
17084
14
    { &hf_h245_multipointVisualizationCapability,
17085
14
      { "multipointVisualizationCapability", "h245.multipointVisualizationCapability",
17086
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17087
14
        "BOOLEAN", HFILL }},
17088
14
    { &hf_h245_capabilityIdentifier,
17089
14
      { "capabilityIdentifier", "h245.capabilityIdentifier",
17090
14
        FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
17091
14
        NULL, HFILL }},
17092
14
    { &hf_h245_collapsing,
17093
14
      { "collapsing", "h245.collapsing",
17094
14
        FT_UINT32, BASE_DEC, NULL, 0,
17095
14
        NULL, HFILL }},
17096
14
    { &hf_h245_collapsing_item,
17097
14
      { "collapsing item", "h245.collapsing_item_element",
17098
14
        FT_NONE, BASE_NONE, NULL, 0,
17099
14
        NULL, HFILL }},
17100
14
    { &hf_h245_nonCollapsing,
17101
14
      { "nonCollapsing", "h245.nonCollapsing",
17102
14
        FT_UINT32, BASE_DEC, NULL, 0,
17103
14
        NULL, HFILL }},
17104
14
    { &hf_h245_nonCollapsing_item,
17105
14
      { "nonCollapsing item", "h245.nonCollapsing_item_element",
17106
14
        FT_NONE, BASE_NONE, NULL, 0,
17107
14
        NULL, HFILL }},
17108
14
    { &hf_h245_nonCollapsingRaw,
17109
14
      { "nonCollapsingRaw", "h245.nonCollapsingRaw",
17110
14
        FT_BYTES, BASE_NONE, NULL, 0,
17111
14
        NULL, HFILL }},
17112
14
    { &hf_h245_transport,
17113
14
      { "transport", "h245.transport",
17114
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
17115
14
        "DataProtocolCapability", HFILL }},
17116
14
    { &hf_h245_standardOid,
17117
14
      { "standard", "h245.standardOid",
17118
14
        FT_OID, BASE_NONE, NULL, 0,
17119
14
        "T_standardOid", HFILL }},
17120
14
    { &hf_h245_h221NonStandard,
17121
14
      { "h221NonStandard", "h245.h221NonStandard_element",
17122
14
        FT_NONE, BASE_NONE, NULL, 0,
17123
14
        "NonStandardParameter", HFILL }},
17124
14
    { &hf_h245_uuid,
17125
14
      { "uuid", "h245.uuid",
17126
14
        FT_BYTES, BASE_NONE, NULL, 0,
17127
14
        "OCTET_STRING_SIZE_16", HFILL }},
17128
14
    { &hf_h245_domainBased,
17129
14
      { "domainBased", "h245.domainBased",
17130
14
        FT_STRING, BASE_NONE, NULL, 0,
17131
14
        "IA5String_SIZE_1_64", HFILL }},
17132
14
    { &hf_h245_parameterIdentifier,
17133
14
      { "parameterIdentifier", "h245.parameterIdentifier",
17134
14
        FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17135
14
        NULL, HFILL }},
17136
14
    { &hf_h245_parameterValue,
17137
14
      { "parameterValue", "h245.parameterValue",
17138
14
        FT_UINT32, BASE_DEC, VALS(h245_ParameterValue_vals), 0,
17139
14
        NULL, HFILL }},
17140
14
    { &hf_h245_supersedes,
17141
14
      { "supersedes", "h245.supersedes",
17142
14
        FT_UINT32, BASE_DEC, NULL, 0,
17143
14
        "SEQUENCE_OF_ParameterIdentifier", HFILL }},
17144
14
    { &hf_h245_supersedes_item,
17145
14
      { "ParameterIdentifier", "h245.ParameterIdentifier",
17146
14
        FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17147
14
        NULL, HFILL }},
17148
14
    { &hf_h245_standard,
17149
14
      { "standard", "h245.standard",
17150
14
        FT_UINT32, BASE_DEC, NULL, 0,
17151
14
        NULL, HFILL }},
17152
14
    { &hf_h245_logical,
17153
14
      { "logical", "h245.logical_element",
17154
14
        FT_NONE, BASE_NONE, NULL, 0,
17155
14
        NULL, HFILL }},
17156
14
    { &hf_h245_booleanArray,
17157
14
      { "booleanArray", "h245.booleanArray",
17158
14
        FT_UINT32, BASE_DEC, NULL, 0,
17159
14
        NULL, HFILL }},
17160
14
    { &hf_h245_unsignedMin,
17161
14
      { "unsignedMin", "h245.unsignedMin",
17162
14
        FT_UINT32, BASE_DEC, NULL, 0,
17163
14
        NULL, HFILL }},
17164
14
    { &hf_h245_unsignedMax,
17165
14
      { "unsignedMax", "h245.unsignedMax",
17166
14
        FT_UINT32, BASE_DEC, NULL, 0,
17167
14
        NULL, HFILL }},
17168
14
    { &hf_h245_unsigned32Min,
17169
14
      { "unsigned32Min", "h245.unsigned32Min",
17170
14
        FT_UINT32, BASE_DEC, NULL, 0,
17171
14
        NULL, HFILL }},
17172
14
    { &hf_h245_unsigned32Max,
17173
14
      { "unsigned32Max", "h245.unsigned32Max",
17174
14
        FT_UINT32, BASE_DEC, NULL, 0,
17175
14
        NULL, HFILL }},
17176
14
    { &hf_h245_octetString,
17177
14
      { "octetString", "h245.octetString",
17178
14
        FT_UINT32, BASE_DEC, NULL, 0,
17179
14
        NULL, HFILL }},
17180
14
    { &hf_h245_genericParameters,
17181
14
      { "genericParameter", "h245.genericParameters",
17182
14
        FT_UINT32, BASE_DEC, NULL, 0,
17183
14
        "SEQUENCE_OF_GenericParameter", HFILL }},
17184
14
    { &hf_h245_genericParameters_item,
17185
14
      { "GenericParameter", "h245.GenericParameter_element",
17186
14
        FT_NONE, BASE_NONE, NULL, 0,
17187
14
        NULL, HFILL }},
17188
14
    { &hf_h245_multiplexFormat,
17189
14
      { "multiplexFormat", "h245.multiplexFormat",
17190
14
        FT_UINT32, BASE_DEC, VALS(h245_MultiplexFormat_vals), 0,
17191
14
        NULL, HFILL }},
17192
14
    { &hf_h245_controlOnMuxStream,
17193
14
      { "controlOnMuxStream", "h245.controlOnMuxStream",
17194
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17195
14
        "BOOLEAN", HFILL }},
17196
14
    { &hf_h245_capabilityOnMuxStream,
17197
14
      { "capabilityOnMuxStream", "h245.capabilityOnMuxStream",
17198
14
        FT_UINT32, BASE_DEC, NULL, 0,
17199
14
        "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17200
14
    { &hf_h245_capabilityOnMuxStream_item,
17201
14
      { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17202
14
        FT_UINT32, BASE_DEC, NULL, 0,
17203
14
        NULL, HFILL }},
17204
14
    { &hf_h245_dynamicRTPPayloadType,
17205
14
      { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType",
17206
14
        FT_UINT32, BASE_DEC, NULL, 0,
17207
14
        "INTEGER_96_127", HFILL }},
17208
14
    { &hf_h245_audioTelephoneEvent,
17209
14
      { "audioTelephoneEvent", "h245.audioTelephoneEvent",
17210
14
        FT_STRING, BASE_NONE, NULL, 0,
17211
14
        "GeneralString", HFILL }},
17212
14
    { &hf_h245_capabilities,
17213
14
      { "capabilities", "h245.capabilities",
17214
14
        FT_UINT32, BASE_DEC, NULL, 0,
17215
14
        "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17216
14
    { &hf_h245_capabilities_item,
17217
14
      { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17218
14
        FT_UINT32, BASE_DEC, NULL, 0,
17219
14
        NULL, HFILL }},
17220
14
    { &hf_h245_fecc_rfc2733,
17221
14
      { "rfc2733", "h245.fecc_rfc2733_element",
17222
14
        FT_NONE, BASE_NONE, NULL, 0,
17223
14
        "FECC_rfc2733", HFILL }},
17224
14
    { &hf_h245_redundancyEncodingBool,
17225
14
      { "redundancyEncoding", "h245.redundancyEncodingBool",
17226
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17227
14
        "BOOLEAN", HFILL }},
17228
14
    { &hf_h245_separateStreamBool,
17229
14
      { "separateStream", "h245.separateStreamBool_element",
17230
14
        FT_NONE, BASE_NONE, NULL, 0,
17231
14
        "T_separateStreamBool", HFILL }},
17232
14
    { &hf_h245_separatePort,
17233
14
      { "separatePort", "h245.separatePort",
17234
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17235
14
        "BOOLEAN", HFILL }},
17236
14
    { &hf_h245_samePortBool,
17237
14
      { "samePort", "h245.samePortBool",
17238
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17239
14
        "BOOLEAN", HFILL }},
17240
14
    { &hf_h245_protectedCapability,
17241
14
      { "protectedCapability", "h245.protectedCapability",
17242
14
        FT_UINT32, BASE_DEC, NULL, 0,
17243
14
        "CapabilityTableEntryNumber", HFILL }},
17244
14
    { &hf_h245_fecScheme,
17245
14
      { "fecScheme", "h245.fecScheme",
17246
14
        FT_OID, BASE_NONE, NULL, 0,
17247
14
        "OBJECT_IDENTIFIER", HFILL }},
17248
14
    { &hf_h245_rfc2733rfc2198,
17249
14
      { "rfc2733rfc2198", "h245.rfc2733rfc2198",
17250
14
        FT_UINT64, BASE_DEC, NULL, 0,
17251
14
        "MaxRedundancy", HFILL }},
17252
14
    { &hf_h245_rfc2733sameport,
17253
14
      { "rfc2733sameport", "h245.rfc2733sameport",
17254
14
        FT_UINT64, BASE_DEC, NULL, 0,
17255
14
        "MaxRedundancy", HFILL }},
17256
14
    { &hf_h245_rfc2733diffport,
17257
14
      { "rfc2733diffport", "h245.rfc2733diffport",
17258
14
        FT_UINT64, BASE_DEC, NULL, 0,
17259
14
        "MaxRedundancy", HFILL }},
17260
14
    { &hf_h245_rfc2733Format,
17261
14
      { "rfc2733Format", "h245.rfc2733Format",
17262
14
        FT_UINT32, BASE_DEC, VALS(h245_Rfc2733Format_vals), 0,
17263
14
        NULL, HFILL }},
17264
14
    { &hf_h245_olc_fw_lcn,
17265
14
      { "forwardLogicalChannelNumber", "h245.olc_fw_lcn",
17266
14
        FT_UINT32, BASE_DEC, NULL, 0,
17267
14
        "OLC_fw_lcn", HFILL }},
17268
14
    { &hf_h245_forwardLogicalChannelParameters,
17269
14
      { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters_element",
17270
14
        FT_NONE, BASE_NONE, NULL, 0,
17271
14
        NULL, HFILL }},
17272
14
    { &hf_h245_portNumber,
17273
14
      { "portNumber", "h245.portNumber",
17274
14
        FT_UINT32, BASE_DEC, NULL, 0,
17275
14
        "INTEGER_0_65535", HFILL }},
17276
14
    { &hf_h245_dataType,
17277
14
      { "dataType", "h245.dataType",
17278
14
        FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17279
14
        NULL, HFILL }},
17280
14
    { &hf_h245_olc_forw_multiplexParameters,
17281
14
      { "multiplexParameters", "h245.olc_forw_multiplexParameters",
17282
14
        FT_UINT32, BASE_DEC, VALS(h245_OLC_forw_multiplexParameters_vals), 0,
17283
14
        "OLC_forw_multiplexParameters", HFILL }},
17284
14
    { &hf_h245_h222LogicalChannelParameters,
17285
14
      { "h222LogicalChannelParameters", "h245.h222LogicalChannelParameters_element",
17286
14
        FT_NONE, BASE_NONE, NULL, 0,
17287
14
        NULL, HFILL }},
17288
14
    { &hf_h245_olc_fw_h223_params,
17289
14
      { "h223LogicalChannelParameters", "h245.olc_fw_h223_params_element",
17290
14
        FT_NONE, BASE_NONE, NULL, 0,
17291
14
        "OLC_fw_h223_params", HFILL }},
17292
14
    { &hf_h245_v76LogicalChannelParameters,
17293
14
      { "v76LogicalChannelParameters", "h245.v76LogicalChannelParameters_element",
17294
14
        FT_NONE, BASE_NONE, NULL, 0,
17295
14
        NULL, HFILL }},
17296
14
    { &hf_h245_h2250LogicalChannelParameters,
17297
14
      { "h2250LogicalChannelParameters", "h245.h2250LogicalChannelParameters_element",
17298
14
        FT_NONE, BASE_NONE, NULL, 0,
17299
14
        NULL, HFILL }},
17300
14
    { &hf_h245_forwardLogicalChannelDependency,
17301
14
      { "forwardLogicalChannelDependency", "h245.forwardLogicalChannelDependency",
17302
14
        FT_UINT32, BASE_DEC, NULL, 0,
17303
14
        "LogicalChannelNumber", HFILL }},
17304
14
    { &hf_h245_replacementFor,
17305
14
      { "replacementFor", "h245.replacementFor",
17306
14
        FT_UINT32, BASE_DEC, NULL, 0,
17307
14
        "LogicalChannelNumber", HFILL }},
17308
14
    { &hf_h245_reverseLogicalChannelParameters,
17309
14
      { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters_element",
17310
14
        FT_NONE, BASE_NONE, NULL, 0,
17311
14
        "OLC_reverseLogicalChannelParameters", HFILL }},
17312
14
    { &hf_h245_olc_rev_multiplexParameter,
17313
14
      { "multiplexParameters", "h245.olc_rev_multiplexParameter",
17314
14
        FT_UINT32, BASE_DEC, VALS(h245_OLC_rev_multiplexParameters_vals), 0,
17315
14
        "OLC_rev_multiplexParameters", HFILL }},
17316
14
    { &hf_h245_olc_rev_h223_params,
17317
14
      { "h223LogicalChannelParameters", "h245.olc_rev_h223_params_element",
17318
14
        FT_NONE, BASE_NONE, NULL, 0,
17319
14
        "OLC_rev_h223_params", HFILL }},
17320
14
    { &hf_h245_reverseLogicalChannelDependency,
17321
14
      { "reverseLogicalChannelDependency", "h245.reverseLogicalChannelDependency",
17322
14
        FT_UINT32, BASE_DEC, NULL, 0,
17323
14
        "LogicalChannelNumber", HFILL }},
17324
14
    { &hf_h245_separateStack,
17325
14
      { "separateStack", "h245.separateStack_element",
17326
14
        FT_NONE, BASE_NONE, NULL, 0,
17327
14
        "NetworkAccessParameters", HFILL }},
17328
14
    { &hf_h245_encryptionSync,
17329
14
      { "encryptionSync", "h245.encryptionSync_element",
17330
14
        FT_NONE, BASE_NONE, NULL, 0,
17331
14
        NULL, HFILL }},
17332
14
    { &hf_h245_distribution,
17333
14
      { "distribution", "h245.distribution",
17334
14
        FT_UINT32, BASE_DEC, VALS(h245_T_distribution_vals), 0,
17335
14
        NULL, HFILL }},
17336
14
    { &hf_h245_unicast,
17337
14
      { "unicast", "h245.unicast_element",
17338
14
        FT_NONE, BASE_NONE, NULL, 0,
17339
14
        NULL, HFILL }},
17340
14
    { &hf_h245_multicast,
17341
14
      { "multicast", "h245.multicast_element",
17342
14
        FT_NONE, BASE_NONE, NULL, 0,
17343
14
        NULL, HFILL }},
17344
14
    { &hf_h245_networkAddress,
17345
14
      { "networkAddress", "h245.networkAddress",
17346
14
        FT_UINT32, BASE_DEC, VALS(h245_T_networkAddress_vals), 0,
17347
14
        NULL, HFILL }},
17348
14
    { &hf_h245_q2931Address,
17349
14
      { "q2931Address", "h245.q2931Address_element",
17350
14
        FT_NONE, BASE_NONE, NULL, 0,
17351
14
        NULL, HFILL }},
17352
14
    { &hf_h245_e164Address,
17353
14
      { "e164Address", "h245.e164Address",
17354
14
        FT_STRING, BASE_NONE, NULL, 0,
17355
14
        NULL, HFILL }},
17356
14
    { &hf_h245_localAreaAddress,
17357
14
      { "localAreaAddress", "h245.localAreaAddress",
17358
14
        FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17359
14
        "TransportAddress", HFILL }},
17360
14
    { &hf_h245_associateConference,
17361
14
      { "associateConference", "h245.associateConference",
17362
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17363
14
        "BOOLEAN", HFILL }},
17364
14
    { &hf_h245_externalReference,
17365
14
      { "externalReference", "h245.externalReference",
17366
14
        FT_BYTES, BASE_NONE, NULL, 0,
17367
14
        "OCTET_STRING_SIZE_1_255", HFILL }},
17368
14
    { &hf_h245_t120SetupProcedure,
17369
14
      { "t120SetupProcedure", "h245.t120SetupProcedure",
17370
14
        FT_UINT32, BASE_DEC, VALS(h245_T_t120SetupProcedure_vals), 0,
17371
14
        NULL, HFILL }},
17372
14
    { &hf_h245_originateCall,
17373
14
      { "originateCall", "h245.originateCall_element",
17374
14
        FT_NONE, BASE_NONE, NULL, 0,
17375
14
        NULL, HFILL }},
17376
14
    { &hf_h245_waitForCall,
17377
14
      { "waitForCall", "h245.waitForCall_element",
17378
14
        FT_NONE, BASE_NONE, NULL, 0,
17379
14
        NULL, HFILL }},
17380
14
    { &hf_h245_issueQuery,
17381
14
      { "issueQuery", "h245.issueQuery_element",
17382
14
        FT_NONE, BASE_NONE, NULL, 0,
17383
14
        NULL, HFILL }},
17384
14
    { &hf_h245_address,
17385
14
      { "address", "h245.address",
17386
14
        FT_UINT32, BASE_DEC, VALS(h245_T_address_vals), 0,
17387
14
        NULL, HFILL }},
17388
14
    { &hf_h245_internationalNumber,
17389
14
      { "internationalNumber", "h245.internationalNumber",
17390
14
        FT_STRING, BASE_NONE, NULL, 0,
17391
14
        "NumericString_SIZE_1_16", HFILL }},
17392
14
    { &hf_h245_nsapAddress,
17393
14
      { "nsapAddress", "h245.nsapAddress",
17394
14
        FT_BYTES, BASE_NONE, NULL, 0,
17395
14
        "OCTET_STRING_SIZE_1_20", HFILL }},
17396
14
    { &hf_h245_subaddress,
17397
14
      { "subaddress", "h245.subaddress",
17398
14
        FT_BYTES, BASE_NONE, NULL, 0,
17399
14
        "OCTET_STRING_SIZE_1_20", HFILL }},
17400
14
    { &hf_h245_audioHeaderPresent,
17401
14
      { "audioHeaderPresent", "h245.audioHeaderPresent",
17402
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17403
14
        "BOOLEAN", HFILL }},
17404
14
    { &hf_h245_nullData,
17405
14
      { "nullData", "h245.nullData_element",
17406
14
        FT_NONE, BASE_NONE, NULL, 0,
17407
14
        NULL, HFILL }},
17408
14
    { &hf_h245_videoData,
17409
14
      { "videoData", "h245.videoData",
17410
14
        FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
17411
14
        "VideoCapability", HFILL }},
17412
14
    { &hf_h245_audioData,
17413
14
      { "audioData", "h245.audioData",
17414
14
        FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
17415
14
        "AudioCapability", HFILL }},
17416
14
    { &hf_h245_data,
17417
14
      { "data", "h245.data_element",
17418
14
        FT_NONE, BASE_NONE, NULL, 0,
17419
14
        "DataApplicationCapability", HFILL }},
17420
14
    { &hf_h245_encryptionData,
17421
14
      { "encryptionData", "h245.encryptionData",
17422
14
        FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
17423
14
        "EncryptionMode", HFILL }},
17424
14
    { &hf_h245_h235Control,
17425
14
      { "h235Control", "h245.h235Control_element",
17426
14
        FT_NONE, BASE_NONE, NULL, 0,
17427
14
        "NonStandardParameter", HFILL }},
17428
14
    { &hf_h245_h235Media,
17429
14
      { "h235Media", "h245.h235Media_element",
17430
14
        FT_NONE, BASE_NONE, NULL, 0,
17431
14
        NULL, HFILL }},
17432
14
    { &hf_h245_multiplexedStream,
17433
14
      { "multiplexedStream", "h245.multiplexedStream_element",
17434
14
        FT_NONE, BASE_NONE, NULL, 0,
17435
14
        "MultiplexedStreamParameter", HFILL }},
17436
14
    { &hf_h245_redundancyEncoding,
17437
14
      { "redundancyEncoding", "h245.redundancyEncoding_element",
17438
14
        FT_NONE, BASE_NONE, NULL, 0,
17439
14
        NULL, HFILL }},
17440
14
    { &hf_h245_multiplePayloadStream,
17441
14
      { "multiplePayloadStream", "h245.multiplePayloadStream_element",
17442
14
        FT_NONE, BASE_NONE, NULL, 0,
17443
14
        NULL, HFILL }},
17444
14
    { &hf_h245_depFec,
17445
14
      { "depFec", "h245.depFec",
17446
14
        FT_UINT32, BASE_DEC, VALS(h245_DepFECData_vals), 0,
17447
14
        "DepFECData", HFILL }},
17448
14
    { &hf_h245_fec,
17449
14
      { "fec", "h245.fec",
17450
14
        FT_UINT32, BASE_DEC, VALS(h245_FECData_vals), 0,
17451
14
        "FECData", HFILL }},
17452
14
    { &hf_h245_mediaType,
17453
14
      { "mediaType", "h245.mediaType",
17454
14
        FT_UINT32, BASE_DEC, VALS(h245_T_mediaType_vals), 0,
17455
14
        NULL, HFILL }},
17456
14
    { &hf_h245_resourceID,
17457
14
      { "resourceID", "h245.resourceID",
17458
14
        FT_UINT32, BASE_DEC, NULL, 0,
17459
14
        "INTEGER_0_65535", HFILL }},
17460
14
    { &hf_h245_subChannelID,
17461
14
      { "subChannelID", "h245.subChannelID",
17462
14
        FT_UINT32, BASE_DEC, NULL, 0,
17463
14
        "INTEGER_0_8191", HFILL }},
17464
14
    { &hf_h245_pcr_pid,
17465
14
      { "pcr-pid", "h245.pcr_pid",
17466
14
        FT_UINT32, BASE_DEC, NULL, 0,
17467
14
        "INTEGER_0_8191", HFILL }},
17468
14
    { &hf_h245_programDescriptors,
17469
14
      { "programDescriptors", "h245.programDescriptors",
17470
14
        FT_BYTES, BASE_NONE, NULL, 0,
17471
14
        "OCTET_STRING", HFILL }},
17472
14
    { &hf_h245_streamDescriptors,
17473
14
      { "streamDescriptors", "h245.streamDescriptors",
17474
14
        FT_BYTES, BASE_NONE, NULL, 0,
17475
14
        "OCTET_STRING", HFILL }},
17476
14
    { &hf_h245_adaptationLayerType,
17477
14
      { "adaptationLayerType", "h245.adaptationLayerType",
17478
14
        FT_UINT32, BASE_DEC, VALS(h245_T_adaptationLayerType_vals), 0,
17479
14
        NULL, HFILL }},
17480
14
    { &hf_h245_h223_al_type_al1Framed,
17481
14
      { "al1Framed", "h245.h223_al_type_al1Framed_element",
17482
14
        FT_NONE, BASE_NONE, NULL, 0,
17483
14
        "T_h223_al_type_al1Framed", HFILL }},
17484
14
    { &hf_h245_h223_al_type_al1NotFramed,
17485
14
      { "al1NotFramed", "h245.h223_al_type_al1NotFramed_element",
17486
14
        FT_NONE, BASE_NONE, NULL, 0,
17487
14
        "T_h223_al_type_al1NotFramed", HFILL }},
17488
14
    { &hf_h245_h223_al_type_al2WithoutSequenceNumbers,
17489
14
      { "al2WithoutSequenceNumbers", "h245.h223_al_type_al2WithoutSequenceNumbers_element",
17490
14
        FT_NONE, BASE_NONE, NULL, 0,
17491
14
        "T_h223_al_type_al2WithoutSequenceNumbers", HFILL }},
17492
14
    { &hf_h245_h223_al_type_al2WithSequenceNumbers,
17493
14
      { "al2WithSequenceNumbers", "h245.h223_al_type_al2WithSequenceNumbers_element",
17494
14
        FT_NONE, BASE_NONE, NULL, 0,
17495
14
        "T_h223_al_type_al2WithSequenceNumbers", HFILL }},
17496
14
    { &hf_h245_controlFieldOctets,
17497
14
      { "controlFieldOctets", "h245.controlFieldOctets",
17498
14
        FT_UINT32, BASE_DEC, NULL, 0,
17499
14
        NULL, HFILL }},
17500
14
    { &hf_h245_al3_sendBufferSize,
17501
14
      { "sendBufferSize", "h245.al3_sendBufferSize",
17502
14
        FT_UINT32, BASE_DEC, NULL, 0,
17503
14
        "T_al3_sendBufferSize", HFILL }},
17504
14
    { &hf_h245_h223_al_type_al3,
17505
14
      { "al3", "h245.h223_al_type_al3_element",
17506
14
        FT_NONE, BASE_NONE, NULL, 0,
17507
14
        "T_h223_al_type_al3", HFILL }},
17508
14
    { &hf_h245_h223_al_type_al1M,
17509
14
      { "al1M", "h245.h223_al_type_al1M_element",
17510
14
        FT_NONE, BASE_NONE, NULL, 0,
17511
14
        "T_h223_al_type_al1M", HFILL }},
17512
14
    { &hf_h245_h223_al_type_al2M,
17513
14
      { "al2M", "h245.h223_al_type_al2M_element",
17514
14
        FT_NONE, BASE_NONE, NULL, 0,
17515
14
        "T_h223_al_type_al2M", HFILL }},
17516
14
    { &hf_h245_h223_al_type_al3M,
17517
14
      { "al3M", "h245.h223_al_type_al3M_element",
17518
14
        FT_NONE, BASE_NONE, NULL, 0,
17519
14
        "T_h223_al_type_al3M", HFILL }},
17520
14
    { &hf_h245_h223_lc_segmentableFlag,
17521
14
      { "segmentableFlag", "h245.h223_lc_segmentableFlag",
17522
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17523
14
        "T_h223_lc_segmentableFlag", HFILL }},
17524
14
    { &hf_h245_transferMode,
17525
14
      { "transferMode", "h245.transferMode",
17526
14
        FT_UINT32, BASE_DEC, VALS(h245_T_transferMode_vals), 0,
17527
14
        NULL, HFILL }},
17528
14
    { &hf_h245_framed,
17529
14
      { "framed", "h245.framed_element",
17530
14
        FT_NONE, BASE_NONE, NULL, 0,
17531
14
        NULL, HFILL }},
17532
14
    { &hf_h245_unframed,
17533
14
      { "unframed", "h245.unframed_element",
17534
14
        FT_NONE, BASE_NONE, NULL, 0,
17535
14
        NULL, HFILL }},
17536
14
    { &hf_h245_aL1HeaderFEC,
17537
14
      { "headerFEC", "h245.aL1HeaderFEC",
17538
14
        FT_UINT32, BASE_DEC, VALS(h245_AL1HeaderFEC_vals), 0,
17539
14
        "AL1HeaderFEC", HFILL }},
17540
14
    { &hf_h245_sebch16_7,
17541
14
      { "sebch16-7", "h245.sebch16_7_element",
17542
14
        FT_NONE, BASE_NONE, NULL, 0,
17543
14
        NULL, HFILL }},
17544
14
    { &hf_h245_golay24_12,
17545
14
      { "golay24-12", "h245.golay24_12_element",
17546
14
        FT_NONE, BASE_NONE, NULL, 0,
17547
14
        NULL, HFILL }},
17548
14
    { &hf_h245_crcLength2,
17549
14
      { "crcLength", "h245.crcLength2",
17550
14
        FT_UINT32, BASE_DEC, VALS(h245_AL1CrcLength_vals), 0,
17551
14
        "AL1CrcLength", HFILL }},
17552
14
    { &hf_h245_crc4bit,
17553
14
      { "crc4bit", "h245.crc4bit_element",
17554
14
        FT_NONE, BASE_NONE, NULL, 0,
17555
14
        NULL, HFILL }},
17556
14
    { &hf_h245_crc12bit,
17557
14
      { "crc12bit", "h245.crc12bit_element",
17558
14
        FT_NONE, BASE_NONE, NULL, 0,
17559
14
        NULL, HFILL }},
17560
14
    { &hf_h245_crc20bit,
17561
14
      { "crc20bit", "h245.crc20bit_element",
17562
14
        FT_NONE, BASE_NONE, NULL, 0,
17563
14
        NULL, HFILL }},
17564
14
    { &hf_h245_crc28bit,
17565
14
      { "crc28bit", "h245.crc28bit_element",
17566
14
        FT_NONE, BASE_NONE, NULL, 0,
17567
14
        NULL, HFILL }},
17568
14
    { &hf_h245_crc8bit,
17569
14
      { "crc8bit", "h245.crc8bit_element",
17570
14
        FT_NONE, BASE_NONE, NULL, 0,
17571
14
        NULL, HFILL }},
17572
14
    { &hf_h245_crc16bit,
17573
14
      { "crc16bit", "h245.crc16bit_element",
17574
14
        FT_NONE, BASE_NONE, NULL, 0,
17575
14
        NULL, HFILL }},
17576
14
    { &hf_h245_crc32bit,
17577
14
      { "crc32bit", "h245.crc32bit_element",
17578
14
        FT_NONE, BASE_NONE, NULL, 0,
17579
14
        NULL, HFILL }},
17580
14
    { &hf_h245_crcNotUsed,
17581
14
      { "crcNotUsed", "h245.crcNotUsed_element",
17582
14
        FT_NONE, BASE_NONE, NULL, 0,
17583
14
        NULL, HFILL }},
17584
14
    { &hf_h245_rcpcCodeRate,
17585
14
      { "rcpcCodeRate", "h245.rcpcCodeRate",
17586
14
        FT_UINT32, BASE_DEC, NULL, 0,
17587
14
        "INTEGER_8_32", HFILL }},
17588
14
    { &hf_h245_noArq,
17589
14
      { "noArq", "h245.noArq_element",
17590
14
        FT_NONE, BASE_NONE, NULL, 0,
17591
14
        NULL, HFILL }},
17592
14
    { &hf_h245_typeIArq,
17593
14
      { "typeIArq", "h245.typeIArq_element",
17594
14
        FT_NONE, BASE_NONE, NULL, 0,
17595
14
        "H223AnnexCArqParameters", HFILL }},
17596
14
    { &hf_h245_typeIIArq,
17597
14
      { "typeIIArq", "h245.typeIIArq_element",
17598
14
        FT_NONE, BASE_NONE, NULL, 0,
17599
14
        "H223AnnexCArqParameters", HFILL }},
17600
14
    { &hf_h245_arqType,
17601
14
      { "arqType", "h245.arqType",
17602
14
        FT_UINT32, BASE_DEC, VALS(h245_ArqType_vals), 0,
17603
14
        NULL, HFILL }},
17604
14
    { &hf_h245_alsduSplitting,
17605
14
      { "alsduSplitting", "h245.alsduSplitting",
17606
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17607
14
        "BOOLEAN", HFILL }},
17608
14
    { &hf_h245_rsCodeCorrection,
17609
14
      { "rsCodeCorrection", "h245.rsCodeCorrection",
17610
14
        FT_UINT32, BASE_DEC, NULL, 0,
17611
14
        "INTEGER_0_127", HFILL }},
17612
14
    { &hf_h245_aL2HeaderFEC,
17613
14
      { "headerFEC", "h245.aL2HeaderFEC",
17614
14
        FT_UINT32, BASE_DEC, VALS(h245_AL2HeaderFEC_vals), 0,
17615
14
        "AL2HeaderFEC", HFILL }},
17616
14
    { &hf_h245_sebch16_5,
17617
14
      { "sebch16-5", "h245.sebch16_5_element",
17618
14
        FT_NONE, BASE_NONE, NULL, 0,
17619
14
        NULL, HFILL }},
17620
14
    { &hf_h245_headerFormat,
17621
14
      { "headerFormat", "h245.headerFormat",
17622
14
        FT_UINT32, BASE_DEC, VALS(h245_T_headerFormat_vals), 0,
17623
14
        NULL, HFILL }},
17624
14
    { &hf_h245_crlength2,
17625
14
      { "crcLength", "h245.crlength2",
17626
14
        FT_UINT32, BASE_DEC, VALS(h245_AL3CrcLength_vals), 0,
17627
14
        "AL3CrcLength", HFILL }},
17628
14
    { &hf_h245_numberOfRetransmissions,
17629
14
      { "numberOfRetransmissions", "h245.numberOfRetransmissions",
17630
14
        FT_UINT32, BASE_DEC, VALS(h245_T_numberOfRetransmissions_vals), 0,
17631
14
        NULL, HFILL }},
17632
14
    { &hf_h245_finite,
17633
14
      { "finite", "h245.finite",
17634
14
        FT_UINT32, BASE_DEC, NULL, 0,
17635
14
        "INTEGER_0_16", HFILL }},
17636
14
    { &hf_h245_infinite,
17637
14
      { "infinite", "h245.infinite_element",
17638
14
        FT_NONE, BASE_NONE, NULL, 0,
17639
14
        NULL, HFILL }},
17640
14
    { &hf_h245_sendBufferSize,
17641
14
      { "sendBufferSize", "h245.sendBufferSize",
17642
14
        FT_UINT32, BASE_DEC, NULL, 0,
17643
14
        "INTEGER_0_16777215", HFILL }},
17644
14
    { &hf_h245_hdlcParameters,
17645
14
      { "hdlcParameters", "h245.hdlcParameters_element",
17646
14
        FT_NONE, BASE_NONE, NULL, 0,
17647
14
        "V76HDLCParameters", HFILL }},
17648
14
    { &hf_h245_suspendResume,
17649
14
      { "suspendResume", "h245.suspendResume",
17650
14
        FT_UINT32, BASE_DEC, VALS(h245_T_suspendResume_vals), 0,
17651
14
        NULL, HFILL }},
17652
14
    { &hf_h245_noSuspendResume,
17653
14
      { "noSuspendResume", "h245.noSuspendResume_element",
17654
14
        FT_NONE, BASE_NONE, NULL, 0,
17655
14
        NULL, HFILL }},
17656
14
    { &hf_h245_suspendResumewAddress,
17657
14
      { "suspendResumewAddress", "h245.suspendResumewAddress_element",
17658
14
        FT_NONE, BASE_NONE, NULL, 0,
17659
14
        NULL, HFILL }},
17660
14
    { &hf_h245_suspendResumewoAddress,
17661
14
      { "suspendResumewoAddress", "h245.suspendResumewoAddress_element",
17662
14
        FT_NONE, BASE_NONE, NULL, 0,
17663
14
        NULL, HFILL }},
17664
14
    { &hf_h245_uIH,
17665
14
      { "uIH", "h245.uIH",
17666
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17667
14
        "BOOLEAN", HFILL }},
17668
14
    { &hf_h245_v76_mode,
17669
14
      { "mode", "h245.v76_mode",
17670
14
        FT_UINT32, BASE_DEC, VALS(h245_V76LCP_mode_vals), 0,
17671
14
        "V76LCP_mode", HFILL }},
17672
14
    { &hf_h245_eRM,
17673
14
      { "eRM", "h245.eRM_element",
17674
14
        FT_NONE, BASE_NONE, NULL, 0,
17675
14
        NULL, HFILL }},
17676
14
    { &hf_h245_windowSize,
17677
14
      { "windowSize", "h245.windowSize",
17678
14
        FT_UINT32, BASE_DEC, NULL, 0,
17679
14
        "INTEGER_1_127", HFILL }},
17680
14
    { &hf_h245_recovery,
17681
14
      { "recovery", "h245.recovery",
17682
14
        FT_UINT32, BASE_DEC, VALS(h245_T_recovery_vals), 0,
17683
14
        NULL, HFILL }},
17684
14
    { &hf_h245_rej,
17685
14
      { "rej", "h245.rej_element",
17686
14
        FT_NONE, BASE_NONE, NULL, 0,
17687
14
        NULL, HFILL }},
17688
14
    { &hf_h245_sREJ,
17689
14
      { "sREJ", "h245.sREJ_element",
17690
14
        FT_NONE, BASE_NONE, NULL, 0,
17691
14
        NULL, HFILL }},
17692
14
    { &hf_h245_mSREJ,
17693
14
      { "mSREJ", "h245.mSREJ_element",
17694
14
        FT_NONE, BASE_NONE, NULL, 0,
17695
14
        NULL, HFILL }},
17696
14
    { &hf_h245_uNERM,
17697
14
      { "uNERM", "h245.uNERM_element",
17698
14
        FT_NONE, BASE_NONE, NULL, 0,
17699
14
        NULL, HFILL }},
17700
14
    { &hf_h245_v75Parameters,
17701
14
      { "v75Parameters", "h245.v75Parameters_element",
17702
14
        FT_NONE, BASE_NONE, NULL, 0,
17703
14
        NULL, HFILL }},
17704
14
    { &hf_h245_crcLength,
17705
14
      { "crcLength", "h245.crcLength",
17706
14
        FT_UINT32, BASE_DEC, VALS(h245_CRCLength_vals), 0,
17707
14
        NULL, HFILL }},
17708
14
    { &hf_h245_n401,
17709
14
      { "n401", "h245.n401",
17710
14
        FT_UINT32, BASE_DEC, NULL, 0,
17711
14
        "INTEGER_1_4095", HFILL }},
17712
14
    { &hf_h245_loopbackTestProcedure,
17713
14
      { "loopbackTestProcedure", "h245.loopbackTestProcedure",
17714
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17715
14
        "BOOLEAN", HFILL }},
17716
14
    { &hf_h245_sessionID_0_255,
17717
14
      { "sessionID", "h245.sessionID_0_255",
17718
14
        FT_UINT32, BASE_DEC, NULL, 0,
17719
14
        "INTEGER_0_255", HFILL }},
17720
14
    { &hf_h245_associatedSessionID,
17721
14
      { "associatedSessionID", "h245.associatedSessionID",
17722
14
        FT_UINT32, BASE_DEC, NULL, 0,
17723
14
        "INTEGER_1_255", HFILL }},
17724
14
    { &hf_h245_mediaChannel,
17725
14
      { "mediaChannel", "h245.mediaChannel",
17726
14
        FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17727
14
        NULL, HFILL }},
17728
14
    { &hf_h245_mediaGuaranteedDelivery,
17729
14
      { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery",
17730
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17731
14
        "BOOLEAN", HFILL }},
17732
14
    { &hf_h245_mediaControlChannel,
17733
14
      { "mediaControlChannel", "h245.mediaControlChannel",
17734
14
        FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17735
14
        NULL, HFILL }},
17736
14
    { &hf_h245_mediaControlGuaranteedDelivery,
17737
14
      { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery",
17738
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17739
14
        "BOOLEAN", HFILL }},
17740
14
    { &hf_h245_destination,
17741
14
      { "destination", "h245.destination_element",
17742
14
        FT_NONE, BASE_NONE, NULL, 0,
17743
14
        "TerminalLabel", HFILL }},
17744
14
    { &hf_h245_mediaPacketization,
17745
14
      { "mediaPacketization", "h245.mediaPacketization",
17746
14
        FT_UINT32, BASE_DEC, VALS(h245_T_mediaPacketization_vals), 0,
17747
14
        NULL, HFILL }},
17748
14
    { &hf_h245_h261aVideoPacketizationFlag,
17749
14
      { "h261aVideoPacketization", "h245.h261aVideoPacketizationFlag_element",
17750
14
        FT_NONE, BASE_NONE, NULL, 0,
17751
14
        NULL, HFILL }},
17752
14
    { &hf_h245_rtpPayloadType,
17753
14
      { "rtpPayloadType", "h245.rtpPayloadType_element",
17754
14
        FT_NONE, BASE_NONE, NULL, 0,
17755
14
        NULL, HFILL }},
17756
14
    { &hf_h245_source,
17757
14
      { "source", "h245.source_element",
17758
14
        FT_NONE, BASE_NONE, NULL, 0,
17759
14
        "TerminalLabel", HFILL }},
17760
14
    { &hf_h245_payloadDescriptor,
17761
14
      { "payloadDescriptor", "h245.payloadDescriptor",
17762
14
        FT_UINT32, BASE_DEC, VALS(h245_T_payloadDescriptor_vals), 0,
17763
14
        NULL, HFILL }},
17764
14
    { &hf_h245_rfc_number,
17765
14
      { "rfc-number", "h245.rfc_number",
17766
14
        FT_UINT32, BASE_DEC, VALS(h245_RFC_number_vals), 0,
17767
14
        NULL, HFILL }},
17768
14
    { &hf_h245_oid,
17769
14
      { "oid", "h245.oid",
17770
14
        FT_OID, BASE_NONE, NULL, 0,
17771
14
        "OBJECT_IDENTIFIER", HFILL }},
17772
14
    { &hf_h245_rtpPayloadType_01,
17773
14
      { "payloadType", "h245.rtpPayloadType",
17774
14
        FT_UINT32, BASE_DEC, NULL, 0,
17775
14
        "T_rtpPayloadType", HFILL }},
17776
14
    { &hf_h245_secondaryEncoding,
17777
14
      { "secondaryEncoding", "h245.secondaryEncoding",
17778
14
        FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17779
14
        "DataType", HFILL }},
17780
14
    { &hf_h245_rtpRedundancyEncoding,
17781
14
      { "rtpRedundancyEncoding", "h245.rtpRedundancyEncoding_element",
17782
14
        FT_NONE, BASE_NONE, NULL, 0,
17783
14
        NULL, HFILL }},
17784
14
    { &hf_h245_primary,
17785
14
      { "primary", "h245.primary_element",
17786
14
        FT_NONE, BASE_NONE, NULL, 0,
17787
14
        "RedundancyEncodingElement", HFILL }},
17788
14
    { &hf_h245_secondary,
17789
14
      { "secondary", "h245.secondary",
17790
14
        FT_UINT32, BASE_DEC, NULL, 0,
17791
14
        "SEQUENCE_OF_RedundancyEncodingElement", HFILL }},
17792
14
    { &hf_h245_secondary_item,
17793
14
      { "RedundancyEncodingElement", "h245.RedundancyEncodingElement_element",
17794
14
        FT_NONE, BASE_NONE, NULL, 0,
17795
14
        NULL, HFILL }},
17796
14
    { &hf_h245_payloadType,
17797
14
      { "payloadType", "h245.payloadType",
17798
14
        FT_UINT32, BASE_DEC, NULL, 0,
17799
14
        "INTEGER_0_127", HFILL }},
17800
14
    { &hf_h245_elements,
17801
14
      { "elements", "h245.elements",
17802
14
        FT_UINT32, BASE_DEC, NULL, 0,
17803
14
        "SEQUENCE_OF_MultiplePayloadStreamElement", HFILL }},
17804
14
    { &hf_h245_elements_item,
17805
14
      { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement_element",
17806
14
        FT_NONE, BASE_NONE, NULL, 0,
17807
14
        NULL, HFILL }},
17808
14
    { &hf_h245_dep_rfc2733,
17809
14
      { "rfc2733", "h245.dep_rfc2733_element",
17810
14
        FT_NONE, BASE_NONE, NULL, 0,
17811
14
        "RFC2733Data", HFILL }},
17812
14
    { &hf_h245_fec_data_mode,
17813
14
      { "mode", "h245.fec_data_mode",
17814
14
        FT_UINT32, BASE_DEC, VALS(h245_FECdata_mode_vals), 0,
17815
14
        "FECdata_mode", HFILL }},
17816
14
    { &hf_h245_redundancyEncodingFlag,
17817
14
      { "redundancyEncoding", "h245.redundancyEncodingFlag_element",
17818
14
        FT_NONE, BASE_NONE, NULL, 0,
17819
14
        NULL, HFILL }},
17820
14
    { &hf_h245_differentPort,
17821
14
      { "differentPort", "h245.differentPort_element",
17822
14
        FT_NONE, BASE_NONE, NULL, 0,
17823
14
        NULL, HFILL }},
17824
14
    { &hf_h245_protectedSessionID,
17825
14
      { "protectedSessionID", "h245.protectedSessionID",
17826
14
        FT_UINT32, BASE_DEC, NULL, 0,
17827
14
        "INTEGER_1_255", HFILL }},
17828
14
    { &hf_h245_protectedPayloadType,
17829
14
      { "protectedPayloadType", "h245.protectedPayloadType",
17830
14
        FT_UINT32, BASE_DEC, NULL, 0,
17831
14
        "INTEGER_0_127", HFILL }},
17832
14
    { &hf_h245_samePort,
17833
14
      { "samePort", "h245.samePort_element",
17834
14
        FT_NONE, BASE_NONE, NULL, 0,
17835
14
        NULL, HFILL }},
17836
14
    { &hf_h245_separateStream,
17837
14
      { "separateStream", "h245.separateStream",
17838
14
        FT_UINT32, BASE_DEC, VALS(h245_DepSeparateStream_vals), 0,
17839
14
        "DepSeparateStream", HFILL }},
17840
14
    { &hf_h245_rfc2733,
17841
14
      { "rfc2733", "h245.rfc2733_element",
17842
14
        FT_NONE, BASE_NONE, NULL, 0,
17843
14
        NULL, HFILL }},
17844
14
    { &hf_h245_pktMode,
17845
14
      { "pktMode", "h245.pktMode",
17846
14
        FT_UINT32, BASE_DEC, VALS(h245_T_pktMode_vals), 0,
17847
14
        NULL, HFILL }},
17848
14
    { &hf_h245_rfc2198coding,
17849
14
      { "rfc2198coding", "h245.rfc2198coding_element",
17850
14
        FT_NONE, BASE_NONE, NULL, 0,
17851
14
        NULL, HFILL }},
17852
14
    { &hf_h245_mode_rfc2733sameport,
17853
14
      { "rfc2733sameport", "h245.mode_rfc2733sameport_element",
17854
14
        FT_NONE, BASE_NONE, NULL, 0,
17855
14
        "T_mode_rfc2733sameport", HFILL }},
17856
14
    { &hf_h245_mode_rfc2733diffport,
17857
14
      { "rfc2733diffport", "h245.mode_rfc2733diffport_element",
17858
14
        FT_NONE, BASE_NONE, NULL, 0,
17859
14
        "T_mode_rfc2733diffport", HFILL }},
17860
14
    { &hf_h245_protectedChannel,
17861
14
      { "protectedChannel", "h245.protectedChannel",
17862
14
        FT_UINT32, BASE_DEC, NULL, 0,
17863
14
        "LogicalChannelNumber", HFILL }},
17864
14
    { &hf_h245_unicastAddress,
17865
14
      { "unicastAddress", "h245.unicastAddress",
17866
14
        FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0,
17867
14
        NULL, HFILL }},
17868
14
    { &hf_h245_multicastAddress,
17869
14
      { "multicastAddress", "h245.multicastAddress",
17870
14
        FT_UINT32, BASE_DEC, VALS(h245_MulticastAddress_vals), 0,
17871
14
        NULL, HFILL }},
17872
14
    { &hf_h245_iPAddress,
17873
14
      { "iPAddress", "h245.iPAddress_element",
17874
14
        FT_NONE, BASE_NONE, NULL, 0,
17875
14
        NULL, HFILL }},
17876
14
    { &hf_h245_ip4_network,
17877
14
      { "network", "h245.ip4_network",
17878
14
        FT_IPv4, BASE_NONE, NULL, 0,
17879
14
        "Ipv4_network", HFILL }},
17880
14
    { &hf_h245_tsapIdentifier,
17881
14
      { "tsapIdentifier", "h245.tsapIdentifier",
17882
14
        FT_UINT32, BASE_DEC, NULL, 0,
17883
14
        NULL, HFILL }},
17884
14
    { &hf_h245_iPXAddress,
17885
14
      { "iPXAddress", "h245.iPXAddress_element",
17886
14
        FT_NONE, BASE_NONE, NULL, 0,
17887
14
        NULL, HFILL }},
17888
14
    { &hf_h245_node,
17889
14
      { "node", "h245.node",
17890
14
        FT_BYTES, BASE_NONE, NULL, 0,
17891
14
        "OCTET_STRING_SIZE_6", HFILL }},
17892
14
    { &hf_h245_netnum,
17893
14
      { "netnum", "h245.netnum",
17894
14
        FT_BYTES, BASE_NONE, NULL, 0,
17895
14
        "OCTET_STRING_SIZE_4", HFILL }},
17896
14
    { &hf_h245_ipx_tsapIdentifier,
17897
14
      { "tsapIdentifier", "h245.ipx.tsapIdentifier",
17898
14
        FT_BYTES, BASE_NONE, NULL, 0,
17899
14
        "OCTET_STRING_SIZE_2", HFILL }},
17900
14
    { &hf_h245_iP6Address,
17901
14
      { "iP6Address", "h245.iP6Address_element",
17902
14
        FT_NONE, BASE_NONE, NULL, 0,
17903
14
        NULL, HFILL }},
17904
14
    { &hf_h245_ip6_network,
17905
14
      { "network", "h245.ip6_network",
17906
14
        FT_IPv6, BASE_NONE, NULL, 0,
17907
14
        "T_ip6_network", HFILL }},
17908
14
    { &hf_h245_ipv6_tsapIdentifier,
17909
14
      { "tsapIdentifier", "h245.ipv6.tsapIdentifier",
17910
14
        FT_UINT32, BASE_DEC, NULL, 0,
17911
14
        "T_ipv6_tsapIdentifier", HFILL }},
17912
14
    { &hf_h245_netBios,
17913
14
      { "netBios", "h245.netBios",
17914
14
        FT_BYTES, BASE_NONE, NULL, 0,
17915
14
        "OCTET_STRING_SIZE_16", HFILL }},
17916
14
    { &hf_h245_iPSourceRouteAddress,
17917
14
      { "iPSourceRouteAddress", "h245.iPSourceRouteAddress_element",
17918
14
        FT_NONE, BASE_NONE, NULL, 0,
17919
14
        NULL, HFILL }},
17920
14
    { &hf_h245_routing,
17921
14
      { "routing", "h245.routing",
17922
14
        FT_UINT32, BASE_DEC, VALS(h245_T_routing_vals), 0,
17923
14
        NULL, HFILL }},
17924
14
    { &hf_h245_strict,
17925
14
      { "strict", "h245.strict_element",
17926
14
        FT_NONE, BASE_NONE, NULL, 0,
17927
14
        NULL, HFILL }},
17928
14
    { &hf_h245_loose,
17929
14
      { "loose", "h245.loose_element",
17930
14
        FT_NONE, BASE_NONE, NULL, 0,
17931
14
        NULL, HFILL }},
17932
14
    { &hf_h245_network,
17933
14
      { "network", "h245.network",
17934
14
        FT_BYTES, BASE_NONE, NULL, 0,
17935
14
        "OCTET_STRING_SIZE_4", HFILL }},
17936
14
    { &hf_h245_iPSrcRoute_tsapIdentifier,
17937
14
      { "tsapIdentifier", "h245.iPSrcRoute.tsapIdentifier",
17938
14
        FT_UINT32, BASE_DEC, NULL, 0,
17939
14
        "INTEGER_0_65535", HFILL }},
17940
14
    { &hf_h245_route,
17941
14
      { "route", "h245.route",
17942
14
        FT_UINT32, BASE_DEC, NULL, 0,
17943
14
        NULL, HFILL }},
17944
14
    { &hf_h245_route_item,
17945
14
      { "route item", "h245.route_item",
17946
14
        FT_BYTES, BASE_NONE, NULL, 0,
17947
14
        "OCTET_STRING_SIZE_4", HFILL }},
17948
14
    { &hf_h245_nsap,
17949
14
      { "nsap", "h245.nsap",
17950
14
        FT_BYTES, BASE_NONE, NULL, 0,
17951
14
        "OCTET_STRING_SIZE_1_20", HFILL }},
17952
14
    { &hf_h245_nonStandardAddress,
17953
14
      { "nonStandardAddress", "h245.nonStandardAddress_element",
17954
14
        FT_NONE, BASE_NONE, NULL, 0,
17955
14
        "NonStandardParameter", HFILL }},
17956
14
    { &hf_h245_mIPAddress,
17957
14
      { "iPAddress", "h245.mIPAddress_element",
17958
14
        FT_NONE, BASE_NONE, NULL, 0,
17959
14
        "MIPAddress", HFILL }},
17960
14
    { &hf_h245_mip4_network,
17961
14
      { "network", "h245.mip4_network",
17962
14
        FT_IPv4, BASE_NONE, NULL, 0,
17963
14
        "OCTET_STRING_SIZE_4", HFILL }},
17964
14
    { &hf_h245_multicast_tsapIdentifier,
17965
14
      { "tsapIdentifier", "h245.multicast.tsapIdentifier",
17966
14
        FT_UINT32, BASE_DEC, NULL, 0,
17967
14
        "INTEGER_0_65535", HFILL }},
17968
14
    { &hf_h245_mIP6Address,
17969
14
      { "iP6Address", "h245.mIP6Address_element",
17970
14
        FT_NONE, BASE_NONE, NULL, 0,
17971
14
        "MIP6Address", HFILL }},
17972
14
    { &hf_h245_mip6_network,
17973
14
      { "network", "h245.mip6_network",
17974
14
        FT_IPv6, BASE_NONE, NULL, 0,
17975
14
        "OCTET_STRING_SIZE_16", HFILL }},
17976
14
    { &hf_h245_multicast_IPv6_tsapIdentifier,
17977
14
      { "tsapIdentifier", "h245.multicast_IPv6.tsapIdentifier",
17978
14
        FT_UINT32, BASE_DEC, NULL, 0,
17979
14
        "INTEGER_0_65535", HFILL }},
17980
14
    { &hf_h245_synchFlag,
17981
14
      { "synchFlag", "h245.synchFlag",
17982
14
        FT_UINT32, BASE_DEC, NULL, 0,
17983
14
        "INTEGER_0_255", HFILL }},
17984
14
    { &hf_h245_h235Key,
17985
14
      { "h235Key", "h245.h235Key",
17986
14
        FT_BYTES, BASE_NONE, NULL, 0,
17987
14
        "OCTET_STRING_SIZE_1_65535", HFILL }},
17988
14
    { &hf_h245_escrowentry,
17989
14
      { "escrowentry", "h245.escrowentry",
17990
14
        FT_UINT32, BASE_DEC, NULL, 0,
17991
14
        "SEQUENCE_SIZE_1_256_OF_EscrowData", HFILL }},
17992
14
    { &hf_h245_escrowentry_item,
17993
14
      { "EscrowData", "h245.EscrowData_element",
17994
14
        FT_NONE, BASE_NONE, NULL, 0,
17995
14
        NULL, HFILL }},
17996
14
    { &hf_h245_genericParameter,
17997
14
      { "genericParameter", "h245.genericParameter_element",
17998
14
        FT_NONE, BASE_NONE, NULL, 0,
17999
14
        NULL, HFILL }},
18000
14
    { &hf_h245_escrowID,
18001
14
      { "escrowID", "h245.escrowID",
18002
14
        FT_OID, BASE_NONE, NULL, 0,
18003
14
        "OBJECT_IDENTIFIER", HFILL }},
18004
14
    { &hf_h245_escrowValue,
18005
14
      { "escrowValue", "h245.escrowValue",
18006
14
        FT_BYTES, BASE_NONE, NULL, 0,
18007
14
        "BIT_STRING_SIZE_1_65535", HFILL }},
18008
14
    { &hf_h245_olc_ack_fw_lcn,
18009
14
      { "forwardLogicalChannelNumber", "h245.olc_ack_fw_lcn",
18010
14
        FT_UINT32, BASE_DEC, NULL, 0,
18011
14
        "OLC_ack_fw_lcn", HFILL }},
18012
14
    { &hf_h245_olc_ack_reverseLogicalChannelParameters,
18013
14
      { "reverseLogicalChannelParameters", "h245.olc_ack_reverseLogicalChannelParameters_element",
18014
14
        FT_NONE, BASE_NONE, NULL, 0,
18015
14
        "OLC_ack_reverseLogicalChannelParameters", HFILL }},
18016
14
    { &hf_h245_reverseLogicalChannelNumber,
18017
14
      { "reverseLogicalChannelNumber", "h245.reverseLogicalChannelNumber",
18018
14
        FT_UINT32, BASE_DEC, NULL, 0,
18019
14
        NULL, HFILL }},
18020
14
    { &hf_h245_olc_ack_multiplexParameters,
18021
14
      { "multiplexParameters", "h245.olc_ack_multiplexParameters",
18022
14
        FT_UINT32, BASE_DEC, VALS(h245_T_olc_ack_multiplexParameters_vals), 0,
18023
14
        "T_olc_ack_multiplexParameters", HFILL }},
18024
14
    { &hf_h245_forwardMultiplexAckParameters,
18025
14
      { "forwardMultiplexAckParameters", "h245.forwardMultiplexAckParameters",
18026
14
        FT_UINT32, BASE_DEC, VALS(h245_T_forwardMultiplexAckParameters_vals), 0,
18027
14
        NULL, HFILL }},
18028
14
    { &hf_h245_h2250LogicalChannelAckParameters,
18029
14
      { "h2250LogicalChannelAckParameters", "h245.h2250LogicalChannelAckParameters_element",
18030
14
        FT_NONE, BASE_NONE, NULL, 0,
18031
14
        NULL, HFILL }},
18032
14
    { &hf_h245_forwardLogicalChannelNumber,
18033
14
      { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18034
14
        FT_UINT32, BASE_DEC, NULL, 0,
18035
14
        "LogicalChannelNumber", HFILL }},
18036
14
    { &hf_h245_olc_rej_cause,
18037
14
      { "cause", "h245.olc_rej_cause",
18038
14
        FT_UINT32, BASE_DEC, VALS(h245_OpenLogicalChannelRejectCause_vals), 0,
18039
14
        "OpenLogicalChannelRejectCause", HFILL }},
18040
14
    { &hf_h245_unsuitableReverseParameters,
18041
14
      { "unsuitableReverseParameters", "h245.unsuitableReverseParameters_element",
18042
14
        FT_NONE, BASE_NONE, NULL, 0,
18043
14
        NULL, HFILL }},
18044
14
    { &hf_h245_dataTypeNotSupported,
18045
14
      { "dataTypeNotSupported", "h245.dataTypeNotSupported_element",
18046
14
        FT_NONE, BASE_NONE, NULL, 0,
18047
14
        NULL, HFILL }},
18048
14
    { &hf_h245_dataTypeNotAvailable,
18049
14
      { "dataTypeNotAvailable", "h245.dataTypeNotAvailable_element",
18050
14
        FT_NONE, BASE_NONE, NULL, 0,
18051
14
        NULL, HFILL }},
18052
14
    { &hf_h245_unknownDataType,
18053
14
      { "unknownDataType", "h245.unknownDataType_element",
18054
14
        FT_NONE, BASE_NONE, NULL, 0,
18055
14
        NULL, HFILL }},
18056
14
    { &hf_h245_dataTypeALCombinationNotSupported,
18057
14
      { "dataTypeALCombinationNotSupported", "h245.dataTypeALCombinationNotSupported_element",
18058
14
        FT_NONE, BASE_NONE, NULL, 0,
18059
14
        NULL, HFILL }},
18060
14
    { &hf_h245_multicastChannelNotAllowed,
18061
14
      { "multicastChannelNotAllowed", "h245.multicastChannelNotAllowed_element",
18062
14
        FT_NONE, BASE_NONE, NULL, 0,
18063
14
        NULL, HFILL }},
18064
14
    { &hf_h245_insufficientBandwidth,
18065
14
      { "insufficientBandwidth", "h245.insufficientBandwidth_element",
18066
14
        FT_NONE, BASE_NONE, NULL, 0,
18067
14
        NULL, HFILL }},
18068
14
    { &hf_h245_separateStackEstablishmentFailed,
18069
14
      { "separateStackEstablishmentFailed", "h245.separateStackEstablishmentFailed_element",
18070
14
        FT_NONE, BASE_NONE, NULL, 0,
18071
14
        NULL, HFILL }},
18072
14
    { &hf_h245_invalidSessionID,
18073
14
      { "invalidSessionID", "h245.invalidSessionID_element",
18074
14
        FT_NONE, BASE_NONE, NULL, 0,
18075
14
        NULL, HFILL }},
18076
14
    { &hf_h245_masterSlaveConflict,
18077
14
      { "masterSlaveConflict", "h245.masterSlaveConflict_element",
18078
14
        FT_NONE, BASE_NONE, NULL, 0,
18079
14
        NULL, HFILL }},
18080
14
    { &hf_h245_waitForCommunicationMode,
18081
14
      { "waitForCommunicationMode", "h245.waitForCommunicationMode_element",
18082
14
        FT_NONE, BASE_NONE, NULL, 0,
18083
14
        NULL, HFILL }},
18084
14
    { &hf_h245_invalidDependentChannel,
18085
14
      { "invalidDependentChannel", "h245.invalidDependentChannel_element",
18086
14
        FT_NONE, BASE_NONE, NULL, 0,
18087
14
        NULL, HFILL }},
18088
14
    { &hf_h245_replacementForRejected,
18089
14
      { "replacementForRejected", "h245.replacementForRejected_element",
18090
14
        FT_NONE, BASE_NONE, NULL, 0,
18091
14
        NULL, HFILL }},
18092
14
    { &hf_h245_securityDenied,
18093
14
      { "securityDenied", "h245.securityDenied_element",
18094
14
        FT_NONE, BASE_NONE, NULL, 0,
18095
14
        NULL, HFILL }},
18096
14
    { &hf_h245_qoSControlNotSupported,
18097
14
      { "qoSControlNotSupported", "h245.qoSControlNotSupported_element",
18098
14
        FT_NONE, BASE_NONE, NULL, 0,
18099
14
        NULL, HFILL }},
18100
14
    { &hf_h245_sessionID,
18101
14
      { "sessionID", "h245.sessionID",
18102
14
        FT_UINT32, BASE_DEC, NULL, 0,
18103
14
        "INTEGER_1_255", HFILL }},
18104
14
    { &hf_h245_ack_mediaChannel,
18105
14
      { "mediaChannel", "h245.ack_mediaChannel",
18106
14
        FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18107
14
        "Ack_mediaChannel", HFILL }},
18108
14
    { &hf_h245_ack_mediaControlChannel,
18109
14
      { "mediaControlChannel", "h245.ack_mediaControlChannel",
18110
14
        FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18111
14
        "Ack_mediaControlChannel", HFILL }},
18112
14
    { &hf_h245_flowControlToZero,
18113
14
      { "flowControlToZero", "h245.flowControlToZero",
18114
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
18115
14
        "BOOLEAN", HFILL }},
18116
14
    { &hf_h245_cLC_source,
18117
14
      { "source", "h245.cLC_source",
18118
14
        FT_UINT32, BASE_DEC, VALS(h245_T_cLC_source_vals), 0,
18119
14
        "T_cLC_source", HFILL }},
18120
14
    { &hf_h245_user,
18121
14
      { "user", "h245.user_element",
18122
14
        FT_NONE, BASE_NONE, NULL, 0,
18123
14
        NULL, HFILL }},
18124
14
    { &hf_h245_lcse,
18125
14
      { "lcse", "h245.lcse_element",
18126
14
        FT_NONE, BASE_NONE, NULL, 0,
18127
14
        NULL, HFILL }},
18128
14
    { &hf_h245_clc_reason,
18129
14
      { "reason", "h245.clc_reason",
18130
14
        FT_UINT32, BASE_DEC, VALS(h245_Clc_reason_vals), 0,
18131
14
        "Clc_reason", HFILL }},
18132
14
    { &hf_h245_unknown,
18133
14
      { "unknown", "h245.unknown_element",
18134
14
        FT_NONE, BASE_NONE, NULL, 0,
18135
14
        NULL, HFILL }},
18136
14
    { &hf_h245_reopen,
18137
14
      { "reopen", "h245.reopen_element",
18138
14
        FT_NONE, BASE_NONE, NULL, 0,
18139
14
        NULL, HFILL }},
18140
14
    { &hf_h245_reservationFailure,
18141
14
      { "reservationFailure", "h245.reservationFailure_element",
18142
14
        FT_NONE, BASE_NONE, NULL, 0,
18143
14
        NULL, HFILL }},
18144
14
    { &hf_h245_networkErrorCode,
18145
14
      { "networkErrorCode", "h245.networkErrorCode",
18146
14
        FT_UINT32, BASE_DEC, NULL, 0,
18147
14
        "INTEGER_0_255", HFILL }},
18148
14
    { &hf_h245_qosCapability,
18149
14
      { "qosCapability", "h245.qosCapability_element",
18150
14
        FT_NONE, BASE_NONE, NULL, 0,
18151
14
        NULL, HFILL }},
18152
14
    { &hf_h245_reason,
18153
14
      { "reason", "h245.reason",
18154
14
        FT_UINT32, BASE_DEC, VALS(h245_T_reason_vals), 0,
18155
14
        NULL, HFILL }},
18156
14
    { &hf_h245_normal,
18157
14
      { "normal", "h245.normal_element",
18158
14
        FT_NONE, BASE_NONE, NULL, 0,
18159
14
        NULL, HFILL }},
18160
14
    { &hf_h245_req_chan_clos_rej_cause,
18161
14
      { "cause", "h245.req_chan_clos_rej_cause",
18162
14
        FT_UINT32, BASE_DEC, VALS(h245_RequestChannelCloseRejectCause_vals), 0,
18163
14
        "RequestChannelCloseRejectCause", HFILL }},
18164
14
    { &hf_h245_multiplexEntryDescriptors,
18165
14
      { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors",
18166
14
        FT_UINT32, BASE_DEC, NULL, 0,
18167
14
        "SET_SIZE_1_15_OF_MultiplexEntryDescriptor", HFILL }},
18168
14
    { &hf_h245_multiplexEntryDescriptors_item,
18169
14
      { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor_element",
18170
14
        FT_NONE, BASE_NONE, NULL, 0,
18171
14
        NULL, HFILL }},
18172
14
    { &hf_h245_multiplexTableEntryNumber,
18173
14
      { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18174
14
        FT_UINT32, BASE_DEC, NULL, 0,
18175
14
        NULL, HFILL }},
18176
14
    { &hf_h245_elementList,
18177
14
      { "elementList", "h245.elementList",
18178
14
        FT_UINT32, BASE_DEC, NULL, 0,
18179
14
        NULL, HFILL }},
18180
14
    { &hf_h245_elementList_item,
18181
14
      { "MultiplexElement", "h245.MultiplexElement_element",
18182
14
        FT_NONE, BASE_NONE, NULL, 0,
18183
14
        NULL, HFILL }},
18184
14
    { &hf_h245_me_type,
18185
14
      { "type", "h245.me_type",
18186
14
        FT_UINT32, BASE_DEC, VALS(h245_Me_type_vals), 0,
18187
14
        "Me_type", HFILL }},
18188
14
    { &hf_h245_logicalChannelNum,
18189
14
      { "logicalChannelNumber", "h245.logicalChannelNum",
18190
14
        FT_UINT32, BASE_DEC, NULL, 0,
18191
14
        "T_logicalChannelNum", HFILL }},
18192
14
    { &hf_h245_subElementList,
18193
14
      { "subElementList", "h245.subElementList",
18194
14
        FT_UINT32, BASE_DEC, NULL, 0,
18195
14
        NULL, HFILL }},
18196
14
    { &hf_h245_subElementList_item,
18197
14
      { "MultiplexElement", "h245.MultiplexElement_element",
18198
14
        FT_NONE, BASE_NONE, NULL, 0,
18199
14
        NULL, HFILL }},
18200
14
    { &hf_h245_me_repeatCount,
18201
14
      { "repeatCount", "h245.me_repeatCount",
18202
14
        FT_UINT32, BASE_DEC, VALS(h245_ME_repeatCount_vals), 0,
18203
14
        "ME_repeatCount", HFILL }},
18204
14
    { &hf_h245_me_repeatCount_finite,
18205
14
      { "finite", "h245.me_repeatCount_finite",
18206
14
        FT_UINT32, BASE_DEC, NULL, 0,
18207
14
        "ME_finiteRepeatCount", HFILL }},
18208
14
    { &hf_h245_untilClosingFlag,
18209
14
      { "untilClosingFlag", "h245.untilClosingFlag_element",
18210
14
        FT_NONE, BASE_NONE, NULL, 0,
18211
14
        NULL, HFILL }},
18212
14
    { &hf_h245_multiplexTableEntryNumbers,
18213
14
      { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumbers",
18214
14
        FT_UINT32, BASE_DEC, NULL, 0,
18215
14
        "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18216
14
    { &hf_h245_multiplexTableEntryNumbers_item,
18217
14
      { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18218
14
        FT_UINT32, BASE_DEC, NULL, 0,
18219
14
        NULL, HFILL }},
18220
14
    { &hf_h245_sendRejectionDescriptions,
18221
14
      { "rejectionDescriptions", "h245.sendRejectionDescriptions",
18222
14
        FT_UINT32, BASE_DEC, NULL, 0,
18223
14
        "SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions", HFILL }},
18224
14
    { &hf_h245_sendRejectionDescriptions_item,
18225
14
      { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions_element",
18226
14
        FT_NONE, BASE_NONE, NULL, 0,
18227
14
        NULL, HFILL }},
18228
14
    { &hf_h245_mux_rej_cause,
18229
14
      { "cause", "h245.mux_rej_cause",
18230
14
        FT_UINT32, BASE_DEC, VALS(h245_MultiplexEntryRejectionDescriptionsCause_vals), 0,
18231
14
        "MultiplexEntryRejectionDescriptionsCause", HFILL }},
18232
14
    { &hf_h245_unspecifiedCause,
18233
14
      { "unspecifiedCause", "h245.unspecifiedCause_element",
18234
14
        FT_NONE, BASE_NONE, NULL, 0,
18235
14
        NULL, HFILL }},
18236
14
    { &hf_h245_descriptorTooComplex,
18237
14
      { "descriptorTooComplex", "h245.descriptorTooComplex_element",
18238
14
        FT_NONE, BASE_NONE, NULL, 0,
18239
14
        NULL, HFILL }},
18240
14
    { &hf_h245_entryNumbers,
18241
14
      { "entryNumbers", "h245.entryNumbers",
18242
14
        FT_UINT32, BASE_DEC, NULL, 0,
18243
14
        "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18244
14
    { &hf_h245_entryNumbers_item,
18245
14
      { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18246
14
        FT_UINT32, BASE_DEC, NULL, 0,
18247
14
        NULL, HFILL }},
18248
14
    { &hf_h245_rejectionDescriptions,
18249
14
      { "rejectionDescriptions", "h245.rejectionDescriptions",
18250
14
        FT_UINT32, BASE_DEC, NULL, 0,
18251
14
        "SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions", HFILL }},
18252
14
    { &hf_h245_rejectionDescriptions_item,
18253
14
      { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions_element",
18254
14
        FT_NONE, BASE_NONE, NULL, 0,
18255
14
        NULL, HFILL }},
18256
14
    { &hf_h245_req_mux_rej_cause,
18257
14
      { "cause", "h245.req_mux_rej_cause",
18258
14
        FT_UINT32, BASE_DEC, VALS(h245_RequestMultiplexEntryRejectionDescriptionsCause_vals), 0,
18259
14
        "RequestMultiplexEntryRejectionDescriptionsCause", HFILL }},
18260
14
    { &hf_h245_requestedModes,
18261
14
      { "requestedModes", "h245.requestedModes",
18262
14
        FT_UINT32, BASE_DEC, NULL, 0,
18263
14
        "SEQUENCE_SIZE_1_256_OF_ModeDescription", HFILL }},
18264
14
    { &hf_h245_requestedModes_item,
18265
14
      { "ModeDescription", "h245.ModeDescription",
18266
14
        FT_UINT32, BASE_DEC, NULL, 0,
18267
14
        NULL, HFILL }},
18268
14
    { &hf_h245_req_mode_ack_response,
18269
14
      { "response", "h245.req_mode_ack_response",
18270
14
        FT_UINT32, BASE_DEC, VALS(h245_Req_mode_ack_response_vals), 0,
18271
14
        "Req_mode_ack_response", HFILL }},
18272
14
    { &hf_h245_willTransmitMostPreferredMode,
18273
14
      { "willTransmitMostPreferredMode", "h245.willTransmitMostPreferredMode_element",
18274
14
        FT_NONE, BASE_NONE, NULL, 0,
18275
14
        NULL, HFILL }},
18276
14
    { &hf_h245_willTransmitLessPreferredMode,
18277
14
      { "willTransmitLessPreferredMode", "h245.willTransmitLessPreferredMode_element",
18278
14
        FT_NONE, BASE_NONE, NULL, 0,
18279
14
        NULL, HFILL }},
18280
14
    { &hf_h245_req_rej_cause,
18281
14
      { "cause", "h245.req_rej_cause",
18282
14
        FT_UINT32, BASE_DEC, VALS(h245_RequestModeRejectCause_vals), 0,
18283
14
        "RequestModeRejectCause", HFILL }},
18284
14
    { &hf_h245_modeUnavailable,
18285
14
      { "modeUnavailable", "h245.modeUnavailable_element",
18286
14
        FT_NONE, BASE_NONE, NULL, 0,
18287
14
        NULL, HFILL }},
18288
14
    { &hf_h245_multipointConstraint,
18289
14
      { "multipointConstraint", "h245.multipointConstraint_element",
18290
14
        FT_NONE, BASE_NONE, NULL, 0,
18291
14
        NULL, HFILL }},
18292
14
    { &hf_h245_requestDenied,
18293
14
      { "requestDenied", "h245.requestDenied_element",
18294
14
        FT_NONE, BASE_NONE, NULL, 0,
18295
14
        NULL, HFILL }},
18296
14
    { &hf_h245_ModeDescription_item,
18297
14
      { "ModeElement", "h245.ModeElement_element",
18298
14
        FT_NONE, BASE_NONE, NULL, 0,
18299
14
        NULL, HFILL }},
18300
14
    { &hf_h245_videoMode,
18301
14
      { "videoMode", "h245.videoMode",
18302
14
        FT_UINT32, BASE_DEC, VALS(h245_VideoMode_vals), 0,
18303
14
        NULL, HFILL }},
18304
14
    { &hf_h245_audioMode,
18305
14
      { "audioMode", "h245.audioMode",
18306
14
        FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18307
14
        NULL, HFILL }},
18308
14
    { &hf_h245_dataMode,
18309
14
      { "dataMode", "h245.dataMode_element",
18310
14
        FT_NONE, BASE_NONE, NULL, 0,
18311
14
        NULL, HFILL }},
18312
14
    { &hf_h245_encryptionMode,
18313
14
      { "encryptionMode", "h245.encryptionMode",
18314
14
        FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
18315
14
        NULL, HFILL }},
18316
14
    { &hf_h245_h235Mode,
18317
14
      { "h235Mode", "h245.h235Mode_element",
18318
14
        FT_NONE, BASE_NONE, NULL, 0,
18319
14
        NULL, HFILL }},
18320
14
    { &hf_h245_multiplexedStreamMode,
18321
14
      { "multiplexedStreamMode", "h245.multiplexedStreamMode_element",
18322
14
        FT_NONE, BASE_NONE, NULL, 0,
18323
14
        "MultiplexedStreamParameter", HFILL }},
18324
14
    { &hf_h245_redundancyEncodingDTMode,
18325
14
      { "redundancyEncodingDTMode", "h245.redundancyEncodingDTMode_element",
18326
14
        FT_NONE, BASE_NONE, NULL, 0,
18327
14
        NULL, HFILL }},
18328
14
    { &hf_h245_multiplePayloadStreamMode,
18329
14
      { "multiplePayloadStreamMode", "h245.multiplePayloadStreamMode_element",
18330
14
        FT_NONE, BASE_NONE, NULL, 0,
18331
14
        NULL, HFILL }},
18332
14
    { &hf_h245_depFecMode,
18333
14
      { "depFecMode", "h245.depFecMode",
18334
14
        FT_UINT32, BASE_DEC, VALS(h245_DepFECMode_vals), 0,
18335
14
        NULL, HFILL }},
18336
14
    { &hf_h245_fecMode,
18337
14
      { "fecMode", "h245.fecMode_element",
18338
14
        FT_NONE, BASE_NONE, NULL, 0,
18339
14
        NULL, HFILL }},
18340
14
    { &hf_h245_type,
18341
14
      { "type", "h245.type",
18342
14
        FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18343
14
        "ModeElementType", HFILL }},
18344
14
    { &hf_h245_h223ModeParameters,
18345
14
      { "h223ModeParameters", "h245.h223ModeParameters_element",
18346
14
        FT_NONE, BASE_NONE, NULL, 0,
18347
14
        NULL, HFILL }},
18348
14
    { &hf_h245_v76ModeParameters,
18349
14
      { "v76ModeParameters", "h245.v76ModeParameters",
18350
14
        FT_UINT32, BASE_DEC, VALS(h245_V76ModeParameters_vals), 0,
18351
14
        NULL, HFILL }},
18352
14
    { &hf_h245_h2250ModeParameters,
18353
14
      { "h2250ModeParameters", "h245.h2250ModeParameters_element",
18354
14
        FT_NONE, BASE_NONE, NULL, 0,
18355
14
        NULL, HFILL }},
18356
14
    { &hf_h245_genericModeParameters,
18357
14
      { "genericModeParameters", "h245.genericModeParameters_element",
18358
14
        FT_NONE, BASE_NONE, NULL, 0,
18359
14
        "GenericCapability", HFILL }},
18360
14
    { &hf_h245_multiplexedStreamModeParameters,
18361
14
      { "multiplexedStreamModeParameters", "h245.multiplexedStreamModeParameters_element",
18362
14
        FT_NONE, BASE_NONE, NULL, 0,
18363
14
        NULL, HFILL }},
18364
14
    { &hf_h245_logicalChannelNumber,
18365
14
      { "logicalChannelNumber", "h245.logicalChannelNumber",
18366
14
        FT_UINT32, BASE_DEC, NULL, 0,
18367
14
        NULL, HFILL }},
18368
14
    { &hf_h245_mediaMode,
18369
14
      { "mediaMode", "h245.mediaMode",
18370
14
        FT_UINT32, BASE_DEC, VALS(h245_T_mediaMode_vals), 0,
18371
14
        NULL, HFILL }},
18372
14
    { &hf_h245_prmary_dtmode,
18373
14
      { "primary", "h245.prmary_dtmode_element",
18374
14
        FT_NONE, BASE_NONE, NULL, 0,
18375
14
        "RedundancyEncodingDTModeElement", HFILL }},
18376
14
    { &hf_h245_secondaryDTM,
18377
14
      { "secondary", "h245.secondaryDTM",
18378
14
        FT_UINT32, BASE_DEC, NULL, 0,
18379
14
        "SEQUENCE_OF_RedundancyEncodingDTModeElement", HFILL }},
18380
14
    { &hf_h245_secondaryDTM_item,
18381
14
      { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement_element",
18382
14
        FT_NONE, BASE_NONE, NULL, 0,
18383
14
        NULL, HFILL }},
18384
14
    { &hf_h245_re_type,
18385
14
      { "type", "h245.re_type",
18386
14
        FT_UINT32, BASE_DEC, VALS(h245_Re_type_vals), 0,
18387
14
        "Re_type", HFILL }},
18388
14
    { &hf_h245_mpsmElements,
18389
14
      { "elements", "h245.mpsmElements",
18390
14
        FT_UINT32, BASE_DEC, NULL, 0,
18391
14
        "SEQUENCE_OF_MultiplePayloadStreamElementMode", HFILL }},
18392
14
    { &hf_h245_mpsmElements_item,
18393
14
      { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode_element",
18394
14
        FT_NONE, BASE_NONE, NULL, 0,
18395
14
        NULL, HFILL }},
18396
14
    { &hf_h245_rfc2733Mode,
18397
14
      { "rfc2733Mode", "h245.rfc2733Mode_element",
18398
14
        FT_NONE, BASE_NONE, NULL, 0,
18399
14
        NULL, HFILL }},
18400
14
    { &hf_h245_fec_mode,
18401
14
      { "mode", "h245.fec_mode",
18402
14
        FT_UINT32, BASE_DEC, VALS(h245_FEC_mode_vals), 0,
18403
14
        "FEC_mode", HFILL }},
18404
14
    { &hf_h245_protectedElement,
18405
14
      { "protectedElement", "h245.protectedElement",
18406
14
        FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18407
14
        "ModeElementType", HFILL }},
18408
14
    { &hf_h245_adaptationLayer,
18409
14
      { "adaptationLayerType", "h245.adaptationLayer",
18410
14
        FT_UINT32, BASE_DEC, VALS(h245_AdaptationLayerType_vals), 0,
18411
14
        NULL, HFILL }},
18412
14
    { &hf_h245_al1Framed,
18413
14
      { "al1Framed", "h245.al1Framed_element",
18414
14
        FT_NONE, BASE_NONE, NULL, 0,
18415
14
        NULL, HFILL }},
18416
14
    { &hf_h245_al1NotFramed,
18417
14
      { "al1NotFramed", "h245.al1NotFramed_element",
18418
14
        FT_NONE, BASE_NONE, NULL, 0,
18419
14
        NULL, HFILL }},
18420
14
    { &hf_h245_al2WithoutSequenceNumbers,
18421
14
      { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers_element",
18422
14
        FT_NONE, BASE_NONE, NULL, 0,
18423
14
        NULL, HFILL }},
18424
14
    { &hf_h245_al2WithSequenceNumbers,
18425
14
      { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers_element",
18426
14
        FT_NONE, BASE_NONE, NULL, 0,
18427
14
        NULL, HFILL }},
18428
14
    { &hf_h245_al3,
18429
14
      { "al3", "h245.al3_element",
18430
14
        FT_NONE, BASE_NONE, NULL, 0,
18431
14
        NULL, HFILL }},
18432
14
    { &hf_h245_al1M,
18433
14
      { "al1M", "h245.al1M_element",
18434
14
        FT_NONE, BASE_NONE, NULL, 0,
18435
14
        "H223AL1MParameters", HFILL }},
18436
14
    { &hf_h245_al2M,
18437
14
      { "al2M", "h245.al2M_element",
18438
14
        FT_NONE, BASE_NONE, NULL, 0,
18439
14
        "H223AL2MParameters", HFILL }},
18440
14
    { &hf_h245_al3M,
18441
14
      { "al3M", "h245.al3M_element",
18442
14
        FT_NONE, BASE_NONE, NULL, 0,
18443
14
        "H223AL3MParameters", HFILL }},
18444
14
    { &hf_h245_segmentableFlag,
18445
14
      { "segmentableFlag", "h245.segmentableFlag",
18446
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
18447
14
        "BOOLEAN", HFILL }},
18448
14
    { &hf_h245_redundancyEncodingMode,
18449
14
      { "redundancyEncodingMode", "h245.redundancyEncodingMode_element",
18450
14
        FT_NONE, BASE_NONE, NULL, 0,
18451
14
        NULL, HFILL }},
18452
14
    { &hf_h245_secondaryEncodingMode,
18453
14
      { "secondaryEncoding", "h245.secondaryEncodingMode",
18454
14
        FT_UINT32, BASE_DEC, VALS(h245_T_secondaryEncodingMode_vals), 0,
18455
14
        "T_secondaryEncodingMode", HFILL }},
18456
14
    { &hf_h245_h261VideoMode,
18457
14
      { "h261VideoMode", "h245.h261VideoMode_element",
18458
14
        FT_NONE, BASE_NONE, NULL, 0,
18459
14
        NULL, HFILL }},
18460
14
    { &hf_h245_h262VideoMode,
18461
14
      { "h262VideoMode", "h245.h262VideoMode_element",
18462
14
        FT_NONE, BASE_NONE, NULL, 0,
18463
14
        NULL, HFILL }},
18464
14
    { &hf_h245_h263VideoMode,
18465
14
      { "h263VideoMode", "h245.h263VideoMode_element",
18466
14
        FT_NONE, BASE_NONE, NULL, 0,
18467
14
        NULL, HFILL }},
18468
14
    { &hf_h245_is11172VideoMode,
18469
14
      { "is11172VideoMode", "h245.is11172VideoMode_element",
18470
14
        FT_NONE, BASE_NONE, NULL, 0,
18471
14
        NULL, HFILL }},
18472
14
    { &hf_h245_genericVideoMode,
18473
14
      { "genericVideoMode", "h245.genericVideoMode_element",
18474
14
        FT_NONE, BASE_NONE, NULL, 0,
18475
14
        "GenericCapability", HFILL }},
18476
14
    { &hf_h245_h261_resolution,
18477
14
      { "resolution", "h245.h261_resolution",
18478
14
        FT_UINT32, BASE_DEC, VALS(h245_H261Resolution_vals), 0,
18479
14
        "H261Resolution", HFILL }},
18480
14
    { &hf_h245_qcif,
18481
14
      { "qcif", "h245.qcif_element",
18482
14
        FT_NONE, BASE_NONE, NULL, 0,
18483
14
        NULL, HFILL }},
18484
14
    { &hf_h245_cif,
18485
14
      { "cif", "h245.cif_element",
18486
14
        FT_NONE, BASE_NONE, NULL, 0,
18487
14
        NULL, HFILL }},
18488
14
    { &hf_h245_profileAndLevel,
18489
14
      { "profileAndLevel", "h245.profileAndLevel",
18490
14
        FT_UINT32, BASE_DEC, VALS(h245_T_profileAndLevel_vals), 0,
18491
14
        NULL, HFILL }},
18492
14
    { &hf_h245_profileAndLevel_SPatMLMode,
18493
14
      { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatMLMode_element",
18494
14
        FT_NONE, BASE_NONE, NULL, 0,
18495
14
        NULL, HFILL }},
18496
14
    { &hf_h245_profileAndLevel_MPatLLMode,
18497
14
      { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLLMode_element",
18498
14
        FT_NONE, BASE_NONE, NULL, 0,
18499
14
        NULL, HFILL }},
18500
14
    { &hf_h245_profileAndLevel_MPatMLMode,
18501
14
      { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatMLMode_element",
18502
14
        FT_NONE, BASE_NONE, NULL, 0,
18503
14
        NULL, HFILL }},
18504
14
    { &hf_h245_profileAndLevel_MPatH_14Mode,
18505
14
      { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14Mode_element",
18506
14
        FT_NONE, BASE_NONE, NULL, 0,
18507
14
        NULL, HFILL }},
18508
14
    { &hf_h245_profileAndLevel_MPatHLMode,
18509
14
      { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHLMode_element",
18510
14
        FT_NONE, BASE_NONE, NULL, 0,
18511
14
        NULL, HFILL }},
18512
14
    { &hf_h245_profileAndLevel_SNRatLLMode,
18513
14
      { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLLMode_element",
18514
14
        FT_NONE, BASE_NONE, NULL, 0,
18515
14
        NULL, HFILL }},
18516
14
    { &hf_h245_profileAndLevel_SNRatMLMode,
18517
14
      { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatMLMode_element",
18518
14
        FT_NONE, BASE_NONE, NULL, 0,
18519
14
        NULL, HFILL }},
18520
14
    { &hf_h245_profileAndLevel_SpatialatH_14Mode,
18521
14
      { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14Mode_element",
18522
14
        FT_NONE, BASE_NONE, NULL, 0,
18523
14
        NULL, HFILL }},
18524
14
    { &hf_h245_profileAndLevel_HPatMLMode,
18525
14
      { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatMLMode_element",
18526
14
        FT_NONE, BASE_NONE, NULL, 0,
18527
14
        NULL, HFILL }},
18528
14
    { &hf_h245_profileAndLevel_HPatH_14Mode,
18529
14
      { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14Mode_element",
18530
14
        FT_NONE, BASE_NONE, NULL, 0,
18531
14
        NULL, HFILL }},
18532
14
    { &hf_h245_profileAndLevel_HPatHLMode,
18533
14
      { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHLMode_element",
18534
14
        FT_NONE, BASE_NONE, NULL, 0,
18535
14
        NULL, HFILL }},
18536
14
    { &hf_h245_h263_resolution,
18537
14
      { "resolution", "h245.h263_resolution",
18538
14
        FT_UINT32, BASE_DEC, VALS(h245_H263Resolution_vals), 0,
18539
14
        "H263Resolution", HFILL }},
18540
14
    { &hf_h245_sqcif,
18541
14
      { "sqcif", "h245.sqcif_element",
18542
14
        FT_NONE, BASE_NONE, NULL, 0,
18543
14
        NULL, HFILL }},
18544
14
    { &hf_h245_cif4,
18545
14
      { "cif4", "h245.cif4_element",
18546
14
        FT_NONE, BASE_NONE, NULL, 0,
18547
14
        NULL, HFILL }},
18548
14
    { &hf_h245_cif16,
18549
14
      { "cif16", "h245.cif16_element",
18550
14
        FT_NONE, BASE_NONE, NULL, 0,
18551
14
        NULL, HFILL }},
18552
14
    { &hf_h245_custom_res,
18553
14
      { "custom", "h245.custom_res_element",
18554
14
        FT_NONE, BASE_NONE, NULL, 0,
18555
14
        NULL, HFILL }},
18556
14
    { &hf_h245_g711Alaw64k_mode,
18557
14
      { "g711Alaw64k", "h245.g711Alaw64k_mode_element",
18558
14
        FT_NONE, BASE_NONE, NULL, 0,
18559
14
        NULL, HFILL }},
18560
14
    { &hf_h245_g711Alaw56k_mode,
18561
14
      { "g711Alaw56k", "h245.g711Alaw56k_mode_element",
18562
14
        FT_NONE, BASE_NONE, NULL, 0,
18563
14
        NULL, HFILL }},
18564
14
    { &hf_h245_g711Ulaw64k_mode,
18565
14
      { "g711Ulaw64k", "h245.g711Ulaw64k_mode_element",
18566
14
        FT_NONE, BASE_NONE, NULL, 0,
18567
14
        NULL, HFILL }},
18568
14
    { &hf_h245_g711Ulaw56k_mode,
18569
14
      { "g711Ulaw56k", "h245.g711Ulaw56k_mode_element",
18570
14
        FT_NONE, BASE_NONE, NULL, 0,
18571
14
        NULL, HFILL }},
18572
14
    { &hf_h245_g722_64k_mode,
18573
14
      { "g722-64k", "h245.g722_64k_mode_element",
18574
14
        FT_NONE, BASE_NONE, NULL, 0,
18575
14
        NULL, HFILL }},
18576
14
    { &hf_h245_g722_56k_mode,
18577
14
      { "g722-56k", "h245.g722_56k_mode_element",
18578
14
        FT_NONE, BASE_NONE, NULL, 0,
18579
14
        NULL, HFILL }},
18580
14
    { &hf_h245_g722_48k_mode,
18581
14
      { "g722-48k", "h245.g722_48k_mode_element",
18582
14
        FT_NONE, BASE_NONE, NULL, 0,
18583
14
        NULL, HFILL }},
18584
14
    { &hf_h245_g728_mode,
18585
14
      { "g728", "h245.g728_mode_element",
18586
14
        FT_NONE, BASE_NONE, NULL, 0,
18587
14
        NULL, HFILL }},
18588
14
    { &hf_h245_g729_mode,
18589
14
      { "g729", "h245.g729_mode_element",
18590
14
        FT_NONE, BASE_NONE, NULL, 0,
18591
14
        NULL, HFILL }},
18592
14
    { &hf_h245_g729AnnexA_mode,
18593
14
      { "g729AnnexA", "h245.g729AnnexA_mode_element",
18594
14
        FT_NONE, BASE_NONE, NULL, 0,
18595
14
        NULL, HFILL }},
18596
14
    { &hf_h245_g7231_mode,
18597
14
      { "g7231", "h245.g7231_mode",
18598
14
        FT_UINT32, BASE_DEC, VALS(h245_Mode_g7231_vals), 0,
18599
14
        "Mode_g7231", HFILL }},
18600
14
    { &hf_h245_noSilenceSuppressionLowRate,
18601
14
      { "noSilenceSuppressionLowRate", "h245.noSilenceSuppressionLowRate_element",
18602
14
        FT_NONE, BASE_NONE, NULL, 0,
18603
14
        NULL, HFILL }},
18604
14
    { &hf_h245_noSilenceSuppressionHighRate,
18605
14
      { "noSilenceSuppressionHighRate", "h245.noSilenceSuppressionHighRate_element",
18606
14
        FT_NONE, BASE_NONE, NULL, 0,
18607
14
        NULL, HFILL }},
18608
14
    { &hf_h245_silenceSuppressionLowRate,
18609
14
      { "silenceSuppressionLowRate", "h245.silenceSuppressionLowRate_element",
18610
14
        FT_NONE, BASE_NONE, NULL, 0,
18611
14
        NULL, HFILL }},
18612
14
    { &hf_h245_silenceSuppressionHighRate,
18613
14
      { "silenceSuppressionHighRate", "h245.silenceSuppressionHighRate_element",
18614
14
        FT_NONE, BASE_NONE, NULL, 0,
18615
14
        NULL, HFILL }},
18616
14
    { &hf_h245_is11172AudioMode,
18617
14
      { "is11172AudioMode", "h245.is11172AudioMode_element",
18618
14
        FT_NONE, BASE_NONE, NULL, 0,
18619
14
        NULL, HFILL }},
18620
14
    { &hf_h245_is13818AudioMode,
18621
14
      { "is13818AudioMode", "h245.is13818AudioMode_element",
18622
14
        FT_NONE, BASE_NONE, NULL, 0,
18623
14
        NULL, HFILL }},
18624
14
    { &hf_h245_g7231AnnexCMode,
18625
14
      { "g7231AnnexCMode", "h245.g7231AnnexCMode_element",
18626
14
        FT_NONE, BASE_NONE, NULL, 0,
18627
14
        NULL, HFILL }},
18628
14
    { &hf_h245_genericAudioMode,
18629
14
      { "genericAudioMode", "h245.genericAudioMode_element",
18630
14
        FT_NONE, BASE_NONE, NULL, 0,
18631
14
        "GenericCapability", HFILL }},
18632
14
    { &hf_h245_vbd_mode,
18633
14
      { "vbd", "h245.vbd_mode_element",
18634
14
        FT_NONE, BASE_NONE, NULL, 0,
18635
14
        "VBDMode", HFILL }},
18636
14
    { &hf_h245_audioLayer,
18637
14
      { "audioLayer", "h245.audioLayer",
18638
14
        FT_UINT32, BASE_DEC, VALS(h245_T_audioLayer_vals), 0,
18639
14
        NULL, HFILL }},
18640
14
    { &hf_h245_audioLayer1Mode,
18641
14
      { "audioLayer1", "h245.audioLayer1Mode_element",
18642
14
        FT_NONE, BASE_NONE, NULL, 0,
18643
14
        NULL, HFILL }},
18644
14
    { &hf_h245_audioLayer2Mode,
18645
14
      { "audioLayer2", "h245.audioLayer2Mode_element",
18646
14
        FT_NONE, BASE_NONE, NULL, 0,
18647
14
        NULL, HFILL }},
18648
14
    { &hf_h245_audioLayer3Mode,
18649
14
      { "audioLayer3", "h245.audioLayer3Mode_element",
18650
14
        FT_NONE, BASE_NONE, NULL, 0,
18651
14
        NULL, HFILL }},
18652
14
    { &hf_h245_audioSampling,
18653
14
      { "audioSampling", "h245.audioSampling",
18654
14
        FT_UINT32, BASE_DEC, VALS(h245_T_audioSampling_vals), 0,
18655
14
        NULL, HFILL }},
18656
14
    { &hf_h245_audioSampling32kMode,
18657
14
      { "audioSampling32k", "h245.audioSampling32kMode_element",
18658
14
        FT_NONE, BASE_NONE, NULL, 0,
18659
14
        NULL, HFILL }},
18660
14
    { &hf_h245_audioSampling44k1Mode,
18661
14
      { "audioSampling44k1", "h245.audioSampling44k1Mode_element",
18662
14
        FT_NONE, BASE_NONE, NULL, 0,
18663
14
        NULL, HFILL }},
18664
14
    { &hf_h245_audioSampling48kMode,
18665
14
      { "audioSampling48k", "h245.audioSampling48kMode_element",
18666
14
        FT_NONE, BASE_NONE, NULL, 0,
18667
14
        NULL, HFILL }},
18668
14
    { &hf_h245_is11172multichannelType,
18669
14
      { "multichannelType", "h245.is11172multichannelType",
18670
14
        FT_UINT32, BASE_DEC, VALS(h245_IS11172_multichannelType_vals), 0,
18671
14
        "IS11172_multichannelType", HFILL }},
18672
14
    { &hf_h245_singleChannelMode,
18673
14
      { "singleChannel", "h245.singleChannelMode_element",
18674
14
        FT_NONE, BASE_NONE, NULL, 0,
18675
14
        NULL, HFILL }},
18676
14
    { &hf_h245_twoChannelStereo,
18677
14
      { "twoChannelStereo", "h245.twoChannelStereo_element",
18678
14
        FT_NONE, BASE_NONE, NULL, 0,
18679
14
        NULL, HFILL }},
18680
14
    { &hf_h245_twoChannelDual,
18681
14
      { "twoChannelDual", "h245.twoChannelDual_element",
18682
14
        FT_NONE, BASE_NONE, NULL, 0,
18683
14
        NULL, HFILL }},
18684
14
    { &hf_h245_audioLayerMode,
18685
14
      { "audioLayer", "h245.audioLayerMode",
18686
14
        FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioLayer_vals), 0,
18687
14
        "IS13818AudioLayer", HFILL }},
18688
14
    { &hf_h245_audioSamplingMode,
18689
14
      { "audioSampling", "h245.audioSamplingMode",
18690
14
        FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioSampling_vals), 0,
18691
14
        "IS13818AudioSampling", HFILL }},
18692
14
    { &hf_h245_audioSampling16kMode,
18693
14
      { "audioSampling16k", "h245.audioSampling16kMode_element",
18694
14
        FT_NONE, BASE_NONE, NULL, 0,
18695
14
        NULL, HFILL }},
18696
14
    { &hf_h245_audioSampling22k05Mode,
18697
14
      { "audioSampling22k05", "h245.audioSampling22k05Mode_element",
18698
14
        FT_NONE, BASE_NONE, NULL, 0,
18699
14
        NULL, HFILL }},
18700
14
    { &hf_h245_audioSampling24kMode,
18701
14
      { "audioSampling24k", "h245.audioSampling24kMode_element",
18702
14
        FT_NONE, BASE_NONE, NULL, 0,
18703
14
        NULL, HFILL }},
18704
14
    { &hf_h245_is13818MultichannelType,
18705
14
      { "multichannelType", "h245.is13818MultichannelType",
18706
14
        FT_UINT32, BASE_DEC, VALS(h245_IS13818MultichannelType_vals), 0,
18707
14
        "IS13818MultichannelType", HFILL }},
18708
14
    { &hf_h245_threeChannels2_1Mode,
18709
14
      { "threeChannels2-1", "h245.threeChannels2_1Mode_element",
18710
14
        FT_NONE, BASE_NONE, NULL, 0,
18711
14
        NULL, HFILL }},
18712
14
    { &hf_h245_threeChannels3_0Mode,
18713
14
      { "threeChannels3-0", "h245.threeChannels3_0Mode_element",
18714
14
        FT_NONE, BASE_NONE, NULL, 0,
18715
14
        NULL, HFILL }},
18716
14
    { &hf_h245_fourChannels2_0_2_0Mode,
18717
14
      { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0Mode_element",
18718
14
        FT_NONE, BASE_NONE, NULL, 0,
18719
14
        NULL, HFILL }},
18720
14
    { &hf_h245_fourChannels2_2Mode,
18721
14
      { "fourChannels2-2", "h245.fourChannels2_2Mode_element",
18722
14
        FT_NONE, BASE_NONE, NULL, 0,
18723
14
        NULL, HFILL }},
18724
14
    { &hf_h245_fourChannels3_1Mode,
18725
14
      { "fourChannels3-1", "h245.fourChannels3_1Mode_element",
18726
14
        FT_NONE, BASE_NONE, NULL, 0,
18727
14
        NULL, HFILL }},
18728
14
    { &hf_h245_fiveChannels3_0_2_0Mode,
18729
14
      { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0Mode_element",
18730
14
        FT_NONE, BASE_NONE, NULL, 0,
18731
14
        NULL, HFILL }},
18732
14
    { &hf_h245_fiveChannels3_2Mode,
18733
14
      { "fiveChannels3-2", "h245.fiveChannels3_2Mode_element",
18734
14
        FT_NONE, BASE_NONE, NULL, 0,
18735
14
        NULL, HFILL }},
18736
14
    { &hf_h245_vbd_type,
18737
14
      { "type", "h245.vbd_type",
18738
14
        FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18739
14
        "AudioMode", HFILL }},
18740
14
    { &hf_h245_datamodeapplication,
18741
14
      { "application", "h245.datamodeapplication",
18742
14
        FT_UINT32, BASE_DEC, VALS(h245_DataModeApplication_vals), 0,
18743
14
        "DataModeApplication", HFILL }},
18744
14
    { &hf_h245_t84DataProtocolCapability,
18745
14
      { "t84", "h245.t84DataProtocolCapability",
18746
14
        FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
18747
14
        "DataProtocolCapability", HFILL }},
18748
14
    { &hf_h245_t38faxDataProtocolCapability,
18749
14
      { "t38fax", "h245.t38faxDataProtocolCapability_element",
18750
14
        FT_NONE, BASE_NONE, NULL, 0,
18751
14
        "T38faxApp", HFILL }},
18752
14
    { &hf_h245_genericDataMode,
18753
14
      { "genericDataMode", "h245.genericDataMode_element",
18754
14
        FT_NONE, BASE_NONE, NULL, 0,
18755
14
        "GenericCapability", HFILL }},
18756
14
    { &hf_h245_bitRate_0_4294967295,
18757
14
      { "bitRate", "h245.bitRate_0_4294967295",
18758
14
        FT_UINT32, BASE_DEC, NULL, 0,
18759
14
        "INTEGER_0_4294967295", HFILL }},
18760
14
    { &hf_h245_h233Encryption,
18761
14
      { "h233Encryption", "h245.h233Encryption_element",
18762
14
        FT_NONE, BASE_NONE, NULL, 0,
18763
14
        NULL, HFILL }},
18764
14
    { &hf_h245_mlr_type,
18765
14
      { "type", "h245.mlr_type",
18766
14
        FT_UINT32, BASE_DEC, VALS(h245_Mlr_type_vals), 0,
18767
14
        "Mlr_type", HFILL }},
18768
14
    { &hf_h245_systemLoop,
18769
14
      { "systemLoop", "h245.systemLoop_element",
18770
14
        FT_NONE, BASE_NONE, NULL, 0,
18771
14
        NULL, HFILL }},
18772
14
    { &hf_h245_mediaLoop,
18773
14
      { "mediaLoop", "h245.mediaLoop",
18774
14
        FT_UINT32, BASE_DEC, NULL, 0,
18775
14
        "LogicalChannelNumber", HFILL }},
18776
14
    { &hf_h245_logicalChannelLoop,
18777
14
      { "logicalChannelLoop", "h245.logicalChannelLoop",
18778
14
        FT_UINT32, BASE_DEC, NULL, 0,
18779
14
        "LogicalChannelNumber", HFILL }},
18780
14
    { &hf_h245_mla_type,
18781
14
      { "type", "h245.mla_type",
18782
14
        FT_UINT32, BASE_DEC, VALS(h245_Mla_type_vals), 0,
18783
14
        "Mla_type", HFILL }},
18784
14
    { &hf_h245_mlrej_type,
18785
14
      { "type", "h245.mlrej_type",
18786
14
        FT_UINT32, BASE_DEC, VALS(h245_Mlrej_type_vals), 0,
18787
14
        "Mlrej_type", HFILL }},
18788
14
    { &hf_h245_maintloop_rej_cause,
18789
14
      { "cause", "h245.maintloop_rej_cause",
18790
14
        FT_UINT32, BASE_DEC, VALS(h245_MaintenanceLoopRejectCause_vals), 0,
18791
14
        "MaintenanceLoopRejectCause", HFILL }},
18792
14
    { &hf_h245_canNotPerformLoop,
18793
14
      { "canNotPerformLoop", "h245.canNotPerformLoop_element",
18794
14
        FT_NONE, BASE_NONE, NULL, 0,
18795
14
        NULL, HFILL }},
18796
14
    { &hf_h245_communicationModeTable,
18797
14
      { "communicationModeTable", "h245.communicationModeTable",
18798
14
        FT_UINT32, BASE_DEC, NULL, 0,
18799
14
        "SET_SIZE_1_256_OF_CommunicationModeTableEntry", HFILL }},
18800
14
    { &hf_h245_communicationModeTable_item,
18801
14
      { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry_element",
18802
14
        FT_NONE, BASE_NONE, NULL, 0,
18803
14
        NULL, HFILL }},
18804
14
    { &hf_h245_terminalLabel,
18805
14
      { "terminalLabel", "h245.terminalLabel_element",
18806
14
        FT_NONE, BASE_NONE, NULL, 0,
18807
14
        NULL, HFILL }},
18808
14
    { &hf_h245_sessionDescription,
18809
14
      { "sessionDescription", "h245.sessionDescription",
18810
14
        FT_STRING, BASE_NONE, NULL, 0,
18811
14
        "BMPString_SIZE_1_128", HFILL }},
18812
14
    { &hf_h245_entryDataType,
18813
14
      { "dataType", "h245.entryDataType",
18814
14
        FT_UINT32, BASE_DEC, VALS(h245_T_entryDataType_vals), 0,
18815
14
        "T_entryDataType", HFILL }},
18816
14
    { &hf_h245_cm_mediaChannel,
18817
14
      { "mediaChannel", "h245.cm_mediaChannel",
18818
14
        FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18819
14
        "Cm_mediaChannel", HFILL }},
18820
14
    { &hf_h245_cm_mediaControlChannel,
18821
14
      { "mediaControlChannel", "h245.cm_mediaControlChannel",
18822
14
        FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18823
14
        "TransportAddress", HFILL }},
18824
14
    { &hf_h245_sessionDependency,
18825
14
      { "sessionDependency", "h245.sessionDependency",
18826
14
        FT_UINT32, BASE_DEC, NULL, 0,
18827
14
        "INTEGER_1_255", HFILL }},
18828
14
    { &hf_h245_terminalListRequest,
18829
14
      { "terminalListRequest", "h245.terminalListRequest_element",
18830
14
        FT_NONE, BASE_NONE, NULL, 0,
18831
14
        NULL, HFILL }},
18832
14
    { &hf_h245_makeMeChair,
18833
14
      { "makeMeChair", "h245.makeMeChair_element",
18834
14
        FT_NONE, BASE_NONE, NULL, 0,
18835
14
        NULL, HFILL }},
18836
14
    { &hf_h245_cancelMakeMeChair,
18837
14
      { "cancelMakeMeChair", "h245.cancelMakeMeChair_element",
18838
14
        FT_NONE, BASE_NONE, NULL, 0,
18839
14
        NULL, HFILL }},
18840
14
    { &hf_h245_dropTerminal,
18841
14
      { "dropTerminal", "h245.dropTerminal_element",
18842
14
        FT_NONE, BASE_NONE, NULL, 0,
18843
14
        "TerminalLabel", HFILL }},
18844
14
    { &hf_h245_requestTerminalID,
18845
14
      { "requestTerminalID", "h245.requestTerminalID_element",
18846
14
        FT_NONE, BASE_NONE, NULL, 0,
18847
14
        "TerminalLabel", HFILL }},
18848
14
    { &hf_h245_enterH243Password,
18849
14
      { "enterH243Password", "h245.enterH243Password_element",
18850
14
        FT_NONE, BASE_NONE, NULL, 0,
18851
14
        NULL, HFILL }},
18852
14
    { &hf_h245_enterH243TerminalID,
18853
14
      { "enterH243TerminalID", "h245.enterH243TerminalID_element",
18854
14
        FT_NONE, BASE_NONE, NULL, 0,
18855
14
        NULL, HFILL }},
18856
14
    { &hf_h245_enterH243ConferenceID,
18857
14
      { "enterH243ConferenceID", "h245.enterH243ConferenceID_element",
18858
14
        FT_NONE, BASE_NONE, NULL, 0,
18859
14
        NULL, HFILL }},
18860
14
    { &hf_h245_enterExtensionAddress,
18861
14
      { "enterExtensionAddress", "h245.enterExtensionAddress_element",
18862
14
        FT_NONE, BASE_NONE, NULL, 0,
18863
14
        NULL, HFILL }},
18864
14
    { &hf_h245_requestChairTokenOwner,
18865
14
      { "requestChairTokenOwner", "h245.requestChairTokenOwner_element",
18866
14
        FT_NONE, BASE_NONE, NULL, 0,
18867
14
        NULL, HFILL }},
18868
14
    { &hf_h245_requestTerminalCertificate,
18869
14
      { "requestTerminalCertificate", "h245.requestTerminalCertificate_element",
18870
14
        FT_NONE, BASE_NONE, NULL, 0,
18871
14
        NULL, HFILL }},
18872
14
    { &hf_h245_certSelectionCriteria,
18873
14
      { "certSelectionCriteria", "h245.certSelectionCriteria",
18874
14
        FT_UINT32, BASE_DEC, NULL, 0,
18875
14
        NULL, HFILL }},
18876
14
    { &hf_h245_sRandom,
18877
14
      { "sRandom", "h245.sRandom",
18878
14
        FT_UINT32, BASE_DEC, NULL, 0,
18879
14
        "INTEGER_1_4294967295", HFILL }},
18880
14
    { &hf_h245_broadcastMyLogicalChannel,
18881
14
      { "broadcastMyLogicalChannel", "h245.broadcastMyLogicalChannel",
18882
14
        FT_UINT32, BASE_DEC, NULL, 0,
18883
14
        "LogicalChannelNumber", HFILL }},
18884
14
    { &hf_h245_makeTerminalBroadcaster,
18885
14
      { "makeTerminalBroadcaster", "h245.makeTerminalBroadcaster_element",
18886
14
        FT_NONE, BASE_NONE, NULL, 0,
18887
14
        "TerminalLabel", HFILL }},
18888
14
    { &hf_h245_sendThisSource,
18889
14
      { "sendThisSource", "h245.sendThisSource_element",
18890
14
        FT_NONE, BASE_NONE, NULL, 0,
18891
14
        "TerminalLabel", HFILL }},
18892
14
    { &hf_h245_requestAllTerminalIDs,
18893
14
      { "requestAllTerminalIDs", "h245.requestAllTerminalIDs_element",
18894
14
        FT_NONE, BASE_NONE, NULL, 0,
18895
14
        NULL, HFILL }},
18896
14
    { &hf_h245_remoteMCRequest,
18897
14
      { "remoteMCRequest", "h245.remoteMCRequest",
18898
14
        FT_UINT32, BASE_DEC, VALS(h245_RemoteMCRequest_vals), 0,
18899
14
        NULL, HFILL }},
18900
14
    { &hf_h245_CertSelectionCriteria_item,
18901
14
      { "Criteria", "h245.Criteria_element",
18902
14
        FT_NONE, BASE_NONE, NULL, 0,
18903
14
        NULL, HFILL }},
18904
14
    { &hf_h245_field,
18905
14
      { "field", "h245.field",
18906
14
        FT_OID, BASE_NONE, NULL, 0,
18907
14
        "OBJECT_IDENTIFIER", HFILL }},
18908
14
    { &hf_h245_criteriaValue,
18909
14
      { "value", "h245.criteriaValue",
18910
14
        FT_BYTES, BASE_NONE, NULL, 0,
18911
14
        "OCTET_STRING_SIZE_1_65535", HFILL }},
18912
14
    { &hf_h245_mcuNumber,
18913
14
      { "mcuNumber", "h245.mcuNumber",
18914
14
        FT_UINT32, BASE_DEC, NULL, 0,
18915
14
        NULL, HFILL }},
18916
14
    { &hf_h245_terminalNumber,
18917
14
      { "terminalNumber", "h245.terminalNumber",
18918
14
        FT_UINT32, BASE_DEC, NULL, 0,
18919
14
        NULL, HFILL }},
18920
14
    { &hf_h245_mCTerminalIDResponse,
18921
14
      { "mCTerminalIDResponse", "h245.mCTerminalIDResponse_element",
18922
14
        FT_NONE, BASE_NONE, NULL, 0,
18923
14
        NULL, HFILL }},
18924
14
    { &hf_h245_terminalID,
18925
14
      { "terminalID", "h245.terminalID",
18926
14
        FT_BYTES, BASE_NONE, NULL, 0,
18927
14
        NULL, HFILL }},
18928
14
    { &hf_h245_terminalIDResponse,
18929
14
      { "terminalIDResponse", "h245.terminalIDResponse_element",
18930
14
        FT_NONE, BASE_NONE, NULL, 0,
18931
14
        NULL, HFILL }},
18932
14
    { &hf_h245_conferenceIDResponse,
18933
14
      { "conferenceIDResponse", "h245.conferenceIDResponse_element",
18934
14
        FT_NONE, BASE_NONE, NULL, 0,
18935
14
        NULL, HFILL }},
18936
14
    { &hf_h245_conferenceID,
18937
14
      { "conferenceID", "h245.conferenceID",
18938
14
        FT_BYTES, BASE_NONE, NULL, 0,
18939
14
        NULL, HFILL }},
18940
14
    { &hf_h245_passwordResponse,
18941
14
      { "passwordResponse", "h245.passwordResponse_element",
18942
14
        FT_NONE, BASE_NONE, NULL, 0,
18943
14
        NULL, HFILL }},
18944
14
    { &hf_h245_password,
18945
14
      { "password", "h245.password",
18946
14
        FT_BYTES, BASE_NONE, NULL, 0,
18947
14
        NULL, HFILL }},
18948
14
    { &hf_h245_terminalListResponse,
18949
14
      { "terminalListResponse", "h245.terminalListResponse",
18950
14
        FT_UINT32, BASE_DEC, NULL, 0,
18951
14
        "SET_SIZE_1_256_OF_TerminalLabel", HFILL }},
18952
14
    { &hf_h245_terminalListResponse_item,
18953
14
      { "TerminalLabel", "h245.TerminalLabel_element",
18954
14
        FT_NONE, BASE_NONE, NULL, 0,
18955
14
        NULL, HFILL }},
18956
14
    { &hf_h245_videoCommandReject,
18957
14
      { "videoCommandReject", "h245.videoCommandReject_element",
18958
14
        FT_NONE, BASE_NONE, NULL, 0,
18959
14
        NULL, HFILL }},
18960
14
    { &hf_h245_terminalDropReject,
18961
14
      { "terminalDropReject", "h245.terminalDropReject_element",
18962
14
        FT_NONE, BASE_NONE, NULL, 0,
18963
14
        NULL, HFILL }},
18964
14
    { &hf_h245_makeMeChairResponse,
18965
14
      { "makeMeChairResponse", "h245.makeMeChairResponse",
18966
14
        FT_UINT32, BASE_DEC, VALS(h245_T_makeMeChairResponse_vals), 0,
18967
14
        NULL, HFILL }},
18968
14
    { &hf_h245_grantedChairToken,
18969
14
      { "grantedChairToken", "h245.grantedChairToken_element",
18970
14
        FT_NONE, BASE_NONE, NULL, 0,
18971
14
        NULL, HFILL }},
18972
14
    { &hf_h245_deniedChairToken,
18973
14
      { "deniedChairToken", "h245.deniedChairToken_element",
18974
14
        FT_NONE, BASE_NONE, NULL, 0,
18975
14
        NULL, HFILL }},
18976
14
    { &hf_h245_extensionAddressResponse,
18977
14
      { "extensionAddressResponse", "h245.extensionAddressResponse_element",
18978
14
        FT_NONE, BASE_NONE, NULL, 0,
18979
14
        NULL, HFILL }},
18980
14
    { &hf_h245_extensionAddress,
18981
14
      { "extensionAddress", "h245.extensionAddress",
18982
14
        FT_BYTES, BASE_NONE, NULL, 0,
18983
14
        "TerminalID", HFILL }},
18984
14
    { &hf_h245_chairTokenOwnerResponse,
18985
14
      { "chairTokenOwnerResponse", "h245.chairTokenOwnerResponse_element",
18986
14
        FT_NONE, BASE_NONE, NULL, 0,
18987
14
        NULL, HFILL }},
18988
14
    { &hf_h245_terminalCertificateResponse,
18989
14
      { "terminalCertificateResponse", "h245.terminalCertificateResponse_element",
18990
14
        FT_NONE, BASE_NONE, NULL, 0,
18991
14
        NULL, HFILL }},
18992
14
    { &hf_h245_certificateResponse,
18993
14
      { "certificateResponse", "h245.certificateResponse",
18994
14
        FT_BYTES, BASE_NONE, NULL, 0,
18995
14
        "OCTET_STRING_SIZE_1_65535", HFILL }},
18996
14
    { &hf_h245_broadcastMyLogicalChannelResponse,
18997
14
      { "broadcastMyLogicalChannelResponse", "h245.broadcastMyLogicalChannelResponse",
18998
14
        FT_UINT32, BASE_DEC, VALS(h245_T_broadcastMyLogicalChannelResponse_vals), 0,
18999
14
        NULL, HFILL }},
19000
14
    { &hf_h245_grantedBroadcastMyLogicalChannel,
19001
14
      { "grantedBroadcastMyLogicalChannel", "h245.grantedBroadcastMyLogicalChannel_element",
19002
14
        FT_NONE, BASE_NONE, NULL, 0,
19003
14
        NULL, HFILL }},
19004
14
    { &hf_h245_deniedBroadcastMyLogicalChannel,
19005
14
      { "deniedBroadcastMyLogicalChannel", "h245.deniedBroadcastMyLogicalChannel_element",
19006
14
        FT_NONE, BASE_NONE, NULL, 0,
19007
14
        NULL, HFILL }},
19008
14
    { &hf_h245_makeTerminalBroadcasterResponse,
19009
14
      { "makeTerminalBroadcasterResponse", "h245.makeTerminalBroadcasterResponse",
19010
14
        FT_UINT32, BASE_DEC, VALS(h245_T_makeTerminalBroadcasterResponse_vals), 0,
19011
14
        NULL, HFILL }},
19012
14
    { &hf_h245_grantedMakeTerminalBroadcaster,
19013
14
      { "grantedMakeTerminalBroadcaster", "h245.grantedMakeTerminalBroadcaster_element",
19014
14
        FT_NONE, BASE_NONE, NULL, 0,
19015
14
        NULL, HFILL }},
19016
14
    { &hf_h245_deniedMakeTerminalBroadcaster,
19017
14
      { "deniedMakeTerminalBroadcaster", "h245.deniedMakeTerminalBroadcaster_element",
19018
14
        FT_NONE, BASE_NONE, NULL, 0,
19019
14
        NULL, HFILL }},
19020
14
    { &hf_h245_sendThisSourceResponse,
19021
14
      { "sendThisSourceResponse", "h245.sendThisSourceResponse",
19022
14
        FT_UINT32, BASE_DEC, VALS(h245_T_sendThisSourceResponse_vals), 0,
19023
14
        NULL, HFILL }},
19024
14
    { &hf_h245_grantedSendThisSource,
19025
14
      { "grantedSendThisSource", "h245.grantedSendThisSource_element",
19026
14
        FT_NONE, BASE_NONE, NULL, 0,
19027
14
        NULL, HFILL }},
19028
14
    { &hf_h245_deniedSendThisSource,
19029
14
      { "deniedSendThisSource", "h245.deniedSendThisSource_element",
19030
14
        FT_NONE, BASE_NONE, NULL, 0,
19031
14
        NULL, HFILL }},
19032
14
    { &hf_h245_requestAllTerminalIDsResponse,
19033
14
      { "requestAllTerminalIDsResponse", "h245.requestAllTerminalIDsResponse_element",
19034
14
        FT_NONE, BASE_NONE, NULL, 0,
19035
14
        NULL, HFILL }},
19036
14
    { &hf_h245_remoteMCResponse,
19037
14
      { "remoteMCResponse", "h245.remoteMCResponse",
19038
14
        FT_UINT32, BASE_DEC, VALS(h245_RemoteMCResponse_vals), 0,
19039
14
        NULL, HFILL }},
19040
14
    { &hf_h245_terminalInformation,
19041
14
      { "terminalInformation", "h245.terminalInformation",
19042
14
        FT_UINT32, BASE_DEC, NULL, 0,
19043
14
        "SEQUENCE_OF_TerminalInformation", HFILL }},
19044
14
    { &hf_h245_terminalInformation_item,
19045
14
      { "TerminalInformation", "h245.TerminalInformation_element",
19046
14
        FT_NONE, BASE_NONE, NULL, 0,
19047
14
        NULL, HFILL }},
19048
14
    { &hf_h245_masterActivate,
19049
14
      { "masterActivate", "h245.masterActivate_element",
19050
14
        FT_NONE, BASE_NONE, NULL, 0,
19051
14
        NULL, HFILL }},
19052
14
    { &hf_h245_slaveActivate,
19053
14
      { "slaveActivate", "h245.slaveActivate_element",
19054
14
        FT_NONE, BASE_NONE, NULL, 0,
19055
14
        NULL, HFILL }},
19056
14
    { &hf_h245_deActivate,
19057
14
      { "deActivate", "h245.deActivate_element",
19058
14
        FT_NONE, BASE_NONE, NULL, 0,
19059
14
        NULL, HFILL }},
19060
14
    { &hf_h245_accept,
19061
14
      { "accept", "h245.accept_element",
19062
14
        FT_NONE, BASE_NONE, NULL, 0,
19063
14
        NULL, HFILL }},
19064
14
    { &hf_h245_reject,
19065
14
      { "reject", "h245.reject",
19066
14
        FT_UINT32, BASE_DEC, VALS(h245_T_reject_vals), 0,
19067
14
        NULL, HFILL }},
19068
14
    { &hf_h245_functionNotSupportedFlag,
19069
14
      { "functionNotSupported", "h245.functionNotSupportedFlag_element",
19070
14
        FT_NONE, BASE_NONE, NULL, 0,
19071
14
        NULL, HFILL }},
19072
14
    { &hf_h245_callInformationReq,
19073
14
      { "callInformation", "h245.callInformationReq_element",
19074
14
        FT_NONE, BASE_NONE, NULL, 0,
19075
14
        "CallInformationReq", HFILL }},
19076
14
    { &hf_h245_maxNumberOfAdditionalConnections,
19077
14
      { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections",
19078
14
        FT_UINT32, BASE_DEC, NULL, 0,
19079
14
        "INTEGER_1_65535", HFILL }},
19080
14
    { &hf_h245_addConnectionReq,
19081
14
      { "addConnection", "h245.addConnectionReq_element",
19082
14
        FT_NONE, BASE_NONE, NULL, 0,
19083
14
        "AddConnectionReq", HFILL }},
19084
14
    { &hf_h245_dialingInformation,
19085
14
      { "dialingInformation", "h245.dialingInformation",
19086
14
        FT_UINT32, BASE_DEC, VALS(h245_DialingInformation_vals), 0,
19087
14
        NULL, HFILL }},
19088
14
    { &hf_h245_removeConnectionReq,
19089
14
      { "removeConnection", "h245.removeConnectionReq_element",
19090
14
        FT_NONE, BASE_NONE, NULL, 0,
19091
14
        "RemoveConnectionReq", HFILL }},
19092
14
    { &hf_h245_connectionIdentifier,
19093
14
      { "connectionIdentifier", "h245.connectionIdentifier_element",
19094
14
        FT_NONE, BASE_NONE, NULL, 0,
19095
14
        NULL, HFILL }},
19096
14
    { &hf_h245_maximumHeaderIntervalReq,
19097
14
      { "maximumHeaderInterval", "h245.maximumHeaderIntervalReq_element",
19098
14
        FT_NONE, BASE_NONE, NULL, 0,
19099
14
        "MaximumHeaderIntervalReq", HFILL }},
19100
14
    { &hf_h245_requestType,
19101
14
      { "requestType", "h245.requestType",
19102
14
        FT_UINT32, BASE_DEC, VALS(h245_T_requestType_vals), 0,
19103
14
        NULL, HFILL }},
19104
14
    { &hf_h245_currentIntervalInformation,
19105
14
      { "currentIntervalInformation", "h245.currentIntervalInformation_element",
19106
14
        FT_NONE, BASE_NONE, NULL, 0,
19107
14
        NULL, HFILL }},
19108
14
    { &hf_h245_requestedInterval,
19109
14
      { "requestedInterval", "h245.requestedInterval",
19110
14
        FT_UINT32, BASE_DEC, NULL, 0,
19111
14
        "INTEGER_0_65535", HFILL }},
19112
14
    { &hf_h245_callInformationResp,
19113
14
      { "callInformation", "h245.callInformationResp_element",
19114
14
        FT_NONE, BASE_NONE, NULL, 0,
19115
14
        "CallInformationResp", HFILL }},
19116
14
    { &hf_h245_callAssociationNumber,
19117
14
      { "callAssociationNumber", "h245.callAssociationNumber",
19118
14
        FT_UINT32, BASE_DEC, NULL, 0,
19119
14
        "INTEGER_0_4294967295", HFILL }},
19120
14
    { &hf_h245_addConnectionResp,
19121
14
      { "addConnection", "h245.addConnectionResp_element",
19122
14
        FT_NONE, BASE_NONE, NULL, 0,
19123
14
        "AddConnectionResp", HFILL }},
19124
14
    { &hf_h245_responseCode,
19125
14
      { "responseCode", "h245.responseCode",
19126
14
        FT_UINT32, BASE_DEC, VALS(h245_T_responseCode_vals), 0,
19127
14
        NULL, HFILL }},
19128
14
    { &hf_h245_accepted,
19129
14
      { "accepted", "h245.accepted_element",
19130
14
        FT_NONE, BASE_NONE, NULL, 0,
19131
14
        NULL, HFILL }},
19132
14
    { &hf_h245_rejected,
19133
14
      { "rejected", "h245.rejected",
19134
14
        FT_UINT32, BASE_DEC, VALS(h245_T_rejected_vals), 0,
19135
14
        NULL, HFILL }},
19136
14
    { &hf_h245_connectionsNotAvailable,
19137
14
      { "connectionsNotAvailable", "h245.connectionsNotAvailable_element",
19138
14
        FT_NONE, BASE_NONE, NULL, 0,
19139
14
        NULL, HFILL }},
19140
14
    { &hf_h245_userRejected,
19141
14
      { "userRejected", "h245.userRejected_element",
19142
14
        FT_NONE, BASE_NONE, NULL, 0,
19143
14
        NULL, HFILL }},
19144
14
    { &hf_h245_removeConnectionResp,
19145
14
      { "removeConnection", "h245.removeConnectionResp_element",
19146
14
        FT_NONE, BASE_NONE, NULL, 0,
19147
14
        "RemoveConnectionResp", HFILL }},
19148
14
    { &hf_h245_maximumHeaderIntervalResp,
19149
14
      { "maximumHeaderInterval", "h245.maximumHeaderIntervalResp_element",
19150
14
        FT_NONE, BASE_NONE, NULL, 0,
19151
14
        "MaximumHeaderIntervalResp", HFILL }},
19152
14
    { &hf_h245_currentInterval,
19153
14
      { "currentInterval", "h245.currentInterval",
19154
14
        FT_UINT32, BASE_DEC, NULL, 0,
19155
14
        "INTEGER_0_65535", HFILL }},
19156
14
    { &hf_h245_crcDesired,
19157
14
      { "crcDesired", "h245.crcDesired_element",
19158
14
        FT_NONE, BASE_NONE, NULL, 0,
19159
14
        NULL, HFILL }},
19160
14
    { &hf_h245_excessiveError,
19161
14
      { "excessiveError", "h245.excessiveError_element",
19162
14
        FT_NONE, BASE_NONE, NULL, 0,
19163
14
        NULL, HFILL }},
19164
14
    { &hf_h245_differential,
19165
14
      { "differential", "h245.differential",
19166
14
        FT_UINT32, BASE_DEC, NULL, 0,
19167
14
        "SET_SIZE_1_65535_OF_DialingInformationNumber", HFILL }},
19168
14
    { &hf_h245_differential_item,
19169
14
      { "DialingInformationNumber", "h245.DialingInformationNumber_element",
19170
14
        FT_NONE, BASE_NONE, NULL, 0,
19171
14
        NULL, HFILL }},
19172
14
    { &hf_h245_infoNotAvailable,
19173
14
      { "infoNotAvailable", "h245.infoNotAvailable",
19174
14
        FT_UINT32, BASE_DEC, NULL, 0,
19175
14
        "INTEGER_1_65535", HFILL }},
19176
14
    { &hf_h245_din_networkAddress,
19177
14
      { "networkAddress", "h245.din_networkAddress",
19178
14
        FT_STRING, BASE_NONE, NULL, 0,
19179
14
        "NumericString_SIZE_0_40", HFILL }},
19180
14
    { &hf_h245_subAddress,
19181
14
      { "subAddress", "h245.subAddress",
19182
14
        FT_STRING, BASE_NONE, NULL, 0,
19183
14
        "IA5String_SIZE_1_40", HFILL }},
19184
14
    { &hf_h245_networkType,
19185
14
      { "networkType", "h245.networkType",
19186
14
        FT_UINT32, BASE_DEC, NULL, 0,
19187
14
        "SET_SIZE_1_255_OF_DialingInformationNetworkType", HFILL }},
19188
14
    { &hf_h245_networkType_item,
19189
14
      { "DialingInformationNetworkType", "h245.DialingInformationNetworkType",
19190
14
        FT_UINT32, BASE_DEC, VALS(h245_DialingInformationNetworkType_vals), 0,
19191
14
        NULL, HFILL }},
19192
14
    { &hf_h245_n_isdn,
19193
14
      { "n-isdn", "h245.n_isdn_element",
19194
14
        FT_NONE, BASE_NONE, NULL, 0,
19195
14
        NULL, HFILL }},
19196
14
    { &hf_h245_gstn,
19197
14
      { "gstn", "h245.gstn_element",
19198
14
        FT_NONE, BASE_NONE, NULL, 0,
19199
14
        NULL, HFILL }},
19200
14
    { &hf_h245_mobile,
19201
14
      { "mobile", "h245.mobile_element",
19202
14
        FT_NONE, BASE_NONE, NULL, 0,
19203
14
        NULL, HFILL }},
19204
14
    { &hf_h245_channelTag,
19205
14
      { "channelTag", "h245.channelTag",
19206
14
        FT_UINT32, BASE_DEC, NULL, 0,
19207
14
        "INTEGER_0_4294967295", HFILL }},
19208
14
    { &hf_h245_sequenceNum,
19209
14
      { "sequenceNumber", "h245.sequenceNum",
19210
14
        FT_UINT32, BASE_DEC, NULL, 0,
19211
14
        "INTEGER_0_4294967295", HFILL }},
19212
14
    { &hf_h245_maximumBitRate,
19213
14
      { "maximumBitRate", "h245.maximumBitRate",
19214
14
        FT_UINT32, BASE_DEC, NULL, 0,
19215
14
        NULL, HFILL }},
19216
14
    { &hf_h245_rejectReason,
19217
14
      { "rejectReason", "h245.rejectReason",
19218
14
        FT_UINT32, BASE_DEC, VALS(h245_LogicalChannelRateRejectReason_vals), 0,
19219
14
        "LogicalChannelRateRejectReason", HFILL }},
19220
14
    { &hf_h245_currentMaximumBitRate,
19221
14
      { "currentMaximumBitRate", "h245.currentMaximumBitRate",
19222
14
        FT_UINT32, BASE_DEC, NULL, 0,
19223
14
        "MaximumBitRate", HFILL }},
19224
14
    { &hf_h245_undefinedReason,
19225
14
      { "undefinedReason", "h245.undefinedReason_element",
19226
14
        FT_NONE, BASE_NONE, NULL, 0,
19227
14
        NULL, HFILL }},
19228
14
    { &hf_h245_insufficientResources,
19229
14
      { "insufficientResources", "h245.insufficientResources_element",
19230
14
        FT_NONE, BASE_NONE, NULL, 0,
19231
14
        NULL, HFILL }},
19232
14
    { &hf_h245_specificRequest,
19233
14
      { "specificRequest", "h245.specificRequest_element",
19234
14
        FT_NONE, BASE_NONE, NULL, 0,
19235
14
        NULL, HFILL }},
19236
14
    { &hf_h245_multiplexCapabilityBool,
19237
14
      { "multiplexCapability", "h245.multiplexCapabilityBool",
19238
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
19239
14
        "BOOLEAN", HFILL }},
19240
14
    { &hf_h245_capabilityTableEntryNumbers,
19241
14
      { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers",
19242
14
        FT_UINT32, BASE_DEC, NULL, 0,
19243
14
        "SET_SIZE_1_65535_OF_CapabilityTableEntryNumber", HFILL }},
19244
14
    { &hf_h245_capabilityTableEntryNumbers_item,
19245
14
      { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
19246
14
        FT_UINT32, BASE_DEC, NULL, 0,
19247
14
        NULL, HFILL }},
19248
14
    { &hf_h245_capabilityDescriptorNumbers,
19249
14
      { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers",
19250
14
        FT_UINT32, BASE_DEC, NULL, 0,
19251
14
        "SET_SIZE_1_256_OF_CapabilityDescriptorNumber", HFILL }},
19252
14
    { &hf_h245_capabilityDescriptorNumbers_item,
19253
14
      { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber",
19254
14
        FT_UINT32, BASE_DEC, NULL, 0,
19255
14
        NULL, HFILL }},
19256
14
    { &hf_h245_genericRequestFlag,
19257
14
      { "genericRequest", "h245.genericRequestFlag_element",
19258
14
        FT_NONE, BASE_NONE, NULL, 0,
19259
14
        NULL, HFILL }},
19260
14
    { &hf_h245_encryptionSE,
19261
14
      { "encryptionSE", "h245.encryptionSE",
19262
14
        FT_BYTES, BASE_NONE, NULL, 0,
19263
14
        "OCTET_STRING", HFILL }},
19264
14
    { &hf_h245_encryptionIVRequest,
19265
14
      { "encryptionIVRequest", "h245.encryptionIVRequest_element",
19266
14
        FT_NONE, BASE_NONE, NULL, 0,
19267
14
        NULL, HFILL }},
19268
14
    { &hf_h245_encryptionAlgorithmID,
19269
14
      { "encryptionAlgorithmID", "h245.encryptionAlgorithmID_element",
19270
14
        FT_NONE, BASE_NONE, NULL, 0,
19271
14
        NULL, HFILL }},
19272
14
    { &hf_h245_h233AlgorithmIdentifier,
19273
14
      { "h233AlgorithmIdentifier", "h245.h233AlgorithmIdentifier",
19274
14
        FT_UINT32, BASE_DEC, NULL, 0,
19275
14
        "SequenceNumber", HFILL }},
19276
14
    { &hf_h245_associatedAlgorithm,
19277
14
      { "associatedAlgorithm", "h245.associatedAlgorithm_element",
19278
14
        FT_NONE, BASE_NONE, NULL, 0,
19279
14
        "NonStandardParameter", HFILL }},
19280
14
    { &hf_h245_wholeMultiplex,
19281
14
      { "wholeMultiplex", "h245.wholeMultiplex_element",
19282
14
        FT_NONE, BASE_NONE, NULL, 0,
19283
14
        NULL, HFILL }},
19284
14
    { &hf_h245_scope,
19285
14
      { "scope", "h245.scope",
19286
14
        FT_UINT32, BASE_DEC, VALS(h245_Scope_vals), 0,
19287
14
        NULL, HFILL }},
19288
14
    { &hf_h245_res_maximumBitRate,
19289
14
      { "maximumBitRate", "h245.res_maximumBitRate",
19290
14
        FT_UINT32, BASE_DEC, NULL, 0,
19291
14
        "INTEGER_0_16777215", HFILL }},
19292
14
    { &hf_h245_noRestriction,
19293
14
      { "noRestriction", "h245.noRestriction_element",
19294
14
        FT_NONE, BASE_NONE, NULL, 0,
19295
14
        NULL, HFILL }},
19296
14
    { &hf_h245_restriction,
19297
14
      { "restriction", "h245.restriction",
19298
14
        FT_UINT32, BASE_DEC, VALS(h245_Restriction_vals), 0,
19299
14
        NULL, HFILL }},
19300
14
    { &hf_h245_disconnect,
19301
14
      { "disconnect", "h245.disconnect_element",
19302
14
        FT_NONE, BASE_NONE, NULL, 0,
19303
14
        NULL, HFILL }},
19304
14
    { &hf_h245_gstnOptions,
19305
14
      { "gstnOptions", "h245.gstnOptions",
19306
14
        FT_UINT32, BASE_DEC, VALS(h245_T_gstnOptions_vals), 0,
19307
14
        NULL, HFILL }},
19308
14
    { &hf_h245_telephonyMode,
19309
14
      { "telephonyMode", "h245.telephonyMode_element",
19310
14
        FT_NONE, BASE_NONE, NULL, 0,
19311
14
        NULL, HFILL }},
19312
14
    { &hf_h245_v8bis,
19313
14
      { "v8bis", "h245.v8bis_element",
19314
14
        FT_NONE, BASE_NONE, NULL, 0,
19315
14
        NULL, HFILL }},
19316
14
    { &hf_h245_v34DSVD,
19317
14
      { "v34DSVD", "h245.v34DSVD_element",
19318
14
        FT_NONE, BASE_NONE, NULL, 0,
19319
14
        NULL, HFILL }},
19320
14
    { &hf_h245_v34DuplexFAX,
19321
14
      { "v34DuplexFAX", "h245.v34DuplexFAX_element",
19322
14
        FT_NONE, BASE_NONE, NULL, 0,
19323
14
        NULL, HFILL }},
19324
14
    { &hf_h245_v34H324,
19325
14
      { "v34H324", "h245.v34H324_element",
19326
14
        FT_NONE, BASE_NONE, NULL, 0,
19327
14
        NULL, HFILL }},
19328
14
    { &hf_h245_isdnOptions,
19329
14
      { "isdnOptions", "h245.isdnOptions",
19330
14
        FT_UINT32, BASE_DEC, VALS(h245_T_isdnOptions_vals), 0,
19331
14
        NULL, HFILL }},
19332
14
    { &hf_h245_v140,
19333
14
      { "v140", "h245.v140_element",
19334
14
        FT_NONE, BASE_NONE, NULL, 0,
19335
14
        NULL, HFILL }},
19336
14
    { &hf_h245_terminalOnHold,
19337
14
      { "terminalOnHold", "h245.terminalOnHold_element",
19338
14
        FT_NONE, BASE_NONE, NULL, 0,
19339
14
        NULL, HFILL }},
19340
14
    { &hf_h245_cancelBroadcastMyLogicalChannel,
19341
14
      { "cancelBroadcastMyLogicalChannel", "h245.cancelBroadcastMyLogicalChannel",
19342
14
        FT_UINT32, BASE_DEC, NULL, 0,
19343
14
        "LogicalChannelNumber", HFILL }},
19344
14
    { &hf_h245_cancelMakeTerminalBroadcaster,
19345
14
      { "cancelMakeTerminalBroadcaster", "h245.cancelMakeTerminalBroadcaster_element",
19346
14
        FT_NONE, BASE_NONE, NULL, 0,
19347
14
        NULL, HFILL }},
19348
14
    { &hf_h245_cancelSendThisSource,
19349
14
      { "cancelSendThisSource", "h245.cancelSendThisSource_element",
19350
14
        FT_NONE, BASE_NONE, NULL, 0,
19351
14
        NULL, HFILL }},
19352
14
    { &hf_h245_dropConference,
19353
14
      { "dropConference", "h245.dropConference_element",
19354
14
        FT_NONE, BASE_NONE, NULL, 0,
19355
14
        NULL, HFILL }},
19356
14
    { &hf_h245_substituteConferenceIDCommand,
19357
14
      { "substituteConferenceIDCommand", "h245.substituteConferenceIDCommand_element",
19358
14
        FT_NONE, BASE_NONE, NULL, 0,
19359
14
        NULL, HFILL }},
19360
14
    { &hf_h245_conferenceIdentifier,
19361
14
      { "conferenceIdentifier", "h245.conferenceIdentifier",
19362
14
        FT_BYTES, BASE_NONE, NULL, 0,
19363
14
        "OCTET_STRING_SIZE_16", HFILL }},
19364
14
    { &hf_h245_masterToSlave,
19365
14
      { "masterToSlave", "h245.masterToSlave_element",
19366
14
        FT_NONE, BASE_NONE, NULL, 0,
19367
14
        NULL, HFILL }},
19368
14
    { &hf_h245_slaveToMaster,
19369
14
      { "slaveToMaster", "h245.slaveToMaster_element",
19370
14
        FT_NONE, BASE_NONE, NULL, 0,
19371
14
        NULL, HFILL }},
19372
14
    { &hf_h245_mc_type,
19373
14
      { "type", "h245.mc_type",
19374
14
        FT_UINT32, BASE_DEC, VALS(h245_Mc_type_vals), 0,
19375
14
        "Mc_type", HFILL }},
19376
14
    { &hf_h245_equaliseDelay,
19377
14
      { "equaliseDelay", "h245.equaliseDelay_element",
19378
14
        FT_NONE, BASE_NONE, NULL, 0,
19379
14
        NULL, HFILL }},
19380
14
    { &hf_h245_zeroDelay,
19381
14
      { "zeroDelay", "h245.zeroDelay_element",
19382
14
        FT_NONE, BASE_NONE, NULL, 0,
19383
14
        NULL, HFILL }},
19384
14
    { &hf_h245_multipointModeCommand,
19385
14
      { "multipointModeCommand", "h245.multipointModeCommand_element",
19386
14
        FT_NONE, BASE_NONE, NULL, 0,
19387
14
        NULL, HFILL }},
19388
14
    { &hf_h245_cancelMultipointModeCommand,
19389
14
      { "cancelMultipointModeCommand", "h245.cancelMultipointModeCommand_element",
19390
14
        FT_NONE, BASE_NONE, NULL, 0,
19391
14
        NULL, HFILL }},
19392
14
    { &hf_h245_videoFreezePicture,
19393
14
      { "videoFreezePicture", "h245.videoFreezePicture_element",
19394
14
        FT_NONE, BASE_NONE, NULL, 0,
19395
14
        NULL, HFILL }},
19396
14
    { &hf_h245_videoFastUpdatePicture,
19397
14
      { "videoFastUpdatePicture", "h245.videoFastUpdatePicture_element",
19398
14
        FT_NONE, BASE_NONE, NULL, 0,
19399
14
        NULL, HFILL }},
19400
14
    { &hf_h245_videoFastUpdateGOB,
19401
14
      { "videoFastUpdateGOB", "h245.videoFastUpdateGOB_element",
19402
14
        FT_NONE, BASE_NONE, NULL, 0,
19403
14
        NULL, HFILL }},
19404
14
    { &hf_h245_firstGOB,
19405
14
      { "firstGOB", "h245.firstGOB",
19406
14
        FT_UINT32, BASE_DEC, NULL, 0,
19407
14
        "INTEGER_0_17", HFILL }},
19408
14
    { &hf_h245_numberOfGOBs,
19409
14
      { "numberOfGOBs", "h245.numberOfGOBs",
19410
14
        FT_UINT32, BASE_DEC, NULL, 0,
19411
14
        "INTEGER_1_18", HFILL }},
19412
14
    { &hf_h245_videoTemporalSpatialTradeOff,
19413
14
      { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff",
19414
14
        FT_UINT32, BASE_DEC, NULL, 0,
19415
14
        "INTEGER_0_31", HFILL }},
19416
14
    { &hf_h245_videoSendSyncEveryGOB,
19417
14
      { "videoSendSyncEveryGOB", "h245.videoSendSyncEveryGOB_element",
19418
14
        FT_NONE, BASE_NONE, NULL, 0,
19419
14
        NULL, HFILL }},
19420
14
    { &hf_h245_videoSendSyncEveryGOBCancel,
19421
14
      { "videoSendSyncEveryGOBCancel", "h245.videoSendSyncEveryGOBCancel_element",
19422
14
        FT_NONE, BASE_NONE, NULL, 0,
19423
14
        NULL, HFILL }},
19424
14
    { &hf_h245_videoFastUpdateMB,
19425
14
      { "videoFastUpdateMB", "h245.videoFastUpdateMB_element",
19426
14
        FT_NONE, BASE_NONE, NULL, 0,
19427
14
        NULL, HFILL }},
19428
14
    { &hf_h245_firstGOB_0_255,
19429
14
      { "firstGOB", "h245.firstGOB_0_255",
19430
14
        FT_UINT32, BASE_DEC, NULL, 0,
19431
14
        "INTEGER_0_255", HFILL }},
19432
14
    { &hf_h245_firstMB_1_8192,
19433
14
      { "firstMB", "h245.firstMB_1_8192",
19434
14
        FT_UINT32, BASE_DEC, NULL, 0,
19435
14
        "INTEGER_1_8192", HFILL }},
19436
14
    { &hf_h245_numberOfMBs,
19437
14
      { "numberOfMBs", "h245.numberOfMBs",
19438
14
        FT_UINT32, BASE_DEC, NULL, 0,
19439
14
        "INTEGER_1_8192", HFILL }},
19440
14
    { &hf_h245_maxH223MUXPDUsize,
19441
14
      { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize",
19442
14
        FT_UINT32, BASE_DEC, NULL, 0,
19443
14
        "INTEGER_1_65535", HFILL }},
19444
14
    { &hf_h245_encryptionUpdate,
19445
14
      { "encryptionUpdate", "h245.encryptionUpdate_element",
19446
14
        FT_NONE, BASE_NONE, NULL, 0,
19447
14
        "EncryptionSync", HFILL }},
19448
14
    { &hf_h245_encryptionUpdateRequest,
19449
14
      { "encryptionUpdateRequest", "h245.encryptionUpdateRequest_element",
19450
14
        FT_NONE, BASE_NONE, NULL, 0,
19451
14
        NULL, HFILL }},
19452
14
    { &hf_h245_switchReceiveMediaOff,
19453
14
      { "switchReceiveMediaOff", "h245.switchReceiveMediaOff_element",
19454
14
        FT_NONE, BASE_NONE, NULL, 0,
19455
14
        NULL, HFILL }},
19456
14
    { &hf_h245_switchReceiveMediaOn,
19457
14
      { "switchReceiveMediaOn", "h245.switchReceiveMediaOn_element",
19458
14
        FT_NONE, BASE_NONE, NULL, 0,
19459
14
        NULL, HFILL }},
19460
14
    { &hf_h245_progressiveRefinementStart,
19461
14
      { "progressiveRefinementStart", "h245.progressiveRefinementStart_element",
19462
14
        FT_NONE, BASE_NONE, NULL, 0,
19463
14
        NULL, HFILL }},
19464
14
    { &hf_h245_repeatCount,
19465
14
      { "repeatCount", "h245.repeatCount",
19466
14
        FT_UINT32, BASE_DEC, VALS(h245_T_repeatCount_vals), 0,
19467
14
        NULL, HFILL }},
19468
14
    { &hf_h245_doOneProgression,
19469
14
      { "doOneProgression", "h245.doOneProgression_element",
19470
14
        FT_NONE, BASE_NONE, NULL, 0,
19471
14
        NULL, HFILL }},
19472
14
    { &hf_h245_doContinuousProgressions,
19473
14
      { "doContinuousProgressions", "h245.doContinuousProgressions_element",
19474
14
        FT_NONE, BASE_NONE, NULL, 0,
19475
14
        NULL, HFILL }},
19476
14
    { &hf_h245_doOneIndependentProgression,
19477
14
      { "doOneIndependentProgression", "h245.doOneIndependentProgression_element",
19478
14
        FT_NONE, BASE_NONE, NULL, 0,
19479
14
        NULL, HFILL }},
19480
14
    { &hf_h245_doContinuousIndependentProgressions,
19481
14
      { "doContinuousIndependentProgressions", "h245.doContinuousIndependentProgressions_element",
19482
14
        FT_NONE, BASE_NONE, NULL, 0,
19483
14
        NULL, HFILL }},
19484
14
    { &hf_h245_progressiveRefinementAbortOne,
19485
14
      { "progressiveRefinementAbortOne", "h245.progressiveRefinementAbortOne_element",
19486
14
        FT_NONE, BASE_NONE, NULL, 0,
19487
14
        NULL, HFILL }},
19488
14
    { &hf_h245_progressiveRefinementAbortContinuous,
19489
14
      { "progressiveRefinementAbortContinuous", "h245.progressiveRefinementAbortContinuous_element",
19490
14
        FT_NONE, BASE_NONE, NULL, 0,
19491
14
        NULL, HFILL }},
19492
14
    { &hf_h245_videoBadMBs,
19493
14
      { "videoBadMBs", "h245.videoBadMBs_element",
19494
14
        FT_NONE, BASE_NONE, NULL, 0,
19495
14
        NULL, HFILL }},
19496
14
    { &hf_h245_firstMB,
19497
14
      { "firstMB", "h245.firstMB",
19498
14
        FT_UINT32, BASE_DEC, NULL, 0,
19499
14
        "INTEGER_1_9216", HFILL }},
19500
14
    { &hf_h245_numberOfMBs1_1_9216,
19501
14
      { "numberOfMBs", "h245.numberOfMBs1_1_9216",
19502
14
        FT_UINT32, BASE_DEC, NULL, 0,
19503
14
        "INTEGER_1_9216", HFILL }},
19504
14
    { &hf_h245_temporalReference,
19505
14
      { "temporalReference", "h245.temporalReference",
19506
14
        FT_UINT32, BASE_DEC, NULL, 0,
19507
14
        "INTEGER_0_1023", HFILL }},
19508
14
    { &hf_h245_lostPicture,
19509
14
      { "lostPicture", "h245.lostPicture",
19510
14
        FT_UINT32, BASE_DEC, NULL, 0,
19511
14
        "SEQUENCE_OF_PictureReference", HFILL }},
19512
14
    { &hf_h245_lostPicture_item,
19513
14
      { "PictureReference", "h245.PictureReference",
19514
14
        FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19515
14
        NULL, HFILL }},
19516
14
    { &hf_h245_lostPartialPicture,
19517
14
      { "lostPartialPicture", "h245.lostPartialPicture_element",
19518
14
        FT_NONE, BASE_NONE, NULL, 0,
19519
14
        NULL, HFILL }},
19520
14
    { &hf_h245_pictureReference,
19521
14
      { "pictureReference", "h245.pictureReference",
19522
14
        FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19523
14
        NULL, HFILL }},
19524
14
    { &hf_h245_recoveryReferencePicture,
19525
14
      { "recoveryReferencePicture", "h245.recoveryReferencePicture",
19526
14
        FT_UINT32, BASE_DEC, NULL, 0,
19527
14
        "SEQUENCE_OF_PictureReference", HFILL }},
19528
14
    { &hf_h245_recoveryReferencePicture_item,
19529
14
      { "PictureReference", "h245.PictureReference",
19530
14
        FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19531
14
        NULL, HFILL }},
19532
14
    { &hf_h245_encryptionUpdateCommand,
19533
14
      { "encryptionUpdateCommand", "h245.encryptionUpdateCommand_element",
19534
14
        FT_NONE, BASE_NONE, NULL, 0,
19535
14
        NULL, HFILL }},
19536
14
    { &hf_h245_encryptionUpdateAck,
19537
14
      { "encryptionUpdateAck", "h245.encryptionUpdateAck_element",
19538
14
        FT_NONE, BASE_NONE, NULL, 0,
19539
14
        NULL, HFILL }},
19540
14
    { &hf_h245_direction,
19541
14
      { "direction", "h245.direction",
19542
14
        FT_UINT32, BASE_DEC, VALS(h245_EncryptionUpdateDirection_vals), 0,
19543
14
        "EncryptionUpdateDirection", HFILL }},
19544
14
    { &hf_h245_secureChannel,
19545
14
      { "secureChannel", "h245.secureChannel",
19546
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
19547
14
        "BOOLEAN", HFILL }},
19548
14
    { &hf_h245_sharedSecret,
19549
14
      { "sharedSecret", "h245.sharedSecret",
19550
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
19551
14
        "BOOLEAN", HFILL }},
19552
14
    { &hf_h245_certProtectedKey,
19553
14
      { "certProtectedKey", "h245.certProtectedKey",
19554
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
19555
14
        "BOOLEAN", HFILL }},
19556
14
    { &hf_h245_keyProtectionMethod,
19557
14
      { "keyProtectionMethod", "h245.keyProtectionMethod_element",
19558
14
        FT_NONE, BASE_NONE, NULL, 0,
19559
14
        NULL, HFILL }},
19560
14
    { &hf_h245_pictureNumber,
19561
14
      { "pictureNumber", "h245.pictureNumber",
19562
14
        FT_UINT32, BASE_DEC, NULL, 0,
19563
14
        "INTEGER_0_1023", HFILL }},
19564
14
    { &hf_h245_longTermPictureIndex,
19565
14
      { "longTermPictureIndex", "h245.longTermPictureIndex",
19566
14
        FT_UINT32, BASE_DEC, NULL, 0,
19567
14
        "INTEGER_0_255", HFILL }},
19568
14
    { &hf_h245_h223ModeChange,
19569
14
      { "h223ModeChange", "h245.h223ModeChange",
19570
14
        FT_UINT32, BASE_DEC, VALS(h245_T_h223ModeChange_vals), 0,
19571
14
        NULL, HFILL }},
19572
14
    { &hf_h245_toLevel0,
19573
14
      { "toLevel0", "h245.toLevel0_element",
19574
14
        FT_NONE, BASE_NONE, NULL, 0,
19575
14
        NULL, HFILL }},
19576
14
    { &hf_h245_toLevel1,
19577
14
      { "toLevel1", "h245.toLevel1_element",
19578
14
        FT_NONE, BASE_NONE, NULL, 0,
19579
14
        NULL, HFILL }},
19580
14
    { &hf_h245_toLevel2,
19581
14
      { "toLevel2", "h245.toLevel2_element",
19582
14
        FT_NONE, BASE_NONE, NULL, 0,
19583
14
        NULL, HFILL }},
19584
14
    { &hf_h245_toLevel2withOptionalHeader,
19585
14
      { "toLevel2withOptionalHeader", "h245.toLevel2withOptionalHeader_element",
19586
14
        FT_NONE, BASE_NONE, NULL, 0,
19587
14
        NULL, HFILL }},
19588
14
    { &hf_h245_h223AnnexADoubleFlag,
19589
14
      { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
19590
14
        FT_UINT32, BASE_DEC, VALS(h245_T_h223AnnexADoubleFlag_vals), 0,
19591
14
        NULL, HFILL }},
19592
14
    { &hf_h245_start,
19593
14
      { "start", "h245.start_element",
19594
14
        FT_NONE, BASE_NONE, NULL, 0,
19595
14
        NULL, HFILL }},
19596
14
    { &hf_h245_stop,
19597
14
      { "stop", "h245.stop_element",
19598
14
        FT_NONE, BASE_NONE, NULL, 0,
19599
14
        NULL, HFILL }},
19600
14
    { &hf_h245_bitRate,
19601
14
      { "bitRate", "h245.bitRate",
19602
14
        FT_UINT32, BASE_DEC, NULL, 0,
19603
14
        "INTEGER_1_65535", HFILL }},
19604
14
    { &hf_h245_bitRateLockedToPCRClock,
19605
14
      { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock",
19606
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
19607
14
        "BOOLEAN", HFILL }},
19608
14
    { &hf_h245_bitRateLockedToNetworkClock,
19609
14
      { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock",
19610
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
19611
14
        "BOOLEAN", HFILL }},
19612
14
    { &hf_h245_cmd_aal,
19613
14
      { "aal", "h245.cmd_aal",
19614
14
        FT_UINT32, BASE_DEC, VALS(h245_Cmd_aal_vals), 0,
19615
14
        "Cmd_aal", HFILL }},
19616
14
    { &hf_h245_cmd_aal1,
19617
14
      { "aal1", "h245.cmd_aal1_element",
19618
14
        FT_NONE, BASE_NONE, NULL, 0,
19619
14
        "Cmd_aal1", HFILL }},
19620
14
    { &hf_h245_cmd_clockRecovery,
19621
14
      { "clockRecovery", "h245.cmd_clockRecovery",
19622
14
        FT_UINT32, BASE_DEC, VALS(h245_Cmd_clockRecovery_vals), 0,
19623
14
        "Cmd_clockRecovery", HFILL }},
19624
14
    { &hf_h245_nullClockRecoveryflag,
19625
14
      { "nullClockRecovery", "h245.nullClockRecoveryflag_element",
19626
14
        FT_NONE, BASE_NONE, NULL, 0,
19627
14
        NULL, HFILL }},
19628
14
    { &hf_h245_srtsClockRecovery,
19629
14
      { "srtsClockRecovery", "h245.srtsClockRecovery_element",
19630
14
        FT_NONE, BASE_NONE, NULL, 0,
19631
14
        NULL, HFILL }},
19632
14
    { &hf_h245_adaptiveClockRecoveryFlag,
19633
14
      { "adaptiveClockRecovery", "h245.adaptiveClockRecoveryFlag_element",
19634
14
        FT_NONE, BASE_NONE, NULL, 0,
19635
14
        NULL, HFILL }},
19636
14
    { &hf_h245_cmd_errorCorrection,
19637
14
      { "errorCorrection", "h245.cmd_errorCorrection",
19638
14
        FT_UINT32, BASE_DEC, VALS(h245_Cmd_errorCorrection_vals), 0,
19639
14
        "Cmd_errorCorrection", HFILL }},
19640
14
    { &hf_h245_nullErrorCorrectionFlag,
19641
14
      { "nullErrorCorrection", "h245.nullErrorCorrectionFlag_element",
19642
14
        FT_NONE, BASE_NONE, NULL, 0,
19643
14
        NULL, HFILL }},
19644
14
    { &hf_h245_longInterleaverFlag,
19645
14
      { "longInterleaver", "h245.longInterleaverFlag_element",
19646
14
        FT_NONE, BASE_NONE, NULL, 0,
19647
14
        NULL, HFILL }},
19648
14
    { &hf_h245_shortInterleaverFlag,
19649
14
      { "shortInterleaver", "h245.shortInterleaverFlag_element",
19650
14
        FT_NONE, BASE_NONE, NULL, 0,
19651
14
        NULL, HFILL }},
19652
14
    { &hf_h245_errorCorrectionOnlyFlag,
19653
14
      { "errorCorrectionOnly", "h245.errorCorrectionOnlyFlag_element",
19654
14
        FT_NONE, BASE_NONE, NULL, 0,
19655
14
        NULL, HFILL }},
19656
14
    { &hf_h245_cmd_aal5,
19657
14
      { "aal5", "h245.cmd_aal5_element",
19658
14
        FT_NONE, BASE_NONE, NULL, 0,
19659
14
        "Cmd_aal5", HFILL }},
19660
14
    { &hf_h245_cmd_multiplex,
19661
14
      { "multiplex", "h245.cmd_multiplex",
19662
14
        FT_UINT32, BASE_DEC, VALS(h245_Cmd_multiplex_vals), 0,
19663
14
        "Cmd_multiplex", HFILL }},
19664
14
    { &hf_h245_noMultiplex,
19665
14
      { "noMultiplex", "h245.noMultiplex_element",
19666
14
        FT_NONE, BASE_NONE, NULL, 0,
19667
14
        NULL, HFILL }},
19668
14
    { &hf_h245_transportStream,
19669
14
      { "transportStream", "h245.transportStream_element",
19670
14
        FT_NONE, BASE_NONE, NULL, 0,
19671
14
        NULL, HFILL }},
19672
14
    { &hf_h245_programStreamFlag,
19673
14
      { "programStream", "h245.programStreamFlag_element",
19674
14
        FT_NONE, BASE_NONE, NULL, 0,
19675
14
        NULL, HFILL }},
19676
14
    { &hf_h245_cmd_reverseParameters,
19677
14
      { "reverseParameters", "h245.cmd_reverseParameters_element",
19678
14
        FT_NONE, BASE_NONE, NULL, 0,
19679
14
        "Cmd_reverseParameters", HFILL }},
19680
14
    { &hf_h245_cmdr_multiplex,
19681
14
      { "multiplex", "h245.cmdr_multiplex",
19682
14
        FT_UINT32, BASE_DEC, VALS(h245_CmdR_multiplex_vals), 0,
19683
14
        "CmdR_multiplex", HFILL }},
19684
14
    { &hf_h245_sampleSize,
19685
14
      { "sampleSize", "h245.sampleSize",
19686
14
        FT_UINT32, BASE_DEC, NULL, 0,
19687
14
        "INTEGER_1_255", HFILL }},
19688
14
    { &hf_h245_samplesPerFrame,
19689
14
      { "samplesPerFrame", "h245.samplesPerFrame",
19690
14
        FT_UINT32, BASE_DEC, NULL, 0,
19691
14
        "INTEGER_1_255", HFILL }},
19692
14
    { &hf_h245_status,
19693
14
      { "status", "h245.status",
19694
14
        FT_UINT32, BASE_DEC, VALS(h245_T_status_vals), 0,
19695
14
        NULL, HFILL }},
19696
14
    { &hf_h245_synchronized,
19697
14
      { "synchronized", "h245.synchronized_element",
19698
14
        FT_NONE, BASE_NONE, NULL, 0,
19699
14
        NULL, HFILL }},
19700
14
    { &hf_h245_reconfiguration,
19701
14
      { "reconfiguration", "h245.reconfiguration_element",
19702
14
        FT_NONE, BASE_NONE, NULL, 0,
19703
14
        NULL, HFILL }},
19704
14
    { &hf_h245_fns_cause,
19705
14
      { "cause", "h245.fns_cause",
19706
14
        FT_UINT32, BASE_DEC, VALS(h245_FunctionNotSupportedCause_vals), 0,
19707
14
        "FunctionNotSupportedCause", HFILL }},
19708
14
    { &hf_h245_syntaxError,
19709
14
      { "syntaxError", "h245.syntaxError_element",
19710
14
        FT_NONE, BASE_NONE, NULL, 0,
19711
14
        NULL, HFILL }},
19712
14
    { &hf_h245_semanticError,
19713
14
      { "semanticError", "h245.semanticError_element",
19714
14
        FT_NONE, BASE_NONE, NULL, 0,
19715
14
        NULL, HFILL }},
19716
14
    { &hf_h245_unknownFunction,
19717
14
      { "unknownFunction", "h245.unknownFunction_element",
19718
14
        FT_NONE, BASE_NONE, NULL, 0,
19719
14
        NULL, HFILL }},
19720
14
    { &hf_h245_returnedFunction,
19721
14
      { "returnedFunction", "h245.returnedFunction",
19722
14
        FT_BYTES, BASE_NONE, NULL, 0,
19723
14
        NULL, HFILL }},
19724
14
    { &hf_h245_sbeNumber,
19725
14
      { "sbeNumber", "h245.sbeNumber",
19726
14
        FT_UINT32, BASE_DEC, NULL, 0,
19727
14
        "INTEGER_0_9", HFILL }},
19728
14
    { &hf_h245_terminalNumberAssign,
19729
14
      { "terminalNumberAssign", "h245.terminalNumberAssign_element",
19730
14
        FT_NONE, BASE_NONE, NULL, 0,
19731
14
        "TerminalLabel", HFILL }},
19732
14
    { &hf_h245_terminalJoinedConference,
19733
14
      { "terminalJoinedConference", "h245.terminalJoinedConference_element",
19734
14
        FT_NONE, BASE_NONE, NULL, 0,
19735
14
        "TerminalLabel", HFILL }},
19736
14
    { &hf_h245_terminalLeftConference,
19737
14
      { "terminalLeftConference", "h245.terminalLeftConference_element",
19738
14
        FT_NONE, BASE_NONE, NULL, 0,
19739
14
        "TerminalLabel", HFILL }},
19740
14
    { &hf_h245_seenByAtLeastOneOther,
19741
14
      { "seenByAtLeastOneOther", "h245.seenByAtLeastOneOther_element",
19742
14
        FT_NONE, BASE_NONE, NULL, 0,
19743
14
        NULL, HFILL }},
19744
14
    { &hf_h245_cancelSeenByAtLeastOneOther,
19745
14
      { "cancelSeenByAtLeastOneOther", "h245.cancelSeenByAtLeastOneOther_element",
19746
14
        FT_NONE, BASE_NONE, NULL, 0,
19747
14
        NULL, HFILL }},
19748
14
    { &hf_h245_seenByAll,
19749
14
      { "seenByAll", "h245.seenByAll_element",
19750
14
        FT_NONE, BASE_NONE, NULL, 0,
19751
14
        NULL, HFILL }},
19752
14
    { &hf_h245_cancelSeenByAll,
19753
14
      { "cancelSeenByAll", "h245.cancelSeenByAll_element",
19754
14
        FT_NONE, BASE_NONE, NULL, 0,
19755
14
        NULL, HFILL }},
19756
14
    { &hf_h245_terminalYouAreSeeing,
19757
14
      { "terminalYouAreSeeing", "h245.terminalYouAreSeeing_element",
19758
14
        FT_NONE, BASE_NONE, NULL, 0,
19759
14
        "TerminalLabel", HFILL }},
19760
14
    { &hf_h245_requestForFloor,
19761
14
      { "requestForFloor", "h245.requestForFloor_element",
19762
14
        FT_NONE, BASE_NONE, NULL, 0,
19763
14
        NULL, HFILL }},
19764
14
    { &hf_h245_withdrawChairToken,
19765
14
      { "withdrawChairToken", "h245.withdrawChairToken_element",
19766
14
        FT_NONE, BASE_NONE, NULL, 0,
19767
14
        NULL, HFILL }},
19768
14
    { &hf_h245_floorRequested,
19769
14
      { "floorRequested", "h245.floorRequested_element",
19770
14
        FT_NONE, BASE_NONE, NULL, 0,
19771
14
        "TerminalLabel", HFILL }},
19772
14
    { &hf_h245_terminalYouAreSeeingInSubPictureNumber,
19773
14
      { "terminalYouAreSeeingInSubPictureNumber", "h245.terminalYouAreSeeingInSubPictureNumber_element",
19774
14
        FT_NONE, BASE_NONE, NULL, 0,
19775
14
        NULL, HFILL }},
19776
14
    { &hf_h245_videoIndicateCompose,
19777
14
      { "videoIndicateCompose", "h245.videoIndicateCompose_element",
19778
14
        FT_NONE, BASE_NONE, NULL, 0,
19779
14
        NULL, HFILL }},
19780
14
    { &hf_h245_masterMCU,
19781
14
      { "masterMCU", "h245.masterMCU_element",
19782
14
        FT_NONE, BASE_NONE, NULL, 0,
19783
14
        NULL, HFILL }},
19784
14
    { &hf_h245_cancelMasterMCU,
19785
14
      { "cancelMasterMCU", "h245.cancelMasterMCU_element",
19786
14
        FT_NONE, BASE_NONE, NULL, 0,
19787
14
        NULL, HFILL }},
19788
14
    { &hf_h245_subPictureNumber,
19789
14
      { "subPictureNumber", "h245.subPictureNumber",
19790
14
        FT_UINT32, BASE_DEC, NULL, 0,
19791
14
        "INTEGER_0_255", HFILL }},
19792
14
    { &hf_h245_compositionNumber,
19793
14
      { "compositionNumber", "h245.compositionNumber",
19794
14
        FT_UINT32, BASE_DEC, NULL, 0,
19795
14
        "INTEGER_0_255", HFILL }},
19796
14
    { &hf_h245_mi_type,
19797
14
      { "type", "h245.mi_type",
19798
14
        FT_UINT32, BASE_DEC, VALS(h245_Mi_type_vals), 0,
19799
14
        "Mi_type", HFILL }},
19800
14
    { &hf_h245_logicalChannelActive,
19801
14
      { "logicalChannelActive", "h245.logicalChannelActive_element",
19802
14
        FT_NONE, BASE_NONE, NULL, 0,
19803
14
        NULL, HFILL }},
19804
14
    { &hf_h245_logicalChannelInactive,
19805
14
      { "logicalChannelInactive", "h245.logicalChannelInactive_element",
19806
14
        FT_NONE, BASE_NONE, NULL, 0,
19807
14
        NULL, HFILL }},
19808
14
    { &hf_h245_multipointConference,
19809
14
      { "multipointConference", "h245.multipointConference_element",
19810
14
        FT_NONE, BASE_NONE, NULL, 0,
19811
14
        NULL, HFILL }},
19812
14
    { &hf_h245_cancelMultipointConference,
19813
14
      { "cancelMultipointConference", "h245.cancelMultipointConference_element",
19814
14
        FT_NONE, BASE_NONE, NULL, 0,
19815
14
        NULL, HFILL }},
19816
14
    { &hf_h245_multipointZeroComm,
19817
14
      { "multipointZeroComm", "h245.multipointZeroComm_element",
19818
14
        FT_NONE, BASE_NONE, NULL, 0,
19819
14
        NULL, HFILL }},
19820
14
    { &hf_h245_cancelMultipointZeroComm,
19821
14
      { "cancelMultipointZeroComm", "h245.cancelMultipointZeroComm_element",
19822
14
        FT_NONE, BASE_NONE, NULL, 0,
19823
14
        NULL, HFILL }},
19824
14
    { &hf_h245_multipointSecondaryStatus,
19825
14
      { "multipointSecondaryStatus", "h245.multipointSecondaryStatus_element",
19826
14
        FT_NONE, BASE_NONE, NULL, 0,
19827
14
        NULL, HFILL }},
19828
14
    { &hf_h245_cancelMultipointSecondaryStatus,
19829
14
      { "cancelMultipointSecondaryStatus", "h245.cancelMultipointSecondaryStatus_element",
19830
14
        FT_NONE, BASE_NONE, NULL, 0,
19831
14
        NULL, HFILL }},
19832
14
    { &hf_h245_videoIndicateReadyToActivate,
19833
14
      { "videoIndicateReadyToActivate", "h245.videoIndicateReadyToActivate_element",
19834
14
        FT_NONE, BASE_NONE, NULL, 0,
19835
14
        NULL, HFILL }},
19836
14
    { &hf_h245_videoNotDecodedMBs,
19837
14
      { "videoNotDecodedMBs", "h245.videoNotDecodedMBs_element",
19838
14
        FT_NONE, BASE_NONE, NULL, 0,
19839
14
        NULL, HFILL }},
19840
14
    { &hf_h245_temporalReference_0_255,
19841
14
      { "temporalReference", "h245.temporalReference_0_255",
19842
14
        FT_UINT32, BASE_DEC, NULL, 0,
19843
14
        "INTEGER_0_255", HFILL }},
19844
14
    { &hf_h245_estimatedReceivedJitterMantissa,
19845
14
      { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa",
19846
14
        FT_UINT32, BASE_DEC, NULL, 0,
19847
14
        "INTEGER_0_3", HFILL }},
19848
14
    { &hf_h245_estimatedReceivedJitterExponent,
19849
14
      { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent",
19850
14
        FT_UINT32, BASE_DEC, NULL, 0,
19851
14
        "INTEGER_0_7", HFILL }},
19852
14
    { &hf_h245_skippedFrameCount,
19853
14
      { "skippedFrameCount", "h245.skippedFrameCount",
19854
14
        FT_UINT32, BASE_DEC, NULL, 0,
19855
14
        "INTEGER_0_15", HFILL }},
19856
14
    { &hf_h245_additionalDecoderBuffer,
19857
14
      { "additionalDecoderBuffer", "h245.additionalDecoderBuffer",
19858
14
        FT_UINT32, BASE_DEC, NULL, 0,
19859
14
        "INTEGER_0_262143", HFILL }},
19860
14
    { &hf_h245_logicalChannelNumber1,
19861
14
      { "logicalChannelNumber1", "h245.logicalChannelNumber1",
19862
14
        FT_UINT32, BASE_DEC, NULL, 0,
19863
14
        "LogicalChannelNumber", HFILL }},
19864
14
    { &hf_h245_logicalChannelNumber2,
19865
14
      { "logicalChannelNumber2", "h245.logicalChannelNumber2",
19866
14
        FT_UINT32, BASE_DEC, NULL, 0,
19867
14
        "LogicalChannelNumber", HFILL }},
19868
14
    { &hf_h245_skew,
19869
14
      { "skew", "h245.skew",
19870
14
        FT_UINT32, BASE_DEC, NULL, 0,
19871
14
        "INTEGER_0_4095", HFILL }},
19872
14
    { &hf_h245_maximumSkew,
19873
14
      { "maximumSkew", "h245.maximumSkew",
19874
14
        FT_UINT32, BASE_DEC, NULL, 0,
19875
14
        "INTEGER_0_4095", HFILL }},
19876
14
    { &hf_h245_signalAddress,
19877
14
      { "signalAddress", "h245.signalAddress",
19878
14
        FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
19879
14
        "TransportAddress", HFILL }},
19880
14
    { &hf_h245_vendor,
19881
14
      { "vendor", "h245.vendor",
19882
14
        FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
19883
14
        "NonStandardIdentifier", HFILL }},
19884
14
    { &hf_h245_productNumber,
19885
14
      { "productNumber", "h245.productNumber",
19886
14
        FT_STRING, BASE_NONE, NULL, 0,
19887
14
        "OCTET_STRING_SIZE_1_256", HFILL }},
19888
14
    { &hf_h245_versionNumber,
19889
14
      { "versionNumber", "h245.versionNumber",
19890
14
        FT_STRING, BASE_NONE, NULL, 0,
19891
14
        "OCTET_STRING_SIZE_1_256", HFILL }},
19892
14
    { &hf_h245_ind_aal,
19893
14
      { "aal", "h245.ind_aal",
19894
14
        FT_UINT32, BASE_DEC, VALS(h245_Ind_aal_vals), 0,
19895
14
        "Ind_aal", HFILL }},
19896
14
    { &hf_h245_ind_aal1,
19897
14
      { "aal1", "h245.ind_aal1_element",
19898
14
        FT_NONE, BASE_NONE, NULL, 0,
19899
14
        "Ind_aal1", HFILL }},
19900
14
    { &hf_h245_ind_clockRecovery,
19901
14
      { "clockRecovery", "h245.ind_clockRecovery",
19902
14
        FT_UINT32, BASE_DEC, VALS(h245_Ind_clockRecovery_vals), 0,
19903
14
        "Ind_clockRecovery", HFILL }},
19904
14
    { &hf_h245_ind_errorCorrection,
19905
14
      { "errorCorrection", "h245.ind_errorCorrection",
19906
14
        FT_UINT32, BASE_DEC, VALS(h245_Ind_errorCorrection_vals), 0,
19907
14
        "Ind_errorCorrection", HFILL }},
19908
14
    { &hf_h245_ind_aal5,
19909
14
      { "aal5", "h245.ind_aal5_element",
19910
14
        FT_NONE, BASE_NONE, NULL, 0,
19911
14
        "Ind_aal5", HFILL }},
19912
14
    { &hf_h245_ind_multiplex,
19913
14
      { "multiplex", "h245.ind_multiplex",
19914
14
        FT_UINT32, BASE_DEC, VALS(h245_Ind_multiplex_vals), 0,
19915
14
        "Ind_multiplex", HFILL }},
19916
14
    { &hf_h245_ind_reverseParameters,
19917
14
      { "reverseParameters", "h245.ind_reverseParameters_element",
19918
14
        FT_NONE, BASE_NONE, NULL, 0,
19919
14
        "Ind_reverseParameters", HFILL }},
19920
14
    { &hf_h245_indr_multiplex,
19921
14
      { "multiplex", "h245.indr_multiplex",
19922
14
        FT_UINT32, BASE_DEC, VALS(h245_IndR_multiplex_vals), 0,
19923
14
        "IndR_multiplex", HFILL }},
19924
14
    { &hf_h245_iv8,
19925
14
      { "iv8", "h245.iv8",
19926
14
        FT_BYTES, BASE_NONE, NULL, 0,
19927
14
        NULL, HFILL }},
19928
14
    { &hf_h245_iv16,
19929
14
      { "iv16", "h245.iv16",
19930
14
        FT_BYTES, BASE_NONE, NULL, 0,
19931
14
        NULL, HFILL }},
19932
14
    { &hf_h245_iv,
19933
14
      { "iv", "h245.iv",
19934
14
        FT_BYTES, BASE_NONE, NULL, 0,
19935
14
        "OCTET_STRING", HFILL }},
19936
14
    { &hf_h245_alphanumeric,
19937
14
      { "alphanumeric", "h245.alphanumeric",
19938
14
        FT_STRING, BASE_NONE, NULL, 0,
19939
14
        "GeneralString", HFILL }},
19940
14
    { &hf_h245_userInputSupportIndication,
19941
14
      { "userInputSupportIndication", "h245.userInputSupportIndication",
19942
14
        FT_UINT32, BASE_DEC, VALS(h245_T_userInputSupportIndication_vals), 0,
19943
14
        NULL, HFILL }},
19944
14
    { &hf_h245_signal,
19945
14
      { "signal", "h245.signal_element",
19946
14
        FT_NONE, BASE_NONE, NULL, 0,
19947
14
        NULL, HFILL }},
19948
14
    { &hf_h245_signalType,
19949
14
      { "signalType", "h245.signalType",
19950
14
        FT_STRING, BASE_NONE, NULL, 0,
19951
14
        NULL, HFILL }},
19952
14
    { &hf_h245_duration,
19953
14
      { "duration", "h245.duration",
19954
14
        FT_UINT32, BASE_DEC, NULL, 0,
19955
14
        "INTEGER_1_65535", HFILL }},
19956
14
    { &hf_h245_rtp,
19957
14
      { "rtp", "h245.rtp_element",
19958
14
        FT_NONE, BASE_NONE, NULL, 0,
19959
14
        NULL, HFILL }},
19960
14
    { &hf_h245_timestamp,
19961
14
      { "timestamp", "h245.timestamp",
19962
14
        FT_UINT32, BASE_DEC, NULL, 0,
19963
14
        "INTEGER_0_4294967295", HFILL }},
19964
14
    { &hf_h245_expirationTime,
19965
14
      { "expirationTime", "h245.expirationTime",
19966
14
        FT_UINT32, BASE_DEC, NULL, 0,
19967
14
        "INTEGER_0_4294967295", HFILL }},
19968
14
    { &hf_h245_rtpPayloadIndication,
19969
14
      { "rtpPayloadIndication", "h245.rtpPayloadIndication_element",
19970
14
        FT_NONE, BASE_NONE, NULL, 0,
19971
14
        NULL, HFILL }},
19972
14
    { &hf_h245_paramS,
19973
14
      { "paramS", "h245.paramS_element",
19974
14
        FT_NONE, BASE_NONE, NULL, 0,
19975
14
        NULL, HFILL }},
19976
14
    { &hf_h245_encryptedSignalType,
19977
14
      { "encryptedSignalType", "h245.encryptedSignalType",
19978
14
        FT_BYTES, BASE_NONE, NULL, 0,
19979
14
        "OCTET_STRING_SIZE_1", HFILL }},
19980
14
    { &hf_h245_algorithmOID,
19981
14
      { "algorithmOID", "h245.algorithmOID",
19982
14
        FT_OID, BASE_NONE, NULL, 0,
19983
14
        "OBJECT_IDENTIFIER", HFILL }},
19984
14
    { &hf_h245_signalUpdate,
19985
14
      { "signalUpdate", "h245.signalUpdate_element",
19986
14
        FT_NONE, BASE_NONE, NULL, 0,
19987
14
        NULL, HFILL }},
19988
14
    { &hf_h245_si_rtp,
19989
14
      { "rtp", "h245.si_rtp_element",
19990
14
        FT_NONE, BASE_NONE, NULL, 0,
19991
14
        "Si_rtp", HFILL }},
19992
14
    { &hf_h245_extendedAlphanumeric,
19993
14
      { "extendedAlphanumeric", "h245.extendedAlphanumeric_element",
19994
14
        FT_NONE, BASE_NONE, NULL, 0,
19995
14
        NULL, HFILL }},
19996
14
    { &hf_h245_encrypted,
19997
14
      { "encrypted", "h245.encrypted",
19998
14
        FT_BYTES, BASE_NONE, NULL, 0,
19999
14
        "OCTET_STRING", HFILL }},
20000
14
    { &hf_h245_encryptedAlphanumeric,
20001
14
      { "encryptedAlphanumeric", "h245.encryptedAlphanumeric_element",
20002
14
        FT_NONE, BASE_NONE, NULL, 0,
20003
14
        NULL, HFILL }},
20004
14
  };
20005
20006
  /* List of subtrees */
20007
14
  static int *ett[] = {
20008
14
    &ett_h245,
20009
14
    &ett_h245_returnedFunction,
20010
14
    &ett_h245_MultimediaSystemControlMessage,
20011
14
    &ett_h245_RequestMessage,
20012
14
    &ett_h245_ResponseMessage,
20013
14
    &ett_h245_CommandMessage,
20014
14
    &ett_h245_IndicationMessage,
20015
14
    &ett_h245_GenericMessage,
20016
14
    &ett_h245_T_messageContent,
20017
14
    &ett_h245_NonStandardMessage,
20018
14
    &ett_h245_NonStandardParameter,
20019
14
    &ett_h245_NonStandardIdentifier,
20020
14
    &ett_h245_H221NonStandardID,
20021
14
    &ett_h245_MasterSlaveDetermination,
20022
14
    &ett_h245_MasterSlaveDeterminationAck,
20023
14
    &ett_h245_T_decision,
20024
14
    &ett_h245_MasterSlaveDeterminationReject,
20025
14
    &ett_h245_MasterSlaveDeterminationRejectCause,
20026
14
    &ett_h245_MasterSlaveDeterminationRelease,
20027
14
    &ett_h245_TerminalCapabilitySet,
20028
14
    &ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry,
20029
14
    &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor,
20030
14
    &ett_h245_SEQUENCE_OF_GenericInformation,
20031
14
    &ett_h245_CapabilityTableEntry,
20032
14
    &ett_h245_CapabilityDescriptor,
20033
14
    &ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet,
20034
14
    &ett_h245_AlternativeCapabilitySet,
20035
14
    &ett_h245_TerminalCapabilitySetAck,
20036
14
    &ett_h245_TerminalCapabilitySetReject,
20037
14
    &ett_h245_TerminalCapabilitySetRejectCause,
20038
14
    &ett_h245_T_tableEntryCapacityExceeded,
20039
14
    &ett_h245_TerminalCapabilitySetRelease,
20040
14
    &ett_h245_Capability,
20041
14
    &ett_h245_T_h233EncryptionReceiveCapability,
20042
14
    &ett_h245_H235SecurityCapability,
20043
14
    &ett_h245_MultiplexCapability,
20044
14
    &ett_h245_H222Capability,
20045
14
    &ett_h245_SET_OF_VCCapability,
20046
14
    &ett_h245_VCCapability,
20047
14
    &ett_h245_T_aal1,
20048
14
    &ett_h245_T_aal5,
20049
14
    &ett_h245_T_availableBitRates,
20050
14
    &ett_h245_Avb_type,
20051
14
    &ett_h245_T_rangeOfBitRates,
20052
14
    &ett_h245_T_aal1ViaGateway,
20053
14
    &ett_h245_SET_SIZE_1_256_OF_Q2931Address,
20054
14
    &ett_h245_H223Capability,
20055
14
    &ett_h245_T_h223MultiplexTableCapability,
20056
14
    &ett_h245_T_enhanced,
20057
14
    &ett_h245_T_mobileOperationTransmitCapability,
20058
14
    &ett_h245_T_mobileMultilinkFrameCapability,
20059
14
    &ett_h245_H223AnnexCCapability,
20060
14
    &ett_h245_V76Capability,
20061
14
    &ett_h245_V75Capability,
20062
14
    &ett_h245_H2250Capability,
20063
14
    &ett_h245_T_mcCapability,
20064
14
    &ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability,
20065
14
    &ett_h245_MediaPacketizationCapability,
20066
14
    &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType,
20067
14
    &ett_h245_RSVPParameters,
20068
14
    &ett_h245_QOSMode,
20069
14
    &ett_h245_ATMParameters,
20070
14
    &ett_h245_ServicePriorityValue,
20071
14
    &ett_h245_ServicePriority,
20072
14
    &ett_h245_AuthorizationParameters,
20073
14
    &ett_h245_QOSType,
20074
14
    &ett_h245_QOSClass,
20075
14
    &ett_h245_QOSDescriptor,
20076
14
    &ett_h245_GenericTransportParameters,
20077
14
    &ett_h245_QOSCapability,
20078
14
    &ett_h245_MediaTransportType,
20079
14
    &ett_h245_T_atm_AAL5_compressed,
20080
14
    &ett_h245_MediaChannelCapability,
20081
14
    &ett_h245_TransportCapability,
20082
14
    &ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability,
20083
14
    &ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability,
20084
14
    &ett_h245_RedundancyEncodingCapability,
20085
14
    &ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber,
20086
14
    &ett_h245_RedundancyEncodingMethod,
20087
14
    &ett_h245_RTPH263VideoRedundancyEncoding,
20088
14
    &ett_h245_T_frameToThreadMapping,
20089
14
    &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping,
20090
14
    &ett_h245_T_containedThreads,
20091
14
    &ett_h245_RTPH263VideoRedundancyFrameMapping,
20092
14
    &ett_h245_T_frameSequence,
20093
14
    &ett_h245_MultipointCapability,
20094
14
    &ett_h245_SEQUENCE_OF_MediaDistributionCapability,
20095
14
    &ett_h245_MediaDistributionCapability,
20096
14
    &ett_h245_SEQUENCE_OF_DataApplicationCapability,
20097
14
    &ett_h245_VideoCapability,
20098
14
    &ett_h245_ExtendedVideoCapability,
20099
14
    &ett_h245_SEQUENCE_OF_VideoCapability,
20100
14
    &ett_h245_SEQUENCE_OF_GenericCapability,
20101
14
    &ett_h245_H261VideoCapability,
20102
14
    &ett_h245_H262VideoCapability,
20103
14
    &ett_h245_H263VideoCapability,
20104
14
    &ett_h245_EnhancementLayerInfo,
20105
14
    &ett_h245_SET_SIZE_1_14_OF_EnhancementOptions,
20106
14
    &ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters,
20107
14
    &ett_h245_BEnhancementParameters,
20108
14
    &ett_h245_EnhancementOptions,
20109
14
    &ett_h245_H263Options,
20110
14
    &ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency,
20111
14
    &ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat,
20112
14
    &ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos,
20113
14
    &ett_h245_TransparencyParameters,
20114
14
    &ett_h245_RefPictureSelection,
20115
14
    &ett_h245_T_additionalPictureMemory,
20116
14
    &ett_h245_T_videoBackChannelSend,
20117
14
    &ett_h245_T_enhancedReferencePicSelect,
20118
14
    &ett_h245_T_subPictureRemovalParameters,
20119
14
    &ett_h245_CustomPictureClockFrequency,
20120
14
    &ett_h245_CustomPictureFormat,
20121
14
    &ett_h245_T_mPI,
20122
14
    &ett_h245_T_customPCF,
20123
14
    &ett_h245_T_customPCF_item,
20124
14
    &ett_h245_T_pixelAspectInformation,
20125
14
    &ett_h245_T_pixelAspectCode,
20126
14
    &ett_h245_T_extendedPAR,
20127
14
    &ett_h245_T_extendedPAR_item,
20128
14
    &ett_h245_H263VideoModeCombos,
20129
14
    &ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags,
20130
14
    &ett_h245_H263ModeComboFlags,
20131
14
    &ett_h245_H263Version3Options,
20132
14
    &ett_h245_IS11172VideoCapability,
20133
14
    &ett_h245_AudioCapability,
20134
14
    &ett_h245_T_g7231,
20135
14
    &ett_h245_G729Extensions,
20136
14
    &ett_h245_G7231AnnexCCapability,
20137
14
    &ett_h245_G723AnnexCAudioMode,
20138
14
    &ett_h245_IS11172AudioCapability,
20139
14
    &ett_h245_IS13818AudioCapability,
20140
14
    &ett_h245_GSMAudioCapability,
20141
14
    &ett_h245_VBDCapability,
20142
14
    &ett_h245_DataApplicationCapability,
20143
14
    &ett_h245_Application,
20144
14
    &ett_h245_T_t84,
20145
14
    &ett_h245_Nlpid,
20146
14
    &ett_h245_T_t38fax,
20147
14
    &ett_h245_DataProtocolCapability,
20148
14
    &ett_h245_T_v76wCompression,
20149
14
    &ett_h245_CompressionType,
20150
14
    &ett_h245_V42bis,
20151
14
    &ett_h245_T84Profile,
20152
14
    &ett_h245_T_t84Restricted,
20153
14
    &ett_h245_T38FaxProfile,
20154
14
    &ett_h245_T38FaxRateManagement,
20155
14
    &ett_h245_T38FaxUdpOptions,
20156
14
    &ett_h245_T_t38FaxUdpEC,
20157
14
    &ett_h245_T38FaxTcpOptions,
20158
14
    &ett_h245_EncryptionAuthenticationAndIntegrity,
20159
14
    &ett_h245_EncryptionCapability,
20160
14
    &ett_h245_MediaEncryptionAlgorithm,
20161
14
    &ett_h245_AuthenticationCapability,
20162
14
    &ett_h245_IntegrityCapability,
20163
14
    &ett_h245_UserInputCapability,
20164
14
    &ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter,
20165
14
    &ett_h245_ConferenceCapability,
20166
14
    &ett_h245_SEQUENCE_OF_NonStandardParameter,
20167
14
    &ett_h245_GenericCapability,
20168
14
    &ett_h245_T_collapsing,
20169
14
    &ett_h245_T_nonCollapsing,
20170
14
    &ett_h245_CapabilityIdentifier,
20171
14
    &ett_h245_GenericParameter,
20172
14
    &ett_h245_SEQUENCE_OF_ParameterIdentifier,
20173
14
    &ett_h245_ParameterIdentifier,
20174
14
    &ett_h245_ParameterValue,
20175
14
    &ett_h245_SEQUENCE_OF_GenericParameter,
20176
14
    &ett_h245_MultiplexedStreamCapability,
20177
14
    &ett_h245_MultiplexFormat,
20178
14
    &ett_h245_AudioTelephonyEventCapability,
20179
14
    &ett_h245_AudioToneCapability,
20180
14
    &ett_h245_NoPTAudioTelephonyEventCapability,
20181
14
    &ett_h245_NoPTAudioToneCapability,
20182
14
    &ett_h245_MultiplePayloadStreamCapability,
20183
14
    &ett_h245_DepFECCapability,
20184
14
    &ett_h245_FECC_rfc2733,
20185
14
    &ett_h245_T_separateStreamBool,
20186
14
    &ett_h245_FECCapability,
20187
14
    &ett_h245_Rfc2733Format,
20188
14
    &ett_h245_OpenLogicalChannel,
20189
14
    &ett_h245_T_forwardLogicalChannelParameters,
20190
14
    &ett_h245_OLC_forw_multiplexParameters,
20191
14
    &ett_h245_OLC_reverseLogicalChannelParameters,
20192
14
    &ett_h245_OLC_rev_multiplexParameters,
20193
14
    &ett_h245_NetworkAccessParameters,
20194
14
    &ett_h245_T_distribution,
20195
14
    &ett_h245_T_networkAddress,
20196
14
    &ett_h245_T_t120SetupProcedure,
20197
14
    &ett_h245_Q2931Address,
20198
14
    &ett_h245_T_address,
20199
14
    &ett_h245_V75Parameters,
20200
14
    &ett_h245_DataType,
20201
14
    &ett_h245_H235Media,
20202
14
    &ett_h245_T_mediaType,
20203
14
    &ett_h245_MultiplexedStreamParameter,
20204
14
    &ett_h245_H222LogicalChannelParameters,
20205
14
    &ett_h245_H223LogicalChannelParameters,
20206
14
    &ett_h245_T_adaptationLayerType,
20207
14
    &ett_h245_Al3,
20208
14
    &ett_h245_H223AL1MParameters,
20209
14
    &ett_h245_T_transferMode,
20210
14
    &ett_h245_AL1HeaderFEC,
20211
14
    &ett_h245_AL1CrcLength,
20212
14
    &ett_h245_ArqType,
20213
14
    &ett_h245_H223AL2MParameters,
20214
14
    &ett_h245_AL2HeaderFEC,
20215
14
    &ett_h245_H223AL3MParameters,
20216
14
    &ett_h245_T_headerFormat,
20217
14
    &ett_h245_AL3CrcLength,
20218
14
    &ett_h245_H223AnnexCArqParameters,
20219
14
    &ett_h245_T_numberOfRetransmissions,
20220
14
    &ett_h245_V76LogicalChannelParameters,
20221
14
    &ett_h245_T_suspendResume,
20222
14
    &ett_h245_V76LCP_mode,
20223
14
    &ett_h245_T_eRM,
20224
14
    &ett_h245_T_recovery,
20225
14
    &ett_h245_V76HDLCParameters,
20226
14
    &ett_h245_CRCLength,
20227
14
    &ett_h245_H2250LogicalChannelParameters,
20228
14
    &ett_h245_T_mediaPacketization,
20229
14
    &ett_h245_RTPPayloadType,
20230
14
    &ett_h245_T_payloadDescriptor,
20231
14
    &ett_h245_RedundancyEncoding,
20232
14
    &ett_h245_T_rtpRedundancyEncoding,
20233
14
    &ett_h245_SEQUENCE_OF_RedundancyEncodingElement,
20234
14
    &ett_h245_RedundancyEncodingElement,
20235
14
    &ett_h245_MultiplePayloadStream,
20236
14
    &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement,
20237
14
    &ett_h245_MultiplePayloadStreamElement,
20238
14
    &ett_h245_DepFECData,
20239
14
    &ett_h245_RFC2733Data,
20240
14
    &ett_h245_FECdata_mode,
20241
14
    &ett_h245_DepSeparateStream,
20242
14
    &ett_h245_T_differentPort,
20243
14
    &ett_h245_T_samePort,
20244
14
    &ett_h245_FECData,
20245
14
    &ett_h245_T_rfc2733,
20246
14
    &ett_h245_T_pktMode,
20247
14
    &ett_h245_T_mode_rfc2733sameport,
20248
14
    &ett_h245_T_mode_rfc2733diffport,
20249
14
    &ett_h245_TransportAddress,
20250
14
    &ett_h245_UnicastAddress,
20251
14
    &ett_h245_T_iPAddress,
20252
14
    &ett_h245_T_iPXAddress,
20253
14
    &ett_h245_T_iP6Address,
20254
14
    &ett_h245_T_iPSourceRouteAddress,
20255
14
    &ett_h245_T_routing,
20256
14
    &ett_h245_T_route,
20257
14
    &ett_h245_MulticastAddress,
20258
14
    &ett_h245_MIPAddress,
20259
14
    &ett_h245_MIP6Address,
20260
14
    &ett_h245_EncryptionSync,
20261
14
    &ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData,
20262
14
    &ett_h245_EscrowData,
20263
14
    &ett_h245_OpenLogicalChannelAck,
20264
14
    &ett_h245_OLC_ack_reverseLogicalChannelParameters,
20265
14
    &ett_h245_T_olc_ack_multiplexParameters,
20266
14
    &ett_h245_T_forwardMultiplexAckParameters,
20267
14
    &ett_h245_OpenLogicalChannelReject,
20268
14
    &ett_h245_OpenLogicalChannelRejectCause,
20269
14
    &ett_h245_OpenLogicalChannelConfirm,
20270
14
    &ett_h245_H2250LogicalChannelAckParameters,
20271
14
    &ett_h245_CloseLogicalChannel,
20272
14
    &ett_h245_T_cLC_source,
20273
14
    &ett_h245_Clc_reason,
20274
14
    &ett_h245_CloseLogicalChannelAck,
20275
14
    &ett_h245_RequestChannelClose,
20276
14
    &ett_h245_T_reason,
20277
14
    &ett_h245_RequestChannelCloseAck,
20278
14
    &ett_h245_RequestChannelCloseReject,
20279
14
    &ett_h245_RequestChannelCloseRejectCause,
20280
14
    &ett_h245_RequestChannelCloseRelease,
20281
14
    &ett_h245_MultiplexEntrySend,
20282
14
    &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor,
20283
14
    &ett_h245_MultiplexEntryDescriptor,
20284
14
    &ett_h245_T_elementList,
20285
14
    &ett_h245_MultiplexElement,
20286
14
    &ett_h245_Me_type,
20287
14
    &ett_h245_T_subElementList,
20288
14
    &ett_h245_ME_repeatCount,
20289
14
    &ett_h245_MultiplexEntrySendAck,
20290
14
    &ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber,
20291
14
    &ett_h245_MultiplexEntrySendReject,
20292
14
    &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions,
20293
14
    &ett_h245_MultiplexEntryRejectionDescriptions,
20294
14
    &ett_h245_MultiplexEntryRejectionDescriptionsCause,
20295
14
    &ett_h245_MultiplexEntrySendRelease,
20296
14
    &ett_h245_RequestMultiplexEntry,
20297
14
    &ett_h245_RequestMultiplexEntryAck,
20298
14
    &ett_h245_RequestMultiplexEntryReject,
20299
14
    &ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions,
20300
14
    &ett_h245_RequestMultiplexEntryRejectionDescriptions,
20301
14
    &ett_h245_RequestMultiplexEntryRejectionDescriptionsCause,
20302
14
    &ett_h245_RequestMultiplexEntryRelease,
20303
14
    &ett_h245_RequestMode,
20304
14
    &ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription,
20305
14
    &ett_h245_RequestModeAck,
20306
14
    &ett_h245_Req_mode_ack_response,
20307
14
    &ett_h245_RequestModeReject,
20308
14
    &ett_h245_RequestModeRejectCause,
20309
14
    &ett_h245_RequestModeRelease,
20310
14
    &ett_h245_ModeDescription,
20311
14
    &ett_h245_ModeElementType,
20312
14
    &ett_h245_ModeElement,
20313
14
    &ett_h245_H235Mode,
20314
14
    &ett_h245_T_mediaMode,
20315
14
    &ett_h245_MultiplexedStreamModeParameters,
20316
14
    &ett_h245_RedundancyEncodingDTMode,
20317
14
    &ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement,
20318
14
    &ett_h245_RedundancyEncodingDTModeElement,
20319
14
    &ett_h245_Re_type,
20320
14
    &ett_h245_MultiplePayloadStreamMode,
20321
14
    &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode,
20322
14
    &ett_h245_MultiplePayloadStreamElementMode,
20323
14
    &ett_h245_DepFECMode,
20324
14
    &ett_h245_T_rfc2733Mode,
20325
14
    &ett_h245_FEC_mode,
20326
14
    &ett_h245_FECMode,
20327
14
    &ett_h245_H223ModeParameters,
20328
14
    &ett_h245_AdaptationLayerType,
20329
14
    &ett_h245_V76ModeParameters,
20330
14
    &ett_h245_H2250ModeParameters,
20331
14
    &ett_h245_RedundancyEncodingMode,
20332
14
    &ett_h245_T_secondaryEncodingMode,
20333
14
    &ett_h245_VideoMode,
20334
14
    &ett_h245_H261VideoMode,
20335
14
    &ett_h245_H261Resolution,
20336
14
    &ett_h245_H262VideoMode,
20337
14
    &ett_h245_T_profileAndLevel,
20338
14
    &ett_h245_H263VideoMode,
20339
14
    &ett_h245_H263Resolution,
20340
14
    &ett_h245_IS11172VideoMode,
20341
14
    &ett_h245_AudioMode,
20342
14
    &ett_h245_Mode_g7231,
20343
14
    &ett_h245_IS11172AudioMode,
20344
14
    &ett_h245_T_audioLayer,
20345
14
    &ett_h245_T_audioSampling,
20346
14
    &ett_h245_IS11172_multichannelType,
20347
14
    &ett_h245_IS13818AudioMode,
20348
14
    &ett_h245_IS13818AudioLayer,
20349
14
    &ett_h245_IS13818AudioSampling,
20350
14
    &ett_h245_IS13818MultichannelType,
20351
14
    &ett_h245_G7231AnnexCMode,
20352
14
    &ett_h245_VBDMode,
20353
14
    &ett_h245_DataMode,
20354
14
    &ett_h245_DataModeApplication,
20355
14
    &ett_h245_T38faxApp,
20356
14
    &ett_h245_EncryptionMode,
20357
14
    &ett_h245_RoundTripDelayRequest,
20358
14
    &ett_h245_RoundTripDelayResponse,
20359
14
    &ett_h245_MaintenanceLoopRequest,
20360
14
    &ett_h245_Mlr_type,
20361
14
    &ett_h245_MaintenanceLoopAck,
20362
14
    &ett_h245_Mla_type,
20363
14
    &ett_h245_MaintenanceLoopReject,
20364
14
    &ett_h245_Mlrej_type,
20365
14
    &ett_h245_MaintenanceLoopRejectCause,
20366
14
    &ett_h245_MaintenanceLoopOffCommand,
20367
14
    &ett_h245_CommunicationModeCommand,
20368
14
    &ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry,
20369
14
    &ett_h245_CommunicationModeRequest,
20370
14
    &ett_h245_CommunicationModeResponse,
20371
14
    &ett_h245_CommunicationModeTableEntry,
20372
14
    &ett_h245_T_entryDataType,
20373
14
    &ett_h245_ConferenceRequest,
20374
14
    &ett_h245_T_requestTerminalCertificate,
20375
14
    &ett_h245_CertSelectionCriteria,
20376
14
    &ett_h245_Criteria,
20377
14
    &ett_h245_TerminalLabel,
20378
14
    &ett_h245_ConferenceResponse,
20379
14
    &ett_h245_T_mCTerminalIDResponse,
20380
14
    &ett_h245_T_terminalIDResponse,
20381
14
    &ett_h245_T_conferenceIDResponse,
20382
14
    &ett_h245_T_passwordResponse,
20383
14
    &ett_h245_SET_SIZE_1_256_OF_TerminalLabel,
20384
14
    &ett_h245_T_makeMeChairResponse,
20385
14
    &ett_h245_T_extensionAddressResponse,
20386
14
    &ett_h245_T_chairTokenOwnerResponse,
20387
14
    &ett_h245_T_terminalCertificateResponse,
20388
14
    &ett_h245_T_broadcastMyLogicalChannelResponse,
20389
14
    &ett_h245_T_makeTerminalBroadcasterResponse,
20390
14
    &ett_h245_T_sendThisSourceResponse,
20391
14
    &ett_h245_RequestAllTerminalIDsResponse,
20392
14
    &ett_h245_SEQUENCE_OF_TerminalInformation,
20393
14
    &ett_h245_TerminalInformation,
20394
14
    &ett_h245_RemoteMCRequest,
20395
14
    &ett_h245_RemoteMCResponse,
20396
14
    &ett_h245_T_reject,
20397
14
    &ett_h245_MultilinkRequest,
20398
14
    &ett_h245_CallInformationReq,
20399
14
    &ett_h245_AddConnectionReq,
20400
14
    &ett_h245_RemoveConnectionReq,
20401
14
    &ett_h245_MaximumHeaderIntervalReq,
20402
14
    &ett_h245_T_requestType,
20403
14
    &ett_h245_MultilinkResponse,
20404
14
    &ett_h245_CallInformationResp,
20405
14
    &ett_h245_AddConnectionResp,
20406
14
    &ett_h245_T_responseCode,
20407
14
    &ett_h245_T_rejected,
20408
14
    &ett_h245_RemoveConnectionResp,
20409
14
    &ett_h245_MaximumHeaderIntervalResp,
20410
14
    &ett_h245_MultilinkIndication,
20411
14
    &ett_h245_T_crcDesired,
20412
14
    &ett_h245_T_excessiveError,
20413
14
    &ett_h245_DialingInformation,
20414
14
    &ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber,
20415
14
    &ett_h245_DialingInformationNumber,
20416
14
    &ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType,
20417
14
    &ett_h245_DialingInformationNetworkType,
20418
14
    &ett_h245_ConnectionIdentifier,
20419
14
    &ett_h245_LogicalChannelRateRequest,
20420
14
    &ett_h245_LogicalChannelRateAcknowledge,
20421
14
    &ett_h245_LogicalChannelRateReject,
20422
14
    &ett_h245_LogicalChannelRateRejectReason,
20423
14
    &ett_h245_LogicalChannelRateRelease,
20424
14
    &ett_h245_SendTerminalCapabilitySet,
20425
14
    &ett_h245_T_specificRequest,
20426
14
    &ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber,
20427
14
    &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber,
20428
14
    &ett_h245_EncryptionCommand,
20429
14
    &ett_h245_T_encryptionAlgorithmID,
20430
14
    &ett_h245_FlowControlCommand,
20431
14
    &ett_h245_Scope,
20432
14
    &ett_h245_Restriction,
20433
14
    &ett_h245_EndSessionCommand,
20434
14
    &ett_h245_T_gstnOptions,
20435
14
    &ett_h245_T_isdnOptions,
20436
14
    &ett_h245_ConferenceCommand,
20437
14
    &ett_h245_SubstituteConferenceIDCommand,
20438
14
    &ett_h245_EncryptionUpdateDirection,
20439
14
    &ett_h245_MiscellaneousCommand,
20440
14
    &ett_h245_Mc_type,
20441
14
    &ett_h245_T_videoFastUpdateGOB,
20442
14
    &ett_h245_T_videoFastUpdateMB,
20443
14
    &ett_h245_T_progressiveRefinementStart,
20444
14
    &ett_h245_T_repeatCount,
20445
14
    &ett_h245_T_videoBadMBs,
20446
14
    &ett_h245_SEQUENCE_OF_PictureReference,
20447
14
    &ett_h245_T_lostPartialPicture,
20448
14
    &ett_h245_T_encryptionUpdateCommand,
20449
14
    &ett_h245_T_encryptionUpdateAck,
20450
14
    &ett_h245_KeyProtectionMethod,
20451
14
    &ett_h245_EncryptionUpdateRequest,
20452
14
    &ett_h245_PictureReference,
20453
14
    &ett_h245_H223MultiplexReconfiguration,
20454
14
    &ett_h245_T_h223ModeChange,
20455
14
    &ett_h245_T_h223AnnexADoubleFlag,
20456
14
    &ett_h245_NewATMVCCommand,
20457
14
    &ett_h245_Cmd_aal,
20458
14
    &ett_h245_Cmd_aal1,
20459
14
    &ett_h245_Cmd_clockRecovery,
20460
14
    &ett_h245_Cmd_errorCorrection,
20461
14
    &ett_h245_Cmd_aal5,
20462
14
    &ett_h245_Cmd_multiplex,
20463
14
    &ett_h245_Cmd_reverseParameters,
20464
14
    &ett_h245_CmdR_multiplex,
20465
14
    &ett_h245_MobileMultilinkReconfigurationCommand,
20466
14
    &ett_h245_T_status,
20467
14
    &ett_h245_FunctionNotUnderstood,
20468
14
    &ett_h245_FunctionNotSupported,
20469
14
    &ett_h245_FunctionNotSupportedCause,
20470
14
    &ett_h245_ConferenceIndication,
20471
14
    &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
20472
14
    &ett_h245_VideoIndicateCompose,
20473
14
    &ett_h245_MiscellaneousIndication,
20474
14
    &ett_h245_Mi_type,
20475
14
    &ett_h245_T_videoNotDecodedMBs,
20476
14
    &ett_h245_JitterIndication,
20477
14
    &ett_h245_H223SkewIndication,
20478
14
    &ett_h245_H2250MaximumSkewIndication,
20479
14
    &ett_h245_MCLocationIndication,
20480
14
    &ett_h245_VendorIdentification,
20481
14
    &ett_h245_NewATMVCIndication,
20482
14
    &ett_h245_Ind_aal,
20483
14
    &ett_h245_Ind_aal1,
20484
14
    &ett_h245_Ind_clockRecovery,
20485
14
    &ett_h245_Ind_errorCorrection,
20486
14
    &ett_h245_Ind_aal5,
20487
14
    &ett_h245_Ind_multiplex,
20488
14
    &ett_h245_Ind_reverseParameters,
20489
14
    &ett_h245_IndR_multiplex,
20490
14
    &ett_h245_Params,
20491
14
    &ett_h245_UserInputIndication,
20492
14
    &ett_h245_T_userInputSupportIndication,
20493
14
    &ett_h245_T_signal,
20494
14
    &ett_h245_T_rtp,
20495
14
    &ett_h245_T_signalUpdate,
20496
14
    &ett_h245_Si_rtp,
20497
14
    &ett_h245_T_extendedAlphanumeric,
20498
14
    &ett_h245_EncryptedAlphanumeric,
20499
14
    &ett_h245_FlowControlIndication,
20500
14
    &ett_h245_MobileMultilinkReconfigurationIndication,
20501
14
  };
20502
14
  module_t *h245_module;
20503
20504
  /* Register protocol */
20505
14
  proto_h245 = proto_register_protocol(PNAME, PSNAME, PFNAME);
20506
14
  h223_pending_olc_reqs[P2P_DIR_SENT] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal );
20507
14
  h223_pending_olc_reqs[P2P_DIR_RECV] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal );
20508
14
  h245_pending_olc_reqs = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), wmem_str_hash, g_str_equal);
20509
20510
14
  register_init_routine(h223_lc_init);
20511
  /* Register fields and subtrees */
20512
14
  proto_register_field_array(proto_h245, hf, array_length(hf));
20513
14
  proto_register_subtree_array(ett, array_length(ett));
20514
20515
  /* From Ronnie Sahlbergs original H245 dissector */
20516
20517
14
  h245_module = prefs_register_protocol(proto_h245, NULL);
20518
14
  prefs_register_bool_preference(h245_module, "reassembly",
20519
14
    "Reassemble H.245 messages spanning multiple TCP segments",
20520
14
    "Whether the H.245 dissector should reassemble messages spanning multiple TCP segments."
20521
14
    " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
20522
14
    &h245_reassembly);
20523
14
  prefs_register_bool_preference(h245_module, "shorttypes",
20524
14
    "Show short message types",
20525
14
    "Whether the dissector should show short names or the long names from the standard",
20526
14
    &h245_shorttypes);
20527
14
  prefs_register_bool_preference(h245_module, "prepand",
20528
14
    "Show h245 info in reversed order",
20529
14
    "Whether the dissector should print items of h245 Info column in reversed order",
20530
14
    &info_col_fmt_prepend);
20531
14
  MultimediaSystemControlMessage_handle = register_dissector("h245dg", dissect_h245_h245, proto_h245);
20532
14
  h245_handle = register_dissector("h245", dissect_h245, proto_h245);
20533
20534
14
  nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", proto_h245, FT_STRING, STRING_CASE_SENSITIVE);
20535
14
  nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", proto_h245, FT_UINT32, BASE_HEX);
20536
14
  gef_name_dissector_table = register_dissector_table("h245.gef.name", "H.245 Generic Extensible Framework Name", proto_h245, FT_STRING, STRING_CASE_SENSITIVE);
20537
14
  gef_content_dissector_table = register_dissector_table("h245.gef.content", "H.245 Generic Extensible Framework Content", proto_h245, FT_STRING, STRING_CASE_SENSITIVE);
20538
20539
14
  h245_tap = register_tap("h245");
20540
14
  h245dg_tap = register_tap("h245dg");
20541
20542
14
  oid_add_from_string("h239ControlCapability","0.0.8.239.1.1");
20543
14
  oid_add_from_string("h239ExtendedVideoCapability","0.0.8.239.1.2");
20544
14
  oid_add_from_string("generic-message","0.0.8.239.2");
20545
14
  oid_add_from_string("h245 version 3","0.0.8.245.0.3");
20546
14
  oid_add_from_string("h245 version 4","0.0.8.245.0.4");
20547
14
  oid_add_from_string("h245 version 5","0.0.8.245.0.5");
20548
14
  oid_add_from_string("h245 version 6","0.0.8.245.0.6");
20549
14
  oid_add_from_string("h245 version 7","0.0.8.245.0.7");
20550
14
  oid_add_from_string("h245 version 8","0.0.8.245.0.8");
20551
14
  oid_add_from_string("h245 version 9","0.0.8.245.0.9");
20552
14
  oid_add_from_string("h245 version 10","0.0.8.245.0.10");
20553
14
  oid_add_from_string("h245 version 11","0.0.8.245.0.11");
20554
14
  oid_add_from_string("h245 version 12","0.0.8.245.0.12");
20555
14
  oid_add_from_string("h245 version 13","0.0.8.245.0.13");
20556
  /* This capability is defined in Annex E. */
20557
14
  oid_add_from_string("ISO/IEC 14496-2 MPEG-4 video","0.0.8.245.1.0.0");
20558
  /* This capability is defined in Annex H. */
20559
14
  oid_add_from_string("ISO/IEC 14496-3 MPEG-4 audio","0.0.8.245.1.1.0");
20560
  /* This capability is defined in Annex I. */
20561
14
  oid_add_from_string("AMR","0.0.8.245.1.1.1");
20562
  /* This capability is defined in Annex J. */
20563
14
  oid_add_from_string("acelp","0.0.8.245.1.1.2");
20564
  /* This capability is defined in Annex K. */
20565
14
  oid_add_from_string("us1","0.0.8.245.1.1.3");
20566
  /* This capability is defined in Annex L. */
20567
14
  oid_add_from_string("is127evrc","0.0.8.245.1.1.4");
20568
  /* This capability is defined in Annex M. */
20569
14
  oid_add_from_string("ISO/IEC 13818-7","0.0.8.245.1.1.5");
20570
  /* This capability is defined in Annex N. */
20571
14
  oid_add_from_string("rfc3389","0.0.8.245.1.1.6");
20572
  /* This capability is defined in Annex O. */
20573
14
  oid_add_from_string("L-16","0.0.8.245.1.1.7");
20574
  /* This capability is defined in Annex P. */
20575
14
  oid_add_from_string("bounded-audio-stream","0.0.8.245.1.1.8");
20576
  /* This capability is defined in Annex R. */
20577
14
  oid_add_from_string("AMR-NB","0.0.8.245.1.1.9");
20578
  /* This capability is defined in Annex R. */
20579
14
  oid_add_from_string("AMR-WB","0.0.8.245.1.1.10");
20580
  /* This capability is defined in Annex S. */
20581
14
  oid_add_from_string("ilbc","0.0.8.245.1.1.11");
20582
20583
14
  oid_add_from_string("ISO/IEC 14496-1","0.0.8.245.1.2.0");
20584
14
  oid_add_from_string("Nx64","0.0.8.245.1.2.1");
20585
14
  oid_add_from_string("logical-channel-bit-ratemanagement","0.0.8.245.1.3.0");
20586
20587
14
  oid_add_from_string("h264 generic-capabilities","0.0.8.241.0.0.1");
20588
14
  oid_add_from_string("iPpacketization_h241AnnexA(single NAL unit mode)","0.0.8.241.0.0.0.0");
20589
14
  oid_add_from_string("iPpacketization_RFC3984NonInterleaved","0.0.8.241.0.0.0.1");
20590
14
  oid_add_from_string("iPpacketization_RFC3984Interleaved","0.0.8.241.0.0.0.2");
20591
14
}
20592
20593
20594
/*--- proto_reg_handoff_h245 ---------------------------------------*/
20595
14
void proto_reg_handoff_h245(void) {
20596
14
  rtcp_handle = find_dissector("rtcp");
20597
14
  data_handle = find_dissector("data");
20598
14
  h263_handle = find_dissector("h263data");
20599
14
  amr_handle = find_dissector("amr_if2_nb");
20600
20601
20602
14
  dissector_add_for_decode_as_with_preference("tcp.port", h245_handle);
20603
14
  dissector_add_for_decode_as_with_preference("udp.port", MultimediaSystemControlMessage_handle);
20604
14
}
20605
20606
static void init_h245_packet_info(h245_packet_info *pi)
20607
0
{
20608
0
        if(pi == NULL) {
20609
0
                return;
20610
0
        }
20611
20612
0
        pi->msg_type = H245_OTHER;
20613
0
    pi->frame_label[0] = '\0';
20614
    snprintf(pi->comment, sizeof(pi->comment), "H245 ");
20615
0
}
20616