update to netlogon to show DsrGetDcNameEx2() Client account name, domain name and...
[obnox/wireshark/wip.git] / packet-h245.c
1 /* packet-h245.c
2  * Routines for H.245 packet dissection
3  * 2003  Ronnie Sahlberg
4  *       with great support with testing and providing capturefiles
5  *       from Martin Regner
6  *
7  * Maintained by Andreas Sikkema (h323@ramdyne.nl)
8  *
9  * $Id: packet-h245.c,v 1.46 2004/02/14 22:48:52 guy Exp $
10  *
11  * Ethereal - Network traffic analyzer
12  * By Gerald Combs <gerald@ethereal.com>
13  * Copyright 1998 Gerald Combs
14  *
15  * This program is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU General Public License
17  * as published by the Free Software Foundation; either version 2
18  * of the License, or (at your option) any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23  * GNU General Public License for more details.
24  *
25  * You should have received a copy of the GNU General Public License
26  * along with this program; if not, write to the Free Software
27  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
28  */
29
30 #ifdef HAVE_CONFIG_H
31 # include "config.h"
32 #endif
33
34 #include <glib.h>
35 #include <epan/packet.h>
36 #include <epan/conversation.h>
37
38 #include <stdio.h>
39 #include <string.h>
40
41 #include "prefs.h"
42 #include "packet-tpkt.h"
43 #include "packet-per.h"
44 #include "t35.h"
45
46 static dissector_handle_t rtp_handle=NULL;
47 static dissector_handle_t rtcp_handle=NULL;
48
49 static dissector_handle_t h245_handle;
50 static dissector_handle_t MultimediaSystemControlMessage_handle;
51
52 static int proto_h245 = -1;             /* h245 over tpkt */
53 static int hf_h245_rfc_number = -1;
54 static int hf_h245_pdu_type = -1;
55 static int hf_h245_DialingInformationNumber_networkAddress = -1;
56 static int hf_h245_signalType = -1;
57 static int hf_h245_e164Address = -1;
58 static int hf_h245_subAddress = -1;
59 static int hf_h245_domainBased = -1;
60 static int hf_h245_internationalNumber = -1;
61 static int hf_h245_IndicationMessage_type = -1;
62 static int hf_h245_RequestMessage_type = -1;
63 static int hf_h245_ResponseMessage_type = -1;
64 static int hf_h245_CommandMessage_type = -1;
65 static int hf_h245_PixelAspectCode = -1;
66 static int hf_h245_LogicalChannelNumber = -1;
67 static int hf_h245_SequenceNumber = -1;
68 static int hf_h245_EndSessionCommand_type = -1;
69 static int hf_h245_MobileMultilinkReconfigurationIndication = -1;
70 static int hf_h245_FlowControlIndication = -1;
71 static int hf_h245_UserInputIndication_extendedAlphanumeric = -1;
72 static int hf_h245_UserInputIndication_signalUpdate_rtp = -1;
73 static int hf_h245_UserInputIndication_signalUpdate = -1;
74 static int hf_h245_UserInputIndication_signal_rtp = -1;
75 static int hf_h245_UserInputIndication_signal = -1;
76 static int hf_h245_NewATMVCIndication_reverseParameters = -1;
77 static int hf_h245_NewATMVCIndication_aal_aal5 = -1;
78 static int hf_h245_NewATMVCIndication_aal_aal1 = -1;
79 static int hf_h245_NewATMVCIndication_aal = -1;
80 static int hf_h245_NewATMVCIndication = -1;
81 static int hf_h245_VendorIdentification = -1;
82 static int hf_h245_MCLocationIndication = -1;
83 static int hf_h245_H2250MaximumSkewIndication = -1;
84 static int hf_h245_H223SkewIndication = -1;
85 static int hf_h245_JitterIndication = -1;
86 static int hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs = -1;
87 static int hf_h245_MiscellaneousIndication = -1;
88 static int hf_h245_VideoIndicateCompose = -1;
89 static int hf_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
90 static int hf_h245_FunctionNotSupported = -1;
91 static int hf_h245_MobileMultilinkReconfigurationCommand = -1;
92 static int hf_h245_NewATMVCCommand_reverseParameters = -1;
93 static int hf_h245_NewATMVCCommand = -1;
94 static int hf_h245_NewATMVCCommand_aal_aal5 = -1;
95 static int hf_h245_NewATMVCCommand_aal_aal1 = -1;
96 static int hf_h245_EncryptionUpdateRequest = -1;
97 static int hf_h245_KeyProtectionMethod = -1;
98 static int hf_h245_MiscellaneousCommand_type_lostPartialPicture = -1;
99 static int hf_h245_MiscellaneousCommand_type_videoBadMBs = -1;
100 static int hf_h245_MiscellaneousCommand_type_progressiveRefinementStart = -1;
101 static int hf_h245_MiscellaneousCommand_type_videoFastUpdateMB = -1;
102 static int hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB = -1;
103 static int hf_h245_MiscellaneousCommand = -1;
104 static int hf_h245_SubstituteConferenceIDCommand = -1;
105 static int hf_h245_FlowControlCommand = -1;
106 static int hf_h245_EncryptionCommand_encryptionAlgorithmID = -1;
107 static int hf_h245_SendTerminalCapabilitySet_specificRequest = -1;
108 static int hf_h245_LogicalChannelRateRelease = -1;
109 static int hf_h245_LogicalChannelRateReject = -1;
110 static int hf_h245_LogicalChannelRateAck = -1;
111 static int hf_h245_LogicalChannelRateRequest = -1;
112 static int hf_h245_ConnectionIdentifier = -1;
113 static int hf_h245_DialingInformationNumber = -1;
114 static int hf_h245_MultilinkIndication_excessiveError = -1;
115 static int hf_h245_MultilinkIndication_crcDesired = -1;
116 static int hf_h245_MultilinkResponse_maximumHeaderInterval = -1;
117 static int hf_h245_MultilinkResponse_removeConnection = -1;
118 static int hf_h245_MultilinkResponse_addConnection = -1;
119 static int hf_h245_MultilinkResponse_callInformation = -1;
120 static int hf_h245_MultilinkRequest_maximumHeaderInterval = -1;
121 static int hf_h245_MultilinkRequest_removeConnection = -1;
122 static int hf_h245_MultilinkRequest_addConnection = -1;
123 static int hf_h245_MultilinkRequest_callInformation = -1;
124 static int hf_h245_TerminalInformation = -1;
125 static int hf_h245_RequestAllTerminalIDsResponse = -1;
126 static int hf_h245_ConferenceResponse_terminalCertificateResponse = -1;
127 static int hf_h245_ConferenceResponse_chairTokenOwnerResponse = -1;
128 static int hf_h245_ConferenceResponse_extensionAddressResponse = -1;
129 static int hf_h245_ConferenceResponse_passwordResponse = -1;
130 static int hf_h245_ConferenceResponse_conferenceIDResponse = -1;
131 static int hf_h245_ConferenceResponse_terminalIDResponse = -1;
132 static int hf_h245_ConferenceResponse_mCterminalIDResponse = -1;
133 static int hf_h245_TerminalLabel = -1;
134 static int hf_h245_Criteria = -1;
135 static int hf_h245_ConferenceRequest_requestTerminalCertificate = -1;
136 static int hf_h245_CommunicationModeTableEntry = -1;
137 static int hf_h245_CommunicationModeRequest = -1;
138 static int hf_h245_CommunicationModeCommand = -1;
139 static int hf_h245_MaintenanceLoopOffCommand = -1;
140 static int hf_h245_MaintenanceLoopReject = -1;
141 static int hf_h245_MaintenanceLoopAck = -1;
142 static int hf_h245_MaintenanceLoopRequest = -1;
143 static int hf_h245_RoundTripDelayResponse = -1;
144 static int hf_h245_RoundTripDelayRequest = -1;
145 static int hf_h245_DataMode_application_t38fax = -1;
146 static int hf_h245_DataMode_application_nlpid = -1;
147 static int hf_h245_DataMode = -1;
148 static int hf_h245_VBDMode = -1;
149 static int hf_h245_G7231AnnexCMode_g723AnnexCAudioMode = -1;
150 static int hf_h245_G7231AnnexCMode = -1;
151 static int hf_h245_IS13818AudioMode = -1;
152 static int hf_h245_IS11172AudioMode = -1;
153 static int hf_h245_IS11172VideoMode = -1;
154 static int hf_h245_H263VideoMode = -1;
155 static int hf_h245_H262VideoMode = -1;
156 static int hf_h245_H261VideoMode = -1;
157 static int hf_h245_RedundancyEncodingMode = -1;
158 static int hf_h245_H2250ModeParameters = -1;
159 static int hf_h245_H223ModeParameters_adaptationLayerType_al3 = -1;
160 static int hf_h245_H223ModeParameters = -1;
161 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort = -1;
162 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort = -1;
163 static int hf_h245_FECMode_rfc2733Mode = -1;
164 static int hf_h245_MultiplePayloadStreamElementMode = -1;
165 static int hf_h245_MultiplePayloadStreamMode = -1;
166 static int hf_h245_RedundancyEncodingDTModeElement = -1;
167 static int hf_h245_RedundancyEncodingDTMode = -1;
168 static int hf_h245_MultiplexedStreamModeParameters = -1;
169 static int hf_h245_H235Mode = -1;
170 static int hf_h245_ModeElement = -1;
171 static int hf_h245_RequestModeRelease = -1;
172 static int hf_h245_RequestModeReject = -1;
173 static int hf_h245_RequestModeAck = -1;
174 static int hf_h245_RequestMode = -1;
175 static int hf_h245_RequestMultiplexEntryRelease = -1;
176 static int hf_h245_RequestMultiplexEntryRejectionDescriptions = -1;
177 static int hf_h245_RequestMultiplexEntryReject = -1;
178 static int hf_h245_RequestMultiplexEntryAck = -1;
179 static int hf_h245_RequestMultiplexEntry = -1;
180 static int hf_h245_MultiplexEntrySendRelease = -1;
181 static int hf_h245_MultiplexEntryRejectionDescriptions = -1;
182 static int hf_h245_MultiplexEntrySendReject = -1;
183 static int hf_h245_MultiplexEntrySendAck = -1;
184 static int hf_h245_MultiplexElement = -1;
185 static int hf_h245_MultiplexEntryDescriptor = -1;
186 static int hf_h245_MultiplexEntrySend = -1;
187 static int hf_h245_RequestChannelCloseRelease = -1;
188 static int hf_h245_RequestChannelCloseReject = -1;
189 static int hf_h245_RequestChannelCloseAck = -1;
190 static int hf_h245_RequestChannelClose = -1;
191 static int hf_h245_CloseLogicalChannelAck = -1;
192 static int hf_h245_CloseLogicalChannel = -1;
193 static int hf_h245_H2250LogicalChannelAckParameters = -1;
194 static int hf_h245_OpenLogicalChannelConfirm = -1;
195 static int hf_h245_OpenLogicalChannelReject = -1;
196 static int hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters = -1;
197 static int hf_h245_OpenLogicalChannelAck = -1;
198 static int hf_h245_EscrowData = -1;
199 static int hf_h245_EncryptionSync = -1;
200 static int hf_h245_MulticastAddress_iP6Address = -1;
201 static int hf_h245_MulticastAddress_iPAddress = -1;
202 static int hf_h245_UnicastAddress_iPSourceRouteAddress = -1;
203 static int hf_h245_UnicastAddress_iP6Address = -1;
204 static int hf_h245_UnicastAddress_iPXAddress = -1;
205 static int hf_h245_UnicastAddress_iPAddress = -1;
206 static int hf_h245_FECData_rfc2733_mode_separateStream_samePort = -1;
207 static int hf_h245_FECData_rfc2733_mode_separateStream_differentPort = -1;
208 static int hf_h245_FECData_rfc2733 = -1;
209 static int hf_h245_MultiplePayloadStreamElement = -1;
210 static int hf_h245_MultiplePayloadStream = -1;
211 static int hf_h245_RedundancyEncodingElement = -1;
212 static int hf_h245_RedundancyEncoding_rtpRedundancyEncoding = -1;
213 static int hf_h245_RedundancyEncoding = -1;
214 static int hf_h245_RTPPayloadType = -1;
215 static int hf_h245_H2250LogicalChannelParameters = -1;
216 static int hf_h245_V76HDLCParameters = -1;
217 static int hf_h245_V76LogicalChannelParameters_mode_eRM = -1;
218 static int hf_h245_V76LogicalChannelParameters = -1;
219 static int hf_h245_H223AnnexCArqParameters = -1;
220 static int hf_h245_H223AL3MParameters = -1;
221 static int hf_h245_H223AL2MParameters = -1;
222 static int hf_h245_H223AL1MParameters = -1;
223 static int hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3 = -1;
224 static int hf_h245_H223LogicalChannelParameters = -1;
225 static int hf_h245_H222LogicalChannelParameters = -1;
226 static int hf_h245_MultiplexedStreamParameter = -1;
227 static int hf_h245_H235Media = -1;
228 static int hf_h245_V75Parameters = -1;
229 static int hf_h245_Q2931Address = -1;
230 static int hf_h245_NetworkAccessParameters = -1;
231 static int hf_h245_reverseLogicalChannelParameters = -1;
232 static int hf_h245_forwardLogicalChannelParameters = -1;
233 static int hf_h245_OpenLogicalChannel = -1;
234 static int hf_h245_FECCapability_rfc2733_separateStream = -1;
235 static int hf_h245_FECCapability_rfc2733 = -1;
236 static int hf_h245_MultiplePayloadStreamCapability = -1;
237 static int hf_h245_NoPTAudioToneCapability = -1;
238 static int hf_h245_NoPTAudioTelephonyEventCapability = -1;
239 static int hf_h245_AudioToneCapability = -1;
240 static int hf_h245_AudioTelephonyEventCapability = -1;
241 static int hf_h245_MultiplexedStreamCapability = -1;
242 static int hf_h245_GenericParameter = -1;
243 static int hf_h245_GenericCapability = -1;
244 static int hf_h245_ConferenceCapability = -1;
245 static int hf_h245_IntegrityCapability = -1;
246 static int hf_h245_AuthenticationCapability = -1;
247 static int hf_h245_EncryptionAuthenticationAndIntegrity = -1;
248 static int hf_h245_T38FaxTcpOptions = -1;
249 static int hf_h245_T38FaxUdpOptions = -1;
250 static int hf_h245_T38FaxProfile = -1;
251 static int hf_h245_T84Profile_t84Restricted = -1;
252 static int hf_h245_V42bis = -1;
253 static int hf_h245_DataApplicationCapability_application_t38fax = -1;
254 static int hf_h245_DataApplicationCapability_application_nlpid = -1;
255 static int hf_h245_DataApplicationCapability_application_t84 = -1;
256 static int hf_h245_DataApplicationCapability = -1;
257 static int hf_h245_VBDCapability = -1;
258 static int hf_h245_GSMAudioCapability = -1;
259 static int hf_h245_IS13818AudioCapability = -1;
260 static int hf_h245_IS11172AudioCapability = -1;
261 static int hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode = -1;
262 static int hf_h245_G7231AnnexCCapability = -1;
263 static int hf_h245_G729Extensions = -1;
264 static int hf_h245_AudioCapability_g7231 = -1;
265 static int hf_h245_IS11172VideoCapability = -1;
266 static int hf_h245_H263Version3Options = -1;
267 static int hf_h245_H263ModeComboFlags = -1;
268 static int hf_h245_H263VideoModeCombos = -1;
269 static int hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR = -1;
270 static int hf_h245_CustomPictureFormat_mPI_customPCF = -1;
271 static int hf_h245_CustomPictureFormat_mPI = -1;
272 static int hf_h245_CustomPictureFormat = -1;
273 static int hf_h245_CustomPictureClockFrequency = -1;
274 static int hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters = -1;
275 static int hf_h245_RefPictureSelection_enhancedReferencePicSelect = -1;
276 static int hf_h245_RefPictureSelection_additionalPictureMemory = -1;
277 static int hf_h245_RefPictureSelection = -1;
278 static int hf_h245_TransperencyParameters = -1;
279 static int hf_h245_H263Options = -1;
280 static int hf_h245_EnhancementOptions = -1;
281 static int hf_h245_BEnhancementParameters = -1;
282 static int hf_h245_EnhancementLayerInfo = -1;
283 static int hf_h245_H263VideoCapability = -1;
284 static int hf_h245_H262VideoCapability = -1;
285 static int hf_h245_H261VideoCapability = -1;
286 static int hf_h245_MediaDistributionCapability = -1;
287 static int hf_h245_MultipointCapability = -1;
288 static int hf_h245_receiveMultipointCapability = -1;
289 static int hf_h245_transmitMultipointCapability = -1;
290 static int hf_h245_receiveAndTransmitMultipointCapability = -1;
291 static int hf_h245_RTPH263VideoRedundancyFrameMapping = -1;
292 static int hf_h245_RTPH263VideoRedundancyEncoding = -1;
293 static int hf_h245_RedundancyEncodingCapability = -1;
294 static int hf_h245_TransportCapability = -1;
295 static int hf_h245_MediaChannelCapability = -1;
296 static int hf_h245_MediaTransportType_AtmAAL5Compressed = -1;
297 static int hf_h245_QOSCapability = -1;
298 static int hf_h245_ATMParameters = -1;
299 static int hf_h245_RSVPParameters = -1;
300 static int hf_h245_MediaPacketizationCapability = -1;
301 static int hf_h245_H2250Capability_mcCapability = -1;
302 static int hf_h245_H2250Capability = -1;
303 static int hf_h245_V75Capability = -1;
304 static int hf_h245_V76Capability = -1;
305 static int hf_h245_H223AnnexCCapability = -1;
306 static int hf_h245_H223Capability_mobileMultilinkFrameCapability = -1;
307 static int hf_h245_H223Capability_mobileOperationTransmitCapability = -1;
308 static int hf_h245_H223Capability_h223MultiplexTableCapability_enhanced = -1;
309 static int hf_h245_H223Capability = -1;
310 static int hf_h245_VCCapability_aal1ViaGateway = -1;
311 static int hf_h245_VCCapability_availableBitRates_rangeOfBitRates = -1;
312 static int hf_h245_VCCapability_availableBitRates = -1;
313 static int hf_h245_VCCapability_aal5 = -1;
314 static int hf_h245_VCCapability_aal1 = -1;
315 static int hf_h245_VCCapability = -1;
316 static int hf_h245_H222Capability = -1;
317 static int hf_h245_H235SecurityCapability = -1;
318 static int hf_h245_Capability_h233EncryptionReceiveCapability = -1;
319 static int hf_h245_TerminalCapabilitySetRelease = -1;
320 static int hf_h245_TerminalCapabilitySetReject = -1;
321 static int hf_h245_TerminalCapabilitySetAck = -1;
322 static int hf_h245_CapabilityDescriptor = -1;
323 static int hf_h245_CapabilityTableEntry = -1;
324 static int hf_h245_TerminalCapabilitySet = -1;
325 static int hf_h245_MasterSlaveDeterminationRelease = -1;
326 static int hf_h245_MasterSlaveDeterminationReject = -1;
327 static int hf_h245_MasterSlaveDeterminationAck = -1;
328 static int hf_h245_MasterSlaveDetermination = -1;
329 static int hf_h245_h221NonStandard = -1;
330 static int hf_h245_NonStandardParameter = -1;
331 static int hf_h245_NonStandardMessage = -1;
332 static int hf_h245_FlowControlIndication_restriction = -1;
333 static int hf_h245_FlowControlIndication_scope = -1;
334 static int hf_h245_UserInputIndication_userInputSupportIndication = -1;
335 static int hf_h245_UserInputIndication = -1;
336 static int hf_h245_NewATMVCIndication_reverseParameters_multiplex = -1;
337 static int hf_h245_NewATMVCIndication_multiplex = -1;
338 static int hf_h245_NewATMVCIndication_aal_aal1_errorCorrection = -1;
339 static int hf_h245_NewATMVCIndication_aal_aal1_clockRecovery = -1;
340 static int hf_h245_JitterIndication_scope = -1;
341 static int hf_h245_MiscellaneousIndication_type = -1;
342 static int hf_h245_ConferenceIndication = -1;
343 static int hf_h245_FunctionNotSupported_cause = -1;
344 static int hf_h245_FunctionNotUnderstood = -1;
345 static int hf_h245_MobileMultilinkReconfigurationCommand_status = -1;
346 static int hf_h245_NewATMVCCommand_reverseParameters_multiplex = -1;
347 static int hf_h245_NewATMVCCommand_multiplex = -1;
348 static int hf_h245_NewATMVCCommand_aal_aal1_errorCorrection = -1;
349 static int hf_h245_NewATMVCCommand_aal_aal1_clockRecovery = -1;
350 static int hf_h245_NewATMVCCommand_aal = -1;
351 static int hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag = -1;
352 static int hf_h245_H223MultiplexReconfiguration_h223ModeChange = -1;
353 static int hf_h245_H223MultiplexReconfiguration = -1;
354 static int hf_h245_PictureReference = -1;
355 static int hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount = -1;
356 static int hf_h245_MiscellaneousCommand_type = -1;
357 static int hf_h245_ConferenceCommand = -1;
358 static int hf_h245_EndSessionCommand_gstnOptions = -1;
359 static int hf_h245_EndSessionCommand_isdnOptions = -1;
360 static int hf_h245_FlowControlCommand_restriction = -1;
361 static int hf_h245_FlowControlCommand_scope = -1;
362 static int hf_h245_EncryptionCommand = -1;
363 static int hf_h245_SendTerminalCapabilitySet = -1;
364 static int hf_h245_LogicalChannelRateRejectReason = -1;
365 static int hf_h245_DialingInformationNetworkType = -1;
366 static int hf_h245_DialingInformation = -1;
367 static int hf_h245_MultilinkIndication = -1;
368 static int hf_h245_MultilinkResponse_addConnection_responseCode_rejected = -1;
369 static int hf_h245_MultilinkResponse_addConnection_responseCode = -1;
370 static int hf_h245_MultilinkResponse = -1;
371 static int hf_h245_MultilinkRequest_maximumHeaderInterval_requestType = -1;
372 static int hf_h245_MultilinkRequest = -1;
373 static int hf_h245_RemoteMCResponse_reject = -1;
374 static int hf_h245_RemoteMCResponse = -1;
375 static int hf_h245_RemoteMCRequest = -1;
376 static int hf_h245_ConferenceResponse_sendThisSourceResponse = -1;
377 static int hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse = -1;
378 static int hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse = -1;
379 static int hf_h245_ConferenceResponse_makeMeChairResponse = -1;
380 static int hf_h245_ConferenceResponse = -1;
381 static int hf_h245_ConferenceRequest = -1;
382 static int hf_h245_CommunicationModeTableEntry_dataType = -1;
383 static int hf_h245_CommunicationModeResponse = -1;
384 static int hf_h245_MaintenanceLoopReject_cause = -1;
385 static int hf_h245_MaintenanceLoopReject_type = -1;
386 static int hf_h245_MaintenanceLoopAck_type = -1;
387 static int hf_h245_MaintenanceLoopRequest_type = -1;
388 static int hf_h245_EncryptionMode = -1;
389 static int hf_h245_DataMode_application = -1;
390 static int hf_h245_IS13818AudioMode_multiChannelType = -1;
391 static int hf_h245_IS13818AudioMode_audioSampling = -1;
392 static int hf_h245_IS13818AudioMode_audioLayer = -1;
393 static int hf_h245_IS11172AudioMode_multichannelType = -1;
394 static int hf_h245_IS11172AudioMode_audioSampling = -1;
395 static int hf_h245_IS11172AudioMode_audioLayer = -1;
396 static int hf_h245_AudioMode_g7231 = -1;
397 static int hf_h245_AudioMode = -1;
398 static int hf_h245_H263VideoMode_resolution = -1;
399 static int hf_h245_H262VideoMode_profileAndLevel = -1;
400 static int hf_h245_H261VideoMode_resolution = -1;
401 static int hf_h245_VideoMode = -1;
402 static int hf_h245_RedundancyEncodingMode_secondaryEncoding = -1;
403 static int hf_h245_V76ModeParameters = -1;
404 static int hf_h245_H223ModeParameters_adaptationLayerType = -1;
405 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream = -1;
406 static int hf_h245_FECMode_rfc2733Mode_mode = -1;
407 static int hf_h245_FECMode = -1;
408 static int hf_h245_RedundancyEncodingDTModeElement_type = -1;
409 static int hf_h245_H235Mode_mediaMode = -1;
410 static int hf_h245_ModeElementType = -1;
411 static int hf_h245_RequestModeReject_cause = -1;
412 static int hf_h245_RequestMultiplexEntryRejectionDescriptions_cause = -1;
413 static int hf_h245_MultiplexEntryRejectionDescriptions_cause = -1;
414 static int hf_h245_MultiplexElement_repeatCount = -1;
415 static int hf_h245_MultiplexElement_type = -1;
416 static int hf_h245_RequestChannelCloseReject_cause = -1;
417 static int hf_h245_RequestChannelClose_reason = -1;
418 static int hf_h245_CloseLogicalChannel_reason = -1;
419 static int hf_h245_CloseLogicalChannel_source = -1;
420 static int hf_h245_OpenLogicalChannelReject_cause = -1;
421 static int hf_h245_forwardMultiplexAckParameters = -1;
422 static int hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters = -1;
423 static int hf_h245_MulticastAddress = -1;
424 static int hf_h245_UnicastAddress_iPSourceRouteAddress_routing = -1;
425 static int hf_h245_UnicastAddress = -1;
426 static int hf_h245_mediaControlChannel = -1;
427 static int hf_h245_localAreaAddress = -1;
428 static int hf_h245_mediaChannel = -1;
429 static int hf_h245_signalAddress = -1;
430 static int hf_h245_FECData_rfc2733_mode_separateStream = -1;
431 static int hf_h245_FECData_rfc2733_mode = -1;
432 static int hf_h245_FECData = -1;
433 static int hf_h245_RTPPayloadType_payloadDescriptor = -1;
434 static int hf_h245_H2250LogicalChannelParameters_mediaPacketization = -1;
435 static int hf_h245_CRCLength = -1;
436 static int hf_h245_V76LogicalChannelParameters_mode_eRM_recovery = -1;
437 static int hf_h245_V76LogicalChannelParameters_mode = -1;
438 static int hf_h245_V76LogicalChannelParameters_suspendResume = -1;
439 static int hf_h245_H223AnnexCArqParameters_numberOfRetransmissions = -1;
440 static int hf_h245_H223AL3MParameters_arqType = -1;
441 static int hf_h245_H223AL3MParameters_crcLength = -1;
442 static int hf_h245_H223AL3MParameters_headerFormat = -1;
443 static int hf_h245_H223AL2MParameters_headerFEC = -1;
444 static int hf_h245_H223AL1MParameters_arqType = -1;
445 static int hf_h245_H223AL1MParameters_crcLength = -1;
446 static int hf_h245_H223AL1MParameters_headerFEC = -1;
447 static int hf_h245_H223AL1MParameters_transferMode = -1;
448 static int hf_h245_H223LogicalChannelParameters_adaptationLayerType = -1;
449 static int hf_h245_H235Media_mediaType = -1;
450 static int hf_h245_DataType = -1;
451 static int hf_h245_Q2931Address_address = -1;
452 static int hf_h245_NetworkAccessParameters_t120SetupProcedure = -1;
453 static int hf_h245_NetworkAccessParameters_networkAddress = -1;
454 static int hf_h245_NetworkAccessParameters_distribution = -1;
455 static int hf_h245_reverseLogicalChannelParameters_multiplexParameters = -1;
456 static int hf_h245_forwardLogicalChannelParameters_multiplexParameters = -1;
457 static int hf_h245_FECCapability = -1;
458 static int hf_h245_MultiplexFormat = -1;
459 static int hf_h245_ParameterValue = -1;
460 static int hf_h245_ParameterIdentifier = -1;
461 static int hf_h245_CapabilityIdentifier = -1;
462 static int hf_h245_UserInputCapability = -1;
463 static int hf_h245_MediaEncryptionAlgorithm = -1;
464 static int hf_h245_T38FaxUdpOptions_t38FaxUdpEC = -1;
465 static int hf_h245_T38FaxRateManagement = -1;
466 static int hf_h245_T84Profile = -1;
467 static int hf_h245_CompressionType = -1;
468 static int hf_h245_DataProtocolCapability_v76wCompression = -1;
469 static int hf_h245_DataProtocolCapability = -1;
470 static int hf_h245_DataApplicationCapability_application = -1;
471 static int hf_h245_AudioCapability = -1;
472 static int hf_h245_CustomPictureFormat_pixelAspectInformation = -1;
473 static int hf_h245_RefPictureSelection_videoBackChannelSend = -1;
474 static int hf_h245_VideoCapability = -1;
475 static int hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping = -1;
476 static int hf_h245_RedundancyEncodingMethod = -1;
477 static int hf_h245_MediaTransportType = -1;
478 static int hf_h245_QOSMode = -1;
479 static int hf_h245_H223Capability_h223MultiplexTableCapability = -1;
480 static int hf_h245_VCCapability_availableBitRates_type = -1;
481 static int hf_h245_MultiplexCapability = -1;
482 static int hf_h245_Capability = -1;
483 static int hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded = -1;
484 static int hf_h245_TerminalCapabilitySetReject_cause = -1;
485 static int hf_h245_MasterSlaveDeterminationReject_cause = -1;
486 static int hf_h245_MasterSlaveDeterminationAck_decision = -1;
487 static int hf_h245_RequestModeAck_response_decision = -1;
488 static int hf_h245_NonStandardIdentifier = -1;
489 static int hf_h245_h233EncryptionTransmitCapability = -1;
490 static int hf_h245_nullClockRecovery = -1;
491 static int hf_h245_srtsClockRecovery = -1;
492 static int hf_h245_adaptiveClockRecovery = -1;
493 static int hf_h245_nullErrorCorrection = -1;
494 static int hf_h245_longInterleaver = -1;
495 static int hf_h245_shortInterleaver = -1;
496 static int hf_h245_errorCorrectionOnly = -1;
497 static int hf_h245_structuredDataTransfer = -1;
498 static int hf_h245_partiallyFilledCells = -1;
499 static int hf_h245_transportStream = -1;
500 static int hf_h245_programStream = -1;
501 static int hf_h245_transportWithIframes = -1;
502 static int hf_h245_videoWithAL1 = -1;
503 static int hf_h245_videoWithAL2 = -1;
504 static int hf_h245_videoWithAL3 = -1;
505 static int hf_h245_audioWithAL1 = -1;
506 static int hf_h245_audioWithAL2 = -1;
507 static int hf_h245_audioWithAL3 = -1;
508 static int hf_h245_dataWithAL1 = -1;
509 static int hf_h245_dataWithAL2 = -1;
510 static int hf_h245_dataWithAL3 = -1;
511 static int hf_h245_maxMUXPDUSizeCapability = -1;
512 static int hf_h245_nsrpSupport = -1;
513 static int hf_h245_modeChangeCapability = -1;
514 static int hf_h245_h223AnnexA = -1;
515 static int hf_h245_h223AnnexADoubleFlag_bool = -1;
516 static int hf_h245_h223AnnexB = -1;
517 static int hf_h245_h223AnnexBwithHeader = -1;
518 static int hf_h245_videoWithAL1M = -1;
519 static int hf_h245_videoWithAL2M = -1;
520 static int hf_h245_videoWithAL3M = -1;
521 static int hf_h245_audioWithAL1M = -1;
522 static int hf_h245_audioWithAL2M = -1;
523 static int hf_h245_audioWithAL3M = -1;
524 static int hf_h245_dataWithAL1M = -1;
525 static int hf_h245_dataWithAL2M = -1;
526 static int hf_h245_dataWithAL3M = -1;
527 static int hf_h245_alpduInterleaving = -1;
528 static int hf_h245_rsCodeCapability = -1;
529 static int hf_h245_suspendResumeCapabilitywAddress = -1;
530 static int hf_h245_suspendResumeCapabilitywoAddress = -1;
531 static int hf_h245_rejCapability = -1;
532 static int hf_h245_sREJCapability = -1;
533 static int hf_h245_mREJCapability = -1;
534 static int hf_h245_crc8bitCapability = -1;
535 static int hf_h245_crc16bitCapability = -1;
536 static int hf_h245_crc32bitCapability = -1;
537 static int hf_h245_uihCapability = -1;
538 static int hf_h245_twoOctetAddressFieldCapability = -1;
539 static int hf_h245_loopBackTestCapability = -1;
540 static int hf_h245_audioHeader = -1;
541 static int hf_h245_centralizedConferenceMC = -1;
542 static int hf_h245_decentralizedConferenceMC = -1;
543 static int hf_h245_rtcpVideoControlCapability = -1;
544 static int hf_h245_logicalChannelSwitchingCapability = -1;
545 static int hf_h245_t120DynamicPortCapability = -1;
546 static int hf_h245_h261aVideoPacketization = -1;
547 static int hf_h245_atmUBR = -1;
548 static int hf_h245_atmrtVBR = -1;
549 static int hf_h245_atmnrtVBR = -1;
550 static int hf_h245_atmABR = -1;
551 static int hf_h245_atmCBR = -1;
552 static int hf_h245_variableDelta = -1;
553 static int hf_h245_multicastCapability = -1;
554 static int hf_h245_multiUniCastConference = -1;
555 static int hf_h245_centralizedControl = -1;
556 static int hf_h245_distributedControl = -1;
557 static int hf_h245_centralizedAudio = -1;
558 static int hf_h245_distributedAudio = -1;
559 static int hf_h245_centralizedVideo = -1;
560 static int hf_h245_distributedVideo = -1;
561 static int hf_h245_temporalSpatialTradeOffCapability = -1;
562 static int hf_h245_stillImageTransmission = -1;
563 static int hf_h245_videoBadMBsCap = -1;
564 static int hf_h245_profileAndLevelSPatML = -1;
565 static int hf_h245_profileAndLevelMPatLL = -1;
566 static int hf_h245_profileAndLevelMPatML = -1;
567 static int hf_h245_profileAndLevelMPatH14 = -1;
568 static int hf_h245_profileAndLevelMPatHL = -1;
569 static int hf_h245_profileAndLevelSNRatLL = -1;
570 static int hf_h245_profileAndLevelSNRatML = -1;
571 static int hf_h245_profileAndLevelSpatialatH14 = -1;
572 static int hf_h245_profileAndLevelHPatML = -1;
573 static int hf_h245_profileAndLevelHPatH14 = -1;
574 static int hf_h245_profileAndLevelHPatHL = -1;
575 static int hf_h245_unrestrictedVector = -1;
576 static int hf_h245_arithmeticCoding = -1;
577 static int hf_h245_advancedPrediction = -1;
578 static int hf_h245_pbFrames = -1;
579 static int hf_h245_errorCompensation = -1;
580 static int hf_h245_baseBitRateConstrained = -1;
581 static int hf_h245_advancedIntraCodingMode = -1;
582 static int hf_h245_deblockingFilterMode = -1;
583 static int hf_h245_improvedPBFramesMode = -1;
584 static int hf_h245_unlimitedMotionVectors = -1;
585 static int hf_h245_fullPictureFreeze = -1;
586 static int hf_h245_partialPictureFreezeAndRelease = -1;
587 static int hf_h245_resizingPartPicFreezeAndRelease = -1;
588 static int hf_h245_fullPictureSnapshot = -1;
589 static int hf_h245_partialPictureSnapshot = -1;
590 static int hf_h245_videoSegmentTagging = -1;
591 static int hf_h245_progressiveRefinement = -1;
592 static int hf_h245_dynamicPictureResizingByFour = -1;
593 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;
594 static int hf_h245_dynamicWarpingHalfPel = -1;
595 static int hf_h245_dynamicWarpingSixteenthPel = -1;
596 static int hf_h245_independentSegmentDecoding = -1;
597 static int hf_h245_slicesInOrderNonRect = -1;
598 static int hf_h245_slicesInOrderRect = -1;
599 static int hf_h245_slicesNoOrderNonRect = -1;
600 static int hf_h245_slicesNoOrderRect = -1;
601 static int hf_h245_alternateInterVLCMode = -1;
602 static int hf_h245_modifiedQuantizationMode = -1;
603 static int hf_h245_reducedResolutionUpdate = -1;
604 static int hf_h245_separateVideoBackChannel = -1;
605 static int hf_h245_videoMux = -1;
606 static int hf_h245_anyPixelAspectRatio = -1;
607 static int hf_h245_referencePicSelect = -1;
608 static int hf_h245_enhancedReferencePicSelect_bool = -1;
609 static int hf_h245_dataPartitionedSlices = -1;
610 static int hf_h245_fixedPointIDCT0 = -1;
611 static int hf_h245_interlacedFields = -1;
612 static int hf_h245_currentPictureHeaderRepetition = -1;
613 static int hf_h245_previousPictureHeaderRepetition = -1;
614 static int hf_h245_nextPictureHeaderRepetition = -1;
615 static int hf_h245_pictureNumber_bool = -1;
616 static int hf_h245_spareReferencePictures = -1;
617 static int hf_h245_constrainedBitstream = -1;
618 static int hf_h245_silenceSuppression = -1;
619 static int hf_h245_annexA = -1;
620 static int hf_h245_annexB = -1;
621 static int hf_h245_annexD = -1;
622 static int hf_h245_annexE = -1;
623 static int hf_h245_annexF = -1;
624 static int hf_h245_annexG = -1;
625 static int hf_h245_annexH = -1;
626 static int hf_h245_audioLayer1 = -1;
627 static int hf_h245_audioLayer2 = -1;
628 static int hf_h245_audioLayer3 = -1;
629 static int hf_h245_audioSampling32k = -1;
630 static int hf_h245_audioSampling44k1 = -1;
631 static int hf_h245_audioSampling48k = -1;
632 static int hf_h245_singleChannel = -1;
633 static int hf_h245_twoChannels = -1;
634 static int hf_h245_audioSampling16k = -1;
635 static int hf_h245_audioSampling22k05 = -1;
636 static int hf_h245_audioSampling24k = -1;
637 static int hf_h245_threeChannels21 = -1;
638 static int hf_h245_threeChannels30 = -1;
639 static int hf_h245_fourChannels2020 = -1;
640 static int hf_h245_fourChannels22 = -1;
641 static int hf_h245_fourChannels31 = -1;
642 static int hf_h245_fiveChannels3020 = -1;
643 static int hf_h245_fiveChannels32 = -1;
644 static int hf_h245_lowFrequencyEnhancement = -1;
645 static int hf_h245_multilingual = -1;
646 static int hf_h245_comfortNoise = -1;
647 static int hf_h245_scrambled = -1;
648 static int hf_h245_qcif_bool = -1;
649 static int hf_h245_cif_bool = -1;
650 static int hf_h245_ccir601Seq = -1;
651 static int hf_h245_ccir601Prog = -1;
652 static int hf_h245_hdtvSeq = -1;
653 static int hf_h245_hdtvProg = -1;
654 static int hf_h245_g3FacsMH200x100 = -1;
655 static int hf_h245_g3FacsMH200x200 = -1;
656 static int hf_h245_g4FacsMMR200x100 = -1;
657 static int hf_h245_g4FacsMMR200x200 = -1;
658 static int hf_h245_jbig200x200Seq = -1;
659 static int hf_h245_jbig200x200Prog = -1;
660 static int hf_h245_jbig300x300Seq = -1;
661 static int hf_h245_jbig300x300Prog = -1;
662 static int hf_h245_digPhotoLow = -1;
663 static int hf_h245_digPhotoMedSeq = -1;
664 static int hf_h245_digPhotoMedProg = -1;
665 static int hf_h245_digPhotoHighSeq = -1;
666 static int hf_h245_digPhotoHighProg = -1;
667 static int hf_h245_fillBitRemoval = -1;
668 static int hf_h245_transcodingJBIG = -1;
669 static int hf_h245_transcodingMMR = -1;
670 static int hf_h245_t38TCPBidirectionalMode = -1;
671 static int hf_h245_chairControlCapability = -1;
672 static int hf_h245_videoIndicateMixingCapability = -1;
673 static int hf_h245_multipointVisualizationCapability = -1;
674 static int hf_h245_controlOnMuxStream = -1;
675 static int hf_h245_redundancyEncoding_bool = -1;
676 static int hf_h245_separatePort = -1;
677 static int hf_h245_samePort_bool = -1;
678 static int hf_h245_associateConference = -1;
679 static int hf_h245_audioHeaderPresent = -1;
680 static int hf_h245_segmentableFlag = -1;
681 static int hf_h245_alsduSplitting = -1;
682 static int hf_h245_uIH = -1;
683 static int hf_h245_loopbackTestProcedure = -1;
684 static int hf_h245_mediaGuaranteedDelivery = -1;
685 static int hf_h245_mediaControlGuaranteedDelivery = -1;
686 static int hf_h245_flowControlToZero = -1;
687 static int hf_h245_multiplexCapability_bool = -1;
688 static int hf_h245_secureChannel = -1;
689 static int hf_h245_sharedSecret = -1;
690 static int hf_h245_certProtectedKey = -1;
691 static int hf_h245_bitRateLockedToPCRClock = -1;
692 static int hf_h245_bitRateLockedToNetworkClock = -1;
693 static int hf_h245_IS11172_BitRate = -1;
694 static int hf_h245_IS13818_BitRate = -1;
695 static int hf_h245_ATM_BitRate = -1;
696 static int hf_h245_t35CountryCode = -1;
697 static int hf_h245_t35Extension = -1;
698 static int hf_h245_manufacturerCode = -1;
699 static int hf_h245_terminalType = -1;
700 static int hf_h245_statusDeterminationNumber = -1;
701 static int hf_h245_CapabilityTableEntryNumber = -1;
702 static int hf_h245_CapabilityDescriptorNumber = -1;
703 static int hf_h245_h233IVResponseTime = -1;
704 static int hf_h245_maxPendingReplacementFor = -1;
705 static int hf_h245_numberOfVCs = -1;
706 static int hf_h245_forwardMaximumSDUSize = -1;
707 static int hf_h245_backwardMaximumSDUSize = -1;
708 static int hf_h245_singleBitRate = -1;
709 static int hf_h245_lowerBitRate = -1;
710 static int hf_h245_higherBitRate = -1;
711 static int hf_h245_maximumAl2SDUSize = -1;
712 static int hf_h245_maximumAl3SDUSize = -1;
713 static int hf_h245_maximumDelayJitter = -1;
714 static int hf_h245_maximumNestingDepth = -1;
715 static int hf_h245_maximumElementListSize = -1;
716 static int hf_h245_maximumSubElementListSize = -1;
717 static int hf_h245_h223bitRate = -1;
718 static int hf_h245_maximumSampleSize = -1;
719 static int hf_h245_maximumPayloadLength = -1;
720 static int hf_h245_maximumAL1MPDUSize = -1;
721 static int hf_h245_maximumAL2MSDUSize = -1;
722 static int hf_h245_maximumAL3MSDUSize = -1;
723 static int hf_h245_numOfDLCS = -1;
724 static int hf_h245_n401Capability = -1;
725 static int hf_h245_maxWindowSizeCapability = -1;
726 static int hf_h245_maximumAudioDelayJitter = -1;
727 static int hf_h245_tokenRate = -1;
728 static int hf_h245_bucketSize = -1;
729 static int hf_h245_peakRate = -1;
730 static int hf_h245_minPoliced = -1;
731 static int hf_h245_maxPktSize = -1;
732 static int hf_h245_maxNTUSize = -1;
733 static int hf_h245_numberOfThreads = -1;
734 static int hf_h245_framesBetweenSyncPoints = -1;
735 static int hf_h245_threadNumber = -1;
736 static int hf_h245_qcifMPI_1_4 = -1;
737 static int hf_h245_qcifMPI_1_32 = -1;
738 static int hf_h245_qcifMPI_1_2048 = -1;
739 static int hf_h245_cifMPI_1_4 = -1;
740 static int hf_h245_cifMPI_1_32 = -1;
741 static int hf_h245_cifMPI_1_2048 = -1;
742 static int hf_h245_videoBitRate = -1;
743 static int hf_h245_vbvBufferSize = -1;
744 static int hf_h245_samplesPerLine = -1;
745 static int hf_h245_linesPerFrame = -1;
746 static int hf_h245_framesPerSecond = -1;
747 static int hf_h245_luminanceSampleRate = -1;
748 static int hf_h245_sqcifMPI_1_32 = -1;
749 static int hf_h245_sqcifMPI_1_2048 = -1;
750 static int hf_h245_cif4MPI_1_32 = -1;
751 static int hf_h245_cif4MPI_1_2048 = -1;
752 static int hf_h245_cif16MPI_1_32 = -1;
753 static int hf_h245_cif16MPI_1_2048 = -1;
754 static int hf_h245_maxBitRate_192400 = -1;
755 static int hf_h245_hrd_B = -1;
756 static int hf_h245_bppMaxKb = -1;
757 static int hf_h245_slowSqcifMPI = -1;
758 static int hf_h245_slowQcifMPI = -1;
759 static int hf_h245_slowCifMPI = -1;
760 static int hf_h245_slowCif4MPI = -1;
761 static int hf_h245_slowCif16MPI = -1;
762 static int hf_h245_numberOfBPictures = -1;
763 static int hf_h245_presentationOrder = -1;
764 static int hf_h245_offset_x = -1;
765 static int hf_h245_offset_y = -1;
766 static int hf_h245_scale_x = -1;
767 static int hf_h245_scale_y = -1;
768 static int hf_h245_sqcifAdditionalPictureMemory = -1;
769 static int hf_h245_qcifAdditionalPictureMemory = -1;
770 static int hf_h245_cifAdditionalPictureMemory = -1;
771 static int hf_h245_cif4AdditionalPictureMemory = -1;
772 static int hf_h245_cif16AdditionalPictureMemory = -1;
773 static int hf_h245_bigCpfAdditionalPictureMemory = -1;
774 static int hf_h245_mpuHorizMBs = -1;
775 static int hf_h245_mpuVertMBs = -1;
776 static int hf_h245_mpuTotalNumber = -1;
777 static int hf_h245_clockConversionCode = -1;
778 static int hf_h245_clockDivisor = -1;
779 static int hf_h245_maxCustomPictureWidth = -1;
780 static int hf_h245_minCustomPictureWidth = -1;
781 static int hf_h245_minCustomPictureHeight = -1;
782 static int hf_h245_maxCustomPictureHeight = -1;
783 static int hf_h245_standardMPI = -1;
784 static int hf_h245_customMPI = -1;
785 static int hf_h245_width = -1;
786 static int hf_h245_height = -1;
787 static int hf_h245_pictureRate = -1;
788 static int hf_h245_g711Alaw64k = -1;
789 static int hf_h245_g711Alaw56k = -1;
790 static int hf_h245_g711Ulaw64k = -1;
791 static int hf_h245_g711Ulaw56k = -1;
792 static int hf_h245_g722_64k = -1;
793 static int hf_h245_g722_56k = -1;
794 static int hf_h245_g722_48k = -1;
795 static int hf_h245_maxAl_sduAudioFrames = -1;
796 static int hf_h245_g728 = -1;
797 static int hf_h245_g729 = -1;
798 static int hf_h245_g729AnnexA = -1;
799 static int hf_h245_g729wAnnexB = -1;
800 static int hf_h245_g729AnnexAwAnnexB = -1;
801 static int hf_h245_audioUnit = -1;
802 static int hf_h245_highRateMode0 = -1;
803 static int hf_h245_highRateMode1 = -1;
804 static int hf_h245_lowRateMode0 = -1;
805 static int hf_h245_lowRateMode1 = -1;
806 static int hf_h245_sidMode0 = -1;
807 static int hf_h245_sidMode1 = -1;
808 static int hf_h245_audioUnitSize = -1;
809 static int hf_h245_maxBitRate_4294967295UL = -1;
810 static int hf_h245_numberOfCodewords = -1;
811 static int hf_h245_maximumStringLength = -1;
812 static int hf_h245_version = -1;
813 static int hf_h245_standard_0_127 = -1;
814 static int hf_h245_booleanArray = -1;
815 static int hf_h245_unsignedMin = -1;
816 static int hf_h245_unsignedMax = -1;
817 static int hf_h245_unsigned32Min = -1;
818 static int hf_h245_unsigned32Max = -1;
819 static int hf_h245_dynamicRTPPayloadType = -1;
820 static int hf_h245_portNumber = -1;
821 static int hf_h245_resourceID = -1;
822 static int hf_h245_subChannelID = -1;
823 static int hf_h245_pcr_pid = -1;
824 static int hf_h245_controlFieldOctets = -1;
825 static int hf_h245_sendBufferSize = -1;
826 static int hf_h245_rcpcCodeRate = -1;
827 static int hf_h245_rsCodeCorrection = -1;
828 static int hf_h245_finite_0_16 = -1;
829 static int hf_h245_windowSize = -1;
830 static int hf_h245_n401 = -1;
831 static int hf_h245_sessionID_0_255 = -1;
832 static int hf_h245_sessionID_1_255 = -1;
833 static int hf_h245_associatedSessionID = -1;
834 static int hf_h245_payloadType = -1;
835 static int hf_h245_protectedSessionID = -1;
836 static int hf_h245_protectedPayloadType = -1;
837 static int hf_h245_tsapIdentifier = -1;
838 static int hf_h245_synchFlag = -1;
839 static int hf_h245_finite_1_65535 = -1;
840 static int hf_h245_MultiplexTableEntryNumber = -1;
841 static int hf_h245_dataModeBitRate = -1;
842 static int hf_h245_sessionDependency = -1;
843 static int hf_h245_sRandom = -1;
844 static int hf_h245_McuNumber = -1;
845 static int hf_h245_TerminalNumber = -1;
846 static int hf_h245_maxNumberOfAdditionalConnections = -1;
847 static int hf_h245_requestedInterval = -1;
848 static int hf_h245_callAssociationNumber = -1;
849 static int hf_h245_currentInterval = -1;
850 static int hf_h245_infoNotAvailable = -1;
851 static int hf_h245_channelTag = -1;
852 static int hf_h245_ConnectionIDsequenceNumber = -1;
853 static int hf_h245_MaximumBitRate = -1;
854 static int hf_h245_maximumBitRate_0_16777215 = -1;
855 static int hf_h245_firstGOB_0_17 = -1;
856 static int hf_h245_numberOfGOBs = -1;
857 static int hf_h245_videoTemporalSpatialTradeOff = -1;
858 static int hf_h245_firstGOB_0_255 = -1;
859 static int hf_h245_firstMB_1_8192 = -1;
860 static int hf_h245_firstMB_1_9216 = -1;
861 static int hf_h245_numberOfMBs_1_8192 = -1;
862 static int hf_h245_numberOfMBs_1_9216 = -1;
863 static int hf_h245_maxH223MUXPDUsize = -1;
864 static int hf_h245_temporalReference_0_1023 = -1;
865 static int hf_h245_temporalReference_0_255 = -1;
866 static int hf_h245_pictureNumber = -1;
867 static int hf_h245_longTermPictureIndex = -1;
868 static int hf_h245_sampleSize = -1;
869 static int hf_h245_samplesPerFrame = -1;
870 static int hf_h245_sbeNumber = -1;
871 static int hf_h245_subPictureNumber = -1;
872 static int hf_h245_compositionNumber = -1;
873 static int hf_h245_estimatedReceivedJitterMantissa = -1;
874 static int hf_h245_estimatedReceivedJitterExponent = -1;
875 static int hf_h245_skippedFrameCount = -1;
876 static int hf_h245_additionalDecoderBuffer = -1;
877 static int hf_h245_skew = -1;
878 static int hf_h245_maximumSkew = -1;
879 static int hf_h245_duration = -1;
880 static int hf_h245_timestamp = -1;
881 static int hf_h245_frame = -1;
882 static int hf_h245_containedThread = -1;
883 static int hf_h245_t38FaxMaxBuffer = -1;
884 static int hf_h245_t38FaxMaxDatagram = -1;
885 static int hf_h245_expirationTime = -1;
886 static int hf_h245_object = -1;
887 static int hf_h245_protocolIdentifier = -1;
888 static int hf_h245_algorithm = -1;
889 static int hf_h245_antiSpamAlgorithm = -1;
890 static int hf_h245_standard_object = -1;
891 static int hf_h245_oid = -1;
892 static int hf_h245_escrowID = -1;
893 static int hf_h245_field = -1;
894 static int hf_h245_NonStandardParameterData = -1;
895 static int hf_h245_nlpidData = -1;
896 static int hf_h245_nonCollapsingRaw = -1;
897 static int hf_h245_uuid = -1;
898 static int hf_h245_octetString = -1;
899 static int hf_h245_externalReference = -1;
900 static int hf_h245_nsapAddress = -1;
901 static int hf_h245_subaddress_1_20 = -1;
902 static int hf_h245_programDescriptors = -1;
903 static int hf_h245_streamDescriptors = -1;
904 static int hf_h245_ipv4network = -1;
905 static int hf_h245_ipxNode = -1;
906 static int hf_h245_ipxNetnum = -1;
907 static int hf_h245_ipv6network = -1;
908 static int hf_h245_netBios = -1;
909 static int hf_h245_nsap = -1;
910 static int hf_h245_h235Key = -1;
911 static int hf_h245_value = -1;
912 static int hf_h245_certificateResponse = -1;
913 static int hf_h245_TerminalID = -1;
914 static int hf_h245_ConferenceID = -1;
915 static int hf_h245_Password = -1;
916 static int hf_h245_encryptionSE = -1;
917 static int hf_h245_conferenceIdentifier = -1;
918 static int hf_h245_returnedFunction = -1;
919 static int hf_h245_productNumber = -1;
920 static int hf_h245_versionNumber = -1;
921 static int hf_h245_mediaDistributionCapability = -1;
922 static int hf_h245_AlternativeCapabilitySet = -1;
923 static int hf_h245_frameToThreadMapping_custom = -1;
924 static int hf_h245_RedundancyEncodingCapability_sequence_of = -1;
925 static int hf_h245_frameSequence = -1;
926 static int hf_h245_EncryptionCapability = -1;
927 static int hf_h245_escrowentry = -1;
928 static int hf_h245_elementList = -1;
929 static int hf_h245_subElementList = -1;
930 static int hf_h245_requestedModes = -1;
931 static int hf_h245_CertSelectionCriteria = -1;
932 static int hf_h245_capabilityTable = -1;
933 static int hf_h245_capabilityDescriptors = -1;
934 static int hf_h245_simultaneousCapabilities = -1;
935 static int hf_h245_gatewayAddress = -1;
936 static int hf_h245_snrEnhancement = -1;
937 static int hf_h245_spatialEnhancement = -1;
938 static int hf_h245_bPictureEnhancement = -1;
939 static int hf_h245_customPictureClockFrequency = -1;
940 static int hf_h245_customPictureFormat = -1;
941 static int hf_h245_modeCombos = -1;
942 static int hf_h245_customPCF = -1;
943 static int hf_h245_pixelAspectCode = -1;
944 static int hf_h245_extendedPAR = -1;
945 static int hf_h245_h263VideoCoupledModes = -1;
946 static int hf_h245_capabilityOnMuxStream = -1;
947 static int hf_h245_capabilities = -1;
948 static int hf_h245_multiplexEntryDescriptors = -1;
949 static int hf_h245_multiplexTableEntryNumber_set_of = -1;
950 static int hf_h245_VCCapability_set_of = -1;
951 static int hf_h245_rejectionDescriptions = -1;
952 static int hf_h245_entryNumbers = -1;
953 static int hf_h245_ModeDescription = -1;
954 static int hf_h245_communicationModeTable = -1;
955 static int hf_h245_terminalListResponse = -1;
956 static int hf_h245_differential = -1;
957 static int hf_h245_networkType = -1;
958 static int hf_h245_capabilityTableEntryNumbers = -1;
959 static int hf_h245_capabilityDescriptorNumbers = -1;
960 static int hf_h245_qOSCapabilities = -1;
961 static int hf_h245_containedThreads = -1;
962 static int hf_h245_CapabilityTableEntryNumber_sequence_of = -1;
963 static int hf_h245_mediaChannelCapabilities = -1;
964 static int hf_h245_rtpPayloadType_sequence_of = -1;
965 static int hf_h245_centralizedData = -1;
966 static int hf_h245_distributedData = -1;
967 static int hf_h245_nonStandardData = -1;
968 static int hf_h245_collapsing = -1;
969 static int hf_h245_nonCollapsing = -1;
970 static int hf_h245_supersedes = -1;
971 static int hf_h245_genericParameter = -1;
972 static int hf_h245_secondary_REE = -1;
973 static int hf_h245_elements_MPSE = -1;
974 static int hf_h245_secondary_REDTME = -1;
975 static int hf_h245_elements_MPSEM = -1;
976 static int hf_h245_TerminalInformationSO = -1;
977 static int hf_h245_lostPicture = -1;
978 static int hf_h245_recoveryReferencePicture = -1;
979 static int hf_h245_iPSourceRouteAddress_route = -1;
980 static int hf_h245_audioTelephoneEvent = -1;
981 static int hf_h245_alphanumeric = -1;
982 static int hf_h245_h221Manufacturer = -1;
983
984
985 static gint ett_h245 = -1;
986 static gint ett_h245_VCCapability_set_of = -1;
987 static gint ett_h245_MultimediaSystemControlMessage = -1;
988 static gint ett_h245_RequestMessage = -1;
989 static gint ett_h245_ResponseMessage = -1;
990 static gint ett_h245_IndicationMessage = -1;
991 static gint ett_h245_CommandMessage = -1;
992 static gint ett_h245_EndSessionCommand = -1;
993 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
994 static gint ett_h245_FlowControlIndication = -1;
995 static gint ett_h245_UserInputIndication_extendedAlphanumeric = -1;
996 static gint ett_h245_UserInputIndication_signalUpdate_rtp = -1;
997 static gint ett_h245_UserInputIndication_signalUpdate = -1;
998 static gint ett_h245_UserInputIndication_signal_rtp = -1;
999 static gint ett_h245_UserInputIndication_signal = -1;
1000 static gint ett_h245_NewATMVCIndication_reverseParameters = -1;
1001 static gint ett_h245_NewATMVCIndication_aal_aal5 = -1;
1002 static gint ett_h245_NewATMVCIndication_aal_aal1 = -1;
1003 static gint ett_h245_NewATMVCIndication_aal = -1;
1004 static gint ett_h245_NewATMVCIndication = -1;
1005 static gint ett_h245_VendorIdentification = -1;
1006 static gint ett_h245_MCLocationIndication = -1;
1007 static gint ett_h245_H2250MaximumSkewIndication = -1;
1008 static gint ett_h245_H223SkewIndication = -1;
1009 static gint ett_h245_JitterIndication = -1;
1010 static gint ett_h245_AlternativeCapabilitySet = -1;
1011 static gint ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs = -1;
1012 static gint ett_h245_MiscellaneousIndication = -1;
1013 static gint ett_h245_VideoIndicateCompose = -1;
1014 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
1015 static gint ett_h245_FunctionNotSupported = -1;
1016 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
1017 static gint ett_h245_NewATMVCCommand_reverseParameters = -1;
1018 static gint ett_h245_NewATMVCCommand = -1;
1019 static gint ett_h245_NewATMVCCommand_aal_aal5 = -1;
1020 static gint ett_h245_NewATMVCCommand_aal_aal1 = -1;
1021 static gint ett_h245_EncryptionUpdateRequest = -1;
1022 static gint ett_h245_KeyProtectionMethod = -1;
1023 static gint ett_h245_MiscellaneousCommand_type_lostPartialPicture = -1;
1024 static gint ett_h245_MiscellaneousCommand_type_videoBadMBs = -1;
1025 static gint ett_h245_MiscellaneousCommand_type_progressiveRefinementStart = -1;
1026 static gint ett_h245_MiscellaneousCommand_type_videoFastUpdateMB = -1;
1027 static gint ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB = -1;
1028 static gint ett_h245_MiscellaneousCommand = -1;
1029 static gint ett_h245_SubstituteConferenceIDCommand = -1;
1030 static gint ett_h245_FlowControlCommand = -1;
1031 static gint ett_h245_EncryptionCommand_encryptionAlgorithmID = -1;
1032 static gint ett_h245_SendTerminalCapabilitySet_specificRequest = -1;
1033 static gint ett_h245_LogicalChannelRateRelease = -1;
1034 static gint ett_h245_LogicalChannelRateReject = -1;
1035 static gint ett_h245_LogicalChannelRateAck = -1;
1036 static gint ett_h245_LogicalChannelRateRequest = -1;
1037 static gint ett_h245_ConnectionIdentifier = -1;
1038 static gint ett_h245_DialingInformationNumber = -1;
1039 static gint ett_h245_MultilinkIndication_excessiveError = -1;
1040 static gint ett_h245_MultilinkIndication_crcDesired = -1;
1041 static gint ett_h245_MultilinkResponse_maximumHeaderInterval = -1;
1042 static gint ett_h245_MultilinkResponse_removeConnection = -1;
1043 static gint ett_h245_MultilinkResponse_addConnection = -1;
1044 static gint ett_h245_MultilinkResponse_callInformation = -1;
1045 static gint ett_h245_MultilinkRequest_maximumHeaderInterval = -1;
1046 static gint ett_h245_MultilinkRequest_removeConnection = -1;
1047 static gint ett_h245_MultilinkRequest_addConnection = -1;
1048 static gint ett_h245_MultilinkRequest_callInformation = -1;
1049 static gint ett_h245_TerminalInformation = -1;
1050 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
1051 static gint ett_h245_ConferenceResponse_terminalCertificateResponse = -1;
1052 static gint ett_h245_ConferenceResponse_chairTokenOwnerResponse = -1;
1053 static gint ett_h245_ConferenceResponse_extensionAddressResponse = -1;
1054 static gint ett_h245_ConferenceResponse_passwordResponse = -1;
1055 static gint ett_h245_ConferenceResponse_conferenceIDResponse = -1;
1056 static gint ett_h245_ConferenceResponse_terminalIDResponse = -1;
1057 static gint ett_h245_ConferenceResponse_mCterminalIDResponse = -1;
1058 static gint ett_h245_TerminalLabel = -1;
1059 static gint ett_h245_Criteria = -1;
1060 static gint ett_h245_ConferenceRequest_requestTerminalCertificate = -1;
1061 static gint ett_h245_CommunicationModeTableEntry = -1;
1062 static gint ett_h245_CommunicationModeRequest = -1;
1063 static gint ett_h245_CommunicationModeCommand = -1;
1064 static gint ett_h245_MaintenanceLoopOffCommand = -1;
1065 static gint ett_h245_MaintenanceLoopReject = -1;
1066 static gint ett_h245_MaintenanceLoopAck = -1;
1067 static gint ett_h245_MaintenanceLoopRequest = -1;
1068 static gint ett_h245_RoundTripDelayResponse = -1;
1069 static gint ett_h245_RoundTripDelayRequest = -1;
1070 static gint ett_h245_DataMode_application_t38fax = -1;
1071 static gint ett_h245_DataMode_application_nlpid = -1;
1072 static gint ett_h245_DataMode = -1;
1073 static gint ett_h245_VBDMode = -1;
1074 static gint ett_h245_G7231AnnexCMode_g723AnnexCAudioMode = -1;
1075 static gint ett_h245_G7231AnnexCMode = -1;
1076 static gint ett_h245_IS13818AudioMode = -1;
1077 static gint ett_h245_IS11172AudioMode = -1;
1078 static gint ett_h245_IS11172VideoMode = -1;
1079 static gint ett_h245_H263VideoMode = -1;
1080 static gint ett_h245_H262VideoMode = -1;
1081 static gint ett_h245_H261VideoMode = -1;
1082 static gint ett_h245_RedundancyEncodingMode = -1;
1083 static gint ett_h245_H2250ModeParameters = -1;
1084 static gint ett_h245_H223ModeParameters_adaptationLayerType_al3 = -1;
1085 static gint ett_h245_H223ModeParameters = -1;
1086 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort = -1;
1087 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort = -1;
1088 static gint ett_h245_FECMode_rfc2733Mode = -1;
1089 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
1090 static gint ett_h245_MultiplePayloadStreamMode = -1;
1091 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
1092 static gint ett_h245_RedundancyEncodingDTMode = -1;
1093 static gint ett_h245_MultiplexedStreamModeParameters = -1;
1094 static gint ett_h245_H235Mode = -1;
1095 static gint ett_h245_ModeElement = -1;
1096 static gint ett_h245_RequestModeRelease = -1;
1097 static gint ett_h245_RequestModeReject = -1;
1098 static gint ett_h245_RequestModeAck = -1;
1099 static gint ett_h245_RequestMode = -1;
1100 static gint ett_h245_RequestMultiplexEntryRelease = -1;
1101 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
1102 static gint ett_h245_RequestMultiplexEntryReject = -1;
1103 static gint ett_h245_RequestMultiplexEntryAck = -1;
1104 static gint ett_h245_RequestMultiplexEntry = -1;
1105 static gint ett_h245_MultiplexEntrySendRelease = -1;
1106 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
1107 static gint ett_h245_MultiplexEntrySendReject = -1;
1108 static gint ett_h245_MultiplexEntrySendAck = -1;
1109 static gint ett_h245_MultiplexElement = -1;
1110 static gint ett_h245_MultiplexEntryDescriptor = -1;
1111 static gint ett_h245_MultiplexEntrySend = -1;
1112 static gint ett_h245_RequestChannelCloseRelease = -1;
1113 static gint ett_h245_RequestChannelCloseReject = -1;
1114 static gint ett_h245_RequestChannelCloseAck = -1;
1115 static gint ett_h245_RequestChannelClose = -1;
1116 static gint ett_h245_CloseLogicalChannelAck = -1;
1117 static gint ett_h245_CloseLogicalChannel = -1;
1118 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
1119 static gint ett_h245_OpenLogicalChannelConfirm = -1;
1120 static gint ett_h245_OpenLogicalChannelReject = -1;
1121 static gint ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters = -1;
1122 static gint ett_h245_OpenLogicalChannelAck = -1;
1123 static gint ett_h245_EscrowData = -1;
1124 static gint ett_h245_EncryptionSync = -1;
1125 static gint ett_h245_MulticastAddress_iP6Address = -1;
1126 static gint ett_h245_MulticastAddress_iPAddress = -1;
1127 static gint ett_h245_UnicastAddress_iPSourceRouteAddress = -1;
1128 static gint ett_h245_UnicastAddress_iP6Address = -1;
1129 static gint ett_h245_UnicastAddress_iPXAddress = -1;
1130 static gint ett_h245_UnicastAddress_iPAddress = -1;
1131 static gint ett_h245_FECData_rfc2733_mode_separateStream_samePort = -1;
1132 static gint ett_h245_FECData_rfc2733_mode_separateStream_differentPort = -1;
1133 static gint ett_h245_FECData_rfc2733 = -1;
1134 static gint ett_h245_MultiplePayloadStreamElement = -1;
1135 static gint ett_h245_MultiplePayloadStream = -1;
1136 static gint ett_h245_RedundancyEncodingElement = -1;
1137 static gint ett_h245_RedundancyEncoding_rtpRedundancyEncoding = -1;
1138 static gint ett_h245_RedundancyEncoding = -1;
1139 static gint ett_h245_RTPPayloadType = -1;
1140 static gint ett_h245_H2250LogicalChannelParameters = -1;
1141 static gint ett_h245_V76HDLCParameters = -1;
1142 static gint ett_h245_V76LogicalChannelParameters_mode_eRM = -1;
1143 static gint ett_h245_V76LogicalChannelParameters = -1;
1144 static gint ett_h245_H223AnnexCArqParameters = -1;
1145 static gint ett_h245_H223AL3MParameters = -1;
1146 static gint ett_h245_H223AL2MParameters = -1;
1147 static gint ett_h245_H223AL1MParameters = -1;
1148 static gint ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3 = -1;
1149 static gint ett_h245_H223LogicalChannelParameters = -1;
1150 static gint ett_h245_H222LogicalChannelParameters = -1;
1151 static gint ett_h245_MultiplexedStreamParameter = -1;
1152 static gint ett_h245_H235Media = -1;
1153 static gint ett_h245_V75Parameters = -1;
1154 static gint ett_h245_Q2931Address = -1;
1155 static gint ett_h245_NetworkAccessParameters = -1;
1156 static gint ett_h245_reverseLogicalChannelParameters = -1;
1157 static gint ett_h245_forwardLogicalChannelParameters = -1;
1158 static gint ett_h245_OpenLogicalChannel = -1;
1159 static gint ett_h245_FECCapability_rfc2733_separateStream = -1;
1160 static gint ett_h245_FECCapability_rfc2733 = -1;
1161 static gint ett_h245_MultiplePayloadStreamCapability = -1;
1162 static gint ett_h245_NoPTAudioToneCapability = -1;
1163 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
1164 static gint ett_h245_AudioToneCapability = -1;
1165 static gint ett_h245_AudioTelephonyEventCapability = -1;
1166 static gint ett_h245_MultiplexedStreamCapability = -1;
1167 static gint ett_h245_GenericParameter = -1;
1168 static gint ett_h245_GenericCapability = -1;
1169 static gint ett_h245_ConferenceCapability = -1;
1170 static gint ett_h245_IntegrityCapability = -1;
1171 static gint ett_h245_AuthenticationCapability = -1;
1172 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
1173 static gint ett_h245_T38FaxTcpOptions = -1;
1174 static gint ett_h245_T38FaxUdpOptions = -1;
1175 static gint ett_h245_T38FaxProfile = -1;
1176 static gint ett_h245_T84Profile_t84Restricted = -1;
1177 static gint ett_h245_V42bis = -1;
1178 static gint ett_h245_DataApplicationCapability_application_t38fax = -1;
1179 static gint ett_h245_DataApplicationCapability_application_nlpid = -1;
1180 static gint ett_h245_DataApplicationCapability_application_t84 = -1;
1181 static gint ett_h245_DataApplicationCapability = -1;
1182 static gint ett_h245_VBDCapability = -1;
1183 static gint ett_h245_GSMAudioCapability = -1;
1184 static gint ett_h245_IS13818AudioCapability = -1;
1185 static gint ett_h245_IS11172AudioCapability = -1;
1186 static gint ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode = -1;
1187 static gint ett_h245_G7231AnnexCCapability = -1;
1188 static gint ett_h245_G729Extensions = -1;
1189 static gint ett_h245_AudioCapability_g7231 = -1;
1190 static gint ett_h245_IS11172VideoCapability = -1;
1191 static gint ett_h245_H263Version3Options = -1;
1192 static gint ett_h245_H263ModeComboFlags = -1;
1193 static gint ett_h245_H263VideoModeCombos = -1;
1194 static gint ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR = -1;
1195 static gint ett_h245_CustomPictureFormat_mPI_customPCF = -1;
1196 static gint ett_h245_CustomPictureFormat_mPI = -1;
1197 static gint ett_h245_CustomPictureFormat = -1;
1198 static gint ett_h245_CustomPictureClockFrequency = -1;
1199 static gint ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters = -1;
1200 static gint ett_h245_RefPictureSelection_enhancedReferencePicSelect = -1;
1201 static gint ett_h245_RefPictureSelection_additionalPictureMemory = -1;
1202 static gint ett_h245_RefPictureSelection = -1;
1203 static gint ett_h245_TransperencyParameters = -1;
1204 static gint ett_h245_H263Options = -1;
1205 static gint ett_h245_EnhancementOptions = -1;
1206 static gint ett_h245_BEnhancementParameters = -1;
1207 static gint ett_h245_EnhancementLayerInfo = -1;
1208 static gint ett_h245_H263VideoCapability = -1;
1209 static gint ett_h245_H262VideoCapability = -1;
1210 static gint ett_h245_H261VideoCapability = -1;
1211 static gint ett_h245_MediaDistributionCapability = -1;
1212 static gint ett_h245_MultipointCapability = -1;
1213 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
1214 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
1215 static gint ett_h245_RedundancyEncodingCapability = -1;
1216 static gint ett_h245_TransportCapability = -1;
1217 static gint ett_h245_MediaChannelCapability = -1;
1218 static gint ett_h245_MediaTransportType_AtmAAL5Compressed = -1;
1219 static gint ett_h245_QOSCapability = -1;
1220 static gint ett_h245_ATMParameters = -1;
1221 static gint ett_h245_RSVPParameters = -1;
1222 static gint ett_h245_MediaPacketizationCapability = -1;
1223 static gint ett_h245_H2250Capability_mcCapability = -1;
1224 static gint ett_h245_H2250Capability = -1;
1225 static gint ett_h245_V75Capability = -1;
1226 static gint ett_h245_V76Capability = -1;
1227 static gint ett_h245_H223AnnexCCapability = -1;
1228 static gint ett_h245_H223Capability_mobileMultilinkFrameCapability = -1;
1229 static gint ett_h245_H223Capability_mobileOperationTransmitCapability = -1;
1230 static gint ett_h245_H223Capability_h223MultiplexTableCapability_enhanced = -1;
1231 static gint ett_h245_H223Capability = -1;
1232 static gint ett_h245_VCCapability_aal1ViaGateway = -1;
1233 static gint ett_h245_VCCapability_availableBitRates_rangeOfBitRates = -1;
1234 static gint ett_h245_VCCapability_availableBitRates = -1;
1235 static gint ett_h245_VCCapability_aal5 = -1;
1236 static gint ett_h245_VCCapability_aal1 = -1;
1237 static gint ett_h245_VCCapability = -1;
1238 static gint ett_h245_H222Capability = -1;
1239 static gint ett_h245_H235SecurityCapability = -1;
1240 static gint ett_h245_Capability_h233EncryptionReceiveCapability = -1;
1241 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1242 static gint ett_h245_TerminalCapabilitySetReject = -1;
1243 static gint ett_h245_TerminalCapabilitySetAck = -1;
1244 static gint ett_h245_CapabilityDescriptor = -1;
1245 static gint ett_h245_CapabilityTableEntry = -1;
1246 static gint ett_h245_TerminalCapabilitySet = -1;
1247 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1248 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1249 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1250 static gint ett_h245_MasterSlaveDetermination = -1;
1251 static gint ett_h245_h221NonStandard = -1;
1252 static gint ett_h245_NonStandardParameter = -1;
1253 static gint ett_h245_NonStandardMessage = -1;
1254 static gint ett_h245_FlowControlIndication_restriction = -1;
1255 static gint ett_h245_FlowControlIndication_scope = -1;
1256 static gint ett_h245_UserInputIndication_userInputSupportIndication = -1;
1257 static gint ett_h245_UserInputIndication = -1;
1258 static gint ett_h245_NewATMVCIndication_reverseParameters_multiplex = -1;
1259 static gint ett_h245_NewATMVCIndication_multiplex = -1;
1260 static gint ett_h245_NewATMVCIndication_aal_aal1_errorCorrection = -1;
1261 static gint ett_h245_NewATMVCIndication_aal_aal1_clockRecovery = -1;
1262 static gint ett_h245_JitterIndication_scope = -1;
1263 static gint ett_h245_MiscellaneousIndication_type = -1;
1264 static gint ett_h245_ConferenceIndication = -1;
1265 static gint ett_h245_FunctionNotSupported_cause = -1;
1266 static gint ett_h245_FunctionNotUnderstood = -1;
1267 static gint ett_h245_MobileMultilinkReconfigurationCommand_status = -1;
1268 static gint ett_h245_NewATMVCCommand_reverseParameters_multiplex = -1;
1269 static gint ett_h245_NewATMVCCommand_multiplex = -1;
1270 static gint ett_h245_NewATMVCCommand_aal_aal1_errorCorrection = -1;
1271 static gint ett_h245_NewATMVCCommand_aal_aal1_clockRecovery = -1;
1272 static gint ett_h245_NewATMVCCommand_aal = -1;
1273 static gint ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag = -1;
1274 static gint ett_h245_H223MultiplexReconfiguration_h223ModeChange = -1;
1275 static gint ett_h245_H223MultiplexReconfiguration = -1;
1276 static gint ett_h245_PictureReference = -1;
1277 static gint ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount = -1;
1278 static gint ett_h245_MiscellaneousCommand_type = -1;
1279 static gint ett_h245_ConferenceCommand = -1;
1280 static gint ett_h245_EndSessionCommand_gstnOptions = -1;
1281 static gint ett_h245_EndSessionCommand_isdnOptions = -1;
1282 static gint ett_h245_FlowControlCommand_restriction = -1;
1283 static gint ett_h245_FlowControlCommand_scope = -1;
1284 static gint ett_h245_EncryptionCommand = -1;
1285 static gint ett_h245_SendTerminalCapabilitySet = -1;
1286 static gint ett_h245_LogicalChannelRateRejectReason = -1;
1287 static gint ett_h245_DialingInformationNetworkType = -1;
1288 static gint ett_h245_DialingInformation = -1;
1289 static gint ett_h245_MultilinkIndication = -1;
1290 static gint ett_h245_MultilinkResponse_addConnection_responseCode_rejected = -1;
1291 static gint ett_h245_MultilinkResponse_addConnection_responseCode = -1;
1292 static gint ett_h245_MultilinkResponse = -1;
1293 static gint ett_h245_MultilinkRequest_maximumHeaderInterval_requestType = -1;
1294 static gint ett_h245_MultilinkRequest = -1;
1295 static gint ett_h245_RemoteMCResponse_reject = -1;
1296 static gint ett_h245_RemoteMCResponse = -1;
1297 static gint ett_h245_RemoteMCRequest = -1;
1298 static gint ett_h245_ConferenceResponse_sendThisSourceResponse = -1;
1299 static gint ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse = -1;
1300 static gint ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse = -1;
1301 static gint ett_h245_ConferenceResponse_makeMeChairResponse = -1;
1302 static gint ett_h245_ConferenceResponse = -1;
1303 static gint ett_h245_ConferenceRequest = -1;
1304 static gint ett_h245_CommunicationModeTableEntry_dataType = -1;
1305 static gint ett_h245_CommunicationModeResponse = -1;
1306 static gint ett_h245_MaintenanceLoopReject_cause = -1;
1307 static gint ett_h245_MaintenanceLoopReject_type = -1;
1308 static gint ett_h245_MaintenanceLoopAck_type = -1;
1309 static gint ett_h245_MaintenanceLoopRequest_type = -1;
1310 static gint ett_h245_EncryptionMode = -1;
1311 static gint ett_h245_DataMode_application = -1;
1312 static gint ett_h245_IS13818AudioMode_multiChannelType = -1;
1313 static gint ett_h245_IS13818AudioMode_audioSampling = -1;
1314 static gint ett_h245_IS13818AudioMode_audioLayer = -1;
1315 static gint ett_h245_IS11172AudioMode_multichannelType = -1;
1316 static gint ett_h245_IS11172AudioMode_audioSampling = -1;
1317 static gint ett_h245_IS11172AudioMode_audioLayer = -1;
1318 static gint ett_h245_AudioMode_g7231 = -1;
1319 static gint ett_h245_AudioMode = -1;
1320 static gint ett_h245_H263VideoMode_resolution = -1;
1321 static gint ett_h245_H262VideoMode_profileAndLevel = -1;
1322 static gint ett_h245_H261VideoMode_resolution = -1;
1323 static gint ett_h245_VideoMode = -1;
1324 static gint ett_h245_RedundancyEncodingMode_secondaryEncoding = -1;
1325 static gint ett_h245_V76ModeParameters = -1;
1326 static gint ett_h245_H223ModeParameters_adaptationLayerType = -1;
1327 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream = -1;
1328 static gint ett_h245_FECMode_rfc2733Mode_mode = -1;
1329 static gint ett_h245_FECMode = -1;
1330 static gint ett_h245_RedundancyEncodingDTModeElement_type = -1;
1331 static gint ett_h245_H235Mode_mediaMode = -1;
1332 static gint ett_h245_ModeElementType = -1;
1333 static gint ett_h245_RequestModeReject_cause = -1;
1334 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions_cause = -1;
1335 static gint ett_h245_MultiplexEntryRejectionDescriptions_cause = -1;
1336 static gint ett_h245_MultiplexElement_repeatCount = -1;
1337 static gint ett_h245_MultiplexElement_type = -1;
1338 static gint ett_h245_RequestChannelCloseReject_cause = -1;
1339 static gint ett_h245_RequestChannelClose_reason = -1;
1340 static gint ett_h245_CloseLogicalChannel_reason = -1;
1341 static gint ett_h245_CloseLogicalChannel_source = -1;
1342 static gint ett_h245_OpenLogicalChannelReject_cause = -1;
1343 static gint ett_h245_forwardMultiplexAckParameters = -1;
1344 static gint ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters = -1;
1345 static gint ett_h245_MulticastAddress = -1;
1346 static gint ett_h245_UnicastAddress_iPSourceRouteAddress_routing = -1;
1347 static gint ett_h245_UnicastAddress = -1;
1348 static gint ett_h245_TransportAddress = -1;
1349 static gint ett_h245_FECData_rfc2733_mode_separateStream = -1;
1350 static gint ett_h245_FECData_rfc2733_mode = -1;
1351 static gint ett_h245_FECData = -1;
1352 static gint ett_h245_RTPPayloadType_payloadDescriptor = -1;
1353 static gint ett_h245_H2250LogicalChannelParameters_mediaPacketization = -1;
1354 static gint ett_h245_CRCLength = -1;
1355 static gint ett_h245_V76LogicalChannelParameters_mode_eRM_recovery = -1;
1356 static gint ett_h245_V76LogicalChannelParameters_mode = -1;
1357 static gint ett_h245_V76LogicalChannelParameters_suspendResume = -1;
1358 static gint ett_h245_H223AnnexCArqParameters_numberOfRetransmissions = -1;
1359 static gint ett_h245_H223AL3MParameters_arqType = -1;
1360 static gint ett_h245_H223AL3MParameters_crcLength = -1;
1361 static gint ett_h245_H223AL3MParameters_headerFormat = -1;
1362 static gint ett_h245_H223AL2MParameters_headerFEC = -1;
1363 static gint ett_h245_H223AL1MParameters_arqType = -1;
1364 static gint ett_h245_H223AL1MParameters_crcLength = -1;
1365 static gint ett_h245_H223AL1MParameters_headerFEC = -1;
1366 static gint ett_h245_H223AL1MParameters_transferMode = -1;
1367 static gint ett_h245_H223LogicalChannelParameters_adaptationLayerType = -1;
1368 static gint ett_h245_H235Media_mediaType = -1;
1369 static gint ett_h245_DataType = -1;
1370 static gint ett_h245_Q2931Address_address = -1;
1371 static gint ett_h245_NetworkAccessParameters_t120SetupProcedure = -1;
1372 static gint ett_h245_NetworkAccessParameters_networkAddress = -1;
1373 static gint ett_h245_NetworkAccessParameters_distribution = -1;
1374 static gint ett_h245_reverseLogicalChannelParameters_multiplexParameters = -1;
1375 static gint ett_h245_forwardLogicalChannelParameters_multiplexParameters = -1;
1376 static gint ett_h245_FECCapability = -1;
1377 static gint ett_h245_MultiplexFormat = -1;
1378 static gint ett_h245_ParameterValue = -1;
1379 static gint ett_h245_ParameterIdentifier = -1;
1380 static gint ett_h245_CapabilityIdentifier = -1;
1381 static gint ett_h245_UserInputCapability = -1;
1382 static gint ett_h245_MediaEncryptionAlgorithm = -1;
1383 static gint ett_h245_T38FaxUdpOptions_t38FaxUdpEC = -1;
1384 static gint ett_h245_T38FaxRateManagement = -1;
1385 static gint ett_h245_T84Profile = -1;
1386 static gint ett_h245_CompressionType = -1;
1387 static gint ett_h245_DataProtocolCapability_v76wCompression = -1;
1388 static gint ett_h245_DataProtocolCapability = -1;
1389 static gint ett_h245_DataApplicationCapability_application = -1;
1390 static gint ett_h245_AudioCapability = -1;
1391 static gint ett_h245_CustomPictureFormat_pixelAspectInformation = -1;
1392 static gint ett_h245_RefPictureSelection_videoBackChannelSend = -1;
1393 static gint ett_h245_VideoCapability = -1;
1394 static gint ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping = -1;
1395 static gint ett_h245_RedundancyEncodingMethod = -1;
1396 static gint ett_h245_MediaTransportType = -1;
1397 static gint ett_h245_QOSMode = -1;
1398 static gint ett_h245_H223Capability_h223MultiplexTableCapability = -1;
1399 static gint ett_h245_VCCapability_availableBitRates_type = -1;
1400 static gint ett_h245_MultiplexCapability = -1;
1401 static gint ett_h245_Capability = -1;
1402 static gint ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded = -1;
1403 static gint ett_h245_TerminalCapabilitySetReject_cause = -1;
1404 static gint ett_h245_MasterSlaveDeterminationReject_cause = -1;
1405 static gint ett_h245_MasterSlaveDeterminationAck_decision = -1;
1406 static gint ett_h245_RequestModeAck_response_decision = -1;
1407 static gint ett_h245_NonStandardIdentifier = -1;
1408 static gint ett_h245_mediaDistributionCapability = -1;
1409 static gint ett_h245_frameToThreadMapping_custom = -1;
1410 static gint ett_h245_RedundancyEncodingCapability_sequence_of = -1;
1411 static gint ett_h245_frameSequence = -1;
1412 static gint ett_h245_EncryptionCapability = -1;
1413 static gint ett_h245_escrowentry = -1;
1414 static gint ett_h245_elementList = -1;
1415 static gint ett_h245_requestedModes = -1;
1416 static gint ett_h245_CertSelectionCriteria = -1;
1417 static gint ett_h245_capabilityTable = -1;
1418 static gint ett_h245_capabilityDescriptors = -1;
1419 static gint ett_h245_simultaneousCapabilities = -1;
1420 static gint ett_h245_gatewayAddress = -1;
1421 static gint ett_h245_snrEnhancement = -1;
1422 static gint ett_h245_spatialEnhancement = -1;
1423 static gint ett_h245_bPictureEnhancement = -1;
1424 static gint ett_h245_customPictureClockFrequency = -1;
1425 static gint ett_h245_customPictureFormat = -1;
1426 static gint ett_h245_modeCombos = -1;
1427 static gint ett_h245_customPCF = -1;
1428 static gint ett_h245_pixelAspectCode = -1;
1429 static gint ett_h245_extendedPAR = -1;
1430 static gint ett_h245_h263VideoCoupledModes = -1;
1431 static gint ett_h245_capabilityOnMuxStream = -1;
1432 static gint ett_h245_capabilities = -1;
1433 static gint ett_h245_multiplexEntryDescriptors = -1;
1434 static gint ett_h245_multiplexTableEntryNumber_set_of = -1;
1435 static gint ett_h245_rejectionDescriptions = -1;
1436 static gint ett_h245_entryNumbers = -1;
1437 static gint ett_h245_ModeDescription = -1;
1438 static gint ett_h245_communicationModeTable = -1;
1439 static gint ett_h245_terminalListResponse = -1;
1440 static gint ett_h245_differential = -1;
1441 static gint ett_h245_networkType = -1;
1442 static gint ett_h245_capabilityTableEntryNumbers = -1;
1443 static gint ett_h245_capabilityDescriptorNumbers = -1;
1444 static gint ett_h245_qOSCapabilities = -1;
1445 static gint ett_h245_subElementList = -1;
1446 static gint ett_h245_containedThreads = -1;
1447 static gint ett_h245_CapabilityTableEntryNumber_sequence_of = -1;
1448 static gint ett_h245_mediaChannelCapabilities = -1;
1449 static gint ett_h245_rtpPayloadType_sequence_of = -1;
1450 static gint ett_h245_centralizedData = -1;
1451 static gint ett_h245_distributedData = -1;
1452 static gint ett_h245_nonStandardData = -1;
1453 static gint ett_h245_collapsing = -1;
1454 static gint ett_h245_nonCollapsing = -1;
1455 static gint ett_h245_supersedes = -1;
1456 static gint ett_h245_genericParameter = -1;
1457 static gint ett_h245_secondary_REE = -1;
1458 static gint ett_h245_elements_MPSE = -1;
1459 static gint ett_h245_secondary_REDTME = -1;
1460 static gint ett_h245_elements_MPSEM = -1;
1461 static gint ett_h245_TerminalInformationSO = -1;
1462 static gint ett_h245_lostPicture = -1;
1463 static gint ett_h245_recoveryReferencePicture = -1;
1464 static gint ett_h245_iPSourceRouteAddress_route = -1;
1465
1466 static dissector_table_t nsp_object_dissector_table;
1467 static dissector_table_t nsp_h221_dissector_table;
1468
1469 static dissector_handle_t nsp_handle;
1470
1471 static guint32 ipv4_address;
1472 static guint32 ipv4_port;
1473 static char object[256];
1474 static guint32 t35CountryCode;
1475 static guint32 t35Extension;
1476 static guint32 manufacturerCode;
1477 static guint32 h221NonStandard;
1478
1479 static gboolean h245_reassembly = TRUE;
1480 static gboolean h245_shorttypes = FALSE;
1481 /* To put the codec type only in COL_INFO when
1482    an OLC is read */
1483 char* codec_type = NULL;
1484
1485 static int
1486 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
1487 {
1488         return offset;
1489 }
1490
1491
1492
1493
1494
1495
1496
1497
1498 static const value_string MasterSlaveDeterminationAck_decision_vals[] = {
1499         {  0, "master" },
1500         {  1, "slave" },
1501         {  0, NULL }
1502 };
1503 static per_choice_t MasterSlaveDeterminationAck_decision_choice[] = {
1504         {  0, "master", ASN1_NO_EXTENSIONS,
1505                 dissect_h245_NULL },
1506         {  1, "slave", ASN1_NO_EXTENSIONS,
1507                 dissect_h245_NULL },
1508         {  0, NULL, 0, NULL }
1509 };
1510 static int
1511 dissect_h245_MasterSlaveDeterminationAck_decision(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1512 {
1513         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationAck_decision, ett_h245_MasterSlaveDeterminationAck_decision, MasterSlaveDeterminationAck_decision_choice, "Decision", NULL);
1514
1515         return offset;
1516 }
1517
1518
1519
1520 static per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
1521         { "decision", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
1522                 dissect_h245_MasterSlaveDeterminationAck_decision },
1523         { NULL, 0, 0, NULL }
1524 };
1525 static int
1526 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1527 {
1528         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationAck, ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
1529
1530         return offset;
1531 }
1532
1533
1534 static const value_string MasterSlaveDeterminationReject_cause_vals[] = {
1535         {  0, "identicalNumbers" },
1536         {  0, NULL }
1537 };
1538 static per_choice_t MasterSlaveDeterminationReject_cause_choice[] = {
1539         {  0, "identicalNumbers", ASN1_EXTENSION_ROOT,
1540                         dissect_h245_NULL },
1541         {  0, NULL, 0, NULL }
1542 };
1543 static int
1544 dissect_h245_MasterSlaveDeterminationReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1545 {
1546         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationReject_cause, ett_h245_MasterSlaveDeterminationReject_cause, MasterSlaveDeterminationReject_cause_choice, "Cause", NULL);
1547
1548         return offset;
1549 }
1550
1551
1552
1553 static per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
1554         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
1555                 dissect_h245_MasterSlaveDeterminationReject_cause },
1556         { NULL, 0, 0, NULL }
1557 };
1558 static int
1559 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1560 {
1561         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationReject, ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
1562
1563         return offset;
1564 }
1565
1566
1567
1568 static const value_string QOSMode_vals[] = {
1569         {  0, "guaranteedQOS" },
1570         {  1, "controlledLoad" },
1571         {  0, NULL }
1572 };
1573 static per_choice_t QOSMode_choice[] = {
1574         {  0, "guaranteedQOS", ASN1_EXTENSION_ROOT,
1575                         dissect_h245_NULL },
1576         {  1, "controlledLoad", ASN1_EXTENSION_ROOT,
1577                         dissect_h245_NULL },
1578         {  0, NULL, 0, NULL }
1579 };
1580 static int
1581 dissect_h245_QOSMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1582 {
1583         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_QOSMode, ett_h245_QOSMode, QOSMode_choice, "QOSMode", NULL);
1584
1585         return offset;
1586 }
1587
1588
1589
1590 static const value_string RefPictureSelection_videoBackChannelSend_vals[] = {
1591         {  0, "none" },
1592         {  1, "ackMessageOnly" },
1593         {  2, "nackMessageOnly" },
1594         {  3, "ackOrNackMessageOnly" },
1595         {  4, "ackAndNackMessage" },
1596         {  0, NULL }
1597 };
1598 static per_choice_t RefPictureSelection_videoBackChannelSend_choice[] = {
1599         {  0, "none", ASN1_EXTENSION_ROOT,
1600                         dissect_h245_NULL },
1601         {  1, "ackMessageOnly", ASN1_EXTENSION_ROOT,
1602                         dissect_h245_NULL },
1603         {  2, "nackMessageOnly", ASN1_EXTENSION_ROOT,
1604                         dissect_h245_NULL },
1605         {  3, "ackOrNackMessageOnly", ASN1_EXTENSION_ROOT,
1606                         dissect_h245_NULL },
1607         {  4, "ackAndNackMessage", ASN1_EXTENSION_ROOT,
1608                         dissect_h245_NULL },
1609         {  0, NULL, 0, NULL }
1610 };
1611 static int
1612 dissect_h245_RefPictureSelection_videoBackChannelSend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1613 {
1614         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_videoBackChannelSend, ett_h245_RefPictureSelection_videoBackChannelSend, RefPictureSelection_videoBackChannelSend_choice, "videoBackChannelSend", NULL);
1615
1616         return offset;
1617 }
1618
1619
1620
1621 static const value_string T38FaxRateManagement_vals[] = {
1622         {  0, "localTCF" },
1623         {  1, "transferredTCF" },
1624         {  0, NULL }
1625 };
1626 static per_choice_t T38FaxRateManagement_choice[] = {
1627         {  0, "localTCF", ASN1_EXTENSION_ROOT,
1628                         dissect_h245_NULL },
1629         {  1, "transferredTCF", ASN1_EXTENSION_ROOT,
1630                         dissect_h245_NULL },
1631         {  0, NULL, 0, NULL }
1632 };
1633 static int
1634 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1635 {
1636         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T38FaxRateManagement, ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice, "T38FaxRateManagement", NULL);
1637
1638         return offset;
1639 }
1640
1641
1642
1643 static const value_string T38FaxUdpOptions_t38FaxUdpEC_vals[] = {
1644         {  0, "t38UDPFEC" },
1645         {  1, "t38UDPRedundancy" },
1646         {  0, NULL }
1647 };
1648 static per_choice_t T38FaxUdpOptions_t38FaxUdpEC_choice[] = {
1649         {  0, "t38UDPFEC", ASN1_EXTENSION_ROOT,
1650                         dissect_h245_NULL },
1651         {  1, "t38UDPRedundancy", ASN1_EXTENSION_ROOT,
1652                         dissect_h245_NULL },
1653         {  0, NULL, 0, NULL }
1654 };
1655 static int
1656 dissect_h245_T38FaxUdpOptions_t38FaxUdpEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1657 {
1658         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T38FaxUdpOptions_t38FaxUdpEC, ett_h245_T38FaxUdpOptions_t38FaxUdpEC, T38FaxUdpOptions_t38FaxUdpEC_choice, "t38FaxUdpEC", NULL);
1659
1660         return offset;
1661 }
1662
1663
1664
1665 static const value_string NetworkAccessParameters_distribution_vals[] = {
1666         {  0, "unicast" },
1667         {  1, "multicast" },
1668         {  0, NULL }
1669 };
1670 static per_choice_t NetworkAccessParameters_distribution_choice[] = {
1671         {  0, "unicast", ASN1_EXTENSION_ROOT,
1672                         dissect_h245_NULL },
1673         {  1, "multicast", ASN1_EXTENSION_ROOT,
1674                         dissect_h245_NULL },
1675         {  0, NULL, 0, NULL }
1676 };
1677 static int
1678 dissect_h245_NetworkAccessParameters_distribution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1679 {
1680         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_distribution, ett_h245_NetworkAccessParameters_distribution, NetworkAccessParameters_distribution_choice, "Distribution", NULL);
1681
1682         return offset;
1683 }
1684
1685
1686
1687 static const value_string NetworkAccessParameters_t120SetupProcedure_vals[] = {
1688         {  0, "originateCall" },
1689         {  1, "waitForCall" },
1690         {  2, "issueQuery" },
1691         {  0, NULL }
1692 };
1693 static per_choice_t NetworkAccessParameters_t120SetupProcedure_choice[] = {
1694         {  0, "originateCall", ASN1_EXTENSION_ROOT,
1695                         dissect_h245_NULL },
1696         {  1, "waitForCall", ASN1_EXTENSION_ROOT,
1697                         dissect_h245_NULL },
1698         {  2, "issueQuery", ASN1_EXTENSION_ROOT,
1699                         dissect_h245_NULL },
1700         {  0, NULL, 0, NULL }
1701 };
1702 static int
1703 dissect_h245_NetworkAccessParameters_t120SetupProcedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1704 {
1705         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_t120SetupProcedure, ett_h245_NetworkAccessParameters_t120SetupProcedure, NetworkAccessParameters_t120SetupProcedure_choice, "t120SetupProcedure", NULL);
1706
1707         return offset;
1708 }
1709
1710
1711
1712 static const value_string H223AL1MParameters_transferMode_vals[] = {
1713         {  0, "framed" },
1714         {  1, "unframed" },
1715         {  0, NULL }
1716 };
1717 static per_choice_t H223AL1MParameters_transferMode_choice[] = {
1718         {  0, "framed", ASN1_EXTENSION_ROOT,
1719                         dissect_h245_NULL },
1720         {  1, "unframed", ASN1_EXTENSION_ROOT,
1721                         dissect_h245_NULL },
1722         {  0, NULL, 0, NULL }
1723 };
1724 static int
1725 dissect_h245_H223AL1MParameters_transferMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1726 {
1727         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_transferMode, ett_h245_H223AL1MParameters_transferMode, H223AL1MParameters_transferMode_choice, "transferMode", NULL);
1728
1729         return offset;
1730 }
1731
1732
1733
1734 static const value_string H223AL1MParameters_headerFEC_vals[] = {
1735         {  0, "sebch16-7" },
1736         {  1, "golay24-12" },
1737         {  0, NULL }
1738 };
1739 static per_choice_t H223AL1MParameters_headerFEC_choice[] = {
1740         {  0, "sebch16-7", ASN1_EXTENSION_ROOT,
1741                         dissect_h245_NULL },
1742         {  1, "golay24-12", ASN1_EXTENSION_ROOT,
1743                         dissect_h245_NULL },
1744         {  0, NULL, 0, NULL }
1745 };
1746 static int
1747 dissect_h245_H223AL1MParameters_headerFEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1748 {
1749         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_headerFEC, ett_h245_H223AL1MParameters_headerFEC, H223AL1MParameters_headerFEC_choice, "headerFEC", NULL);
1750
1751         return offset;
1752 }
1753
1754
1755
1756 static const value_string H223AL1MParameters_crcLength_vals[] = {
1757         {  0, "crc4bit" },
1758         {  1, "crc12bit" },
1759         {  2, "crc20bit" },
1760         {  3, "crc28bit" },
1761         {  4, "crc8bit" },
1762         {  5, "crc16bit" },
1763         {  6, "crc32bit" },
1764         {  7, "crcNotUsed" },
1765         {  0, NULL }
1766 };
1767 static per_choice_t H223AL1MParameters_crcLength_choice[] = {
1768         {  0, "crc4bit", ASN1_EXTENSION_ROOT,
1769                         dissect_h245_NULL },
1770         {  1, "crc12bit", ASN1_EXTENSION_ROOT,
1771                         dissect_h245_NULL },
1772         {  2, "crc20bit", ASN1_EXTENSION_ROOT,
1773                         dissect_h245_NULL },
1774         {  3, "crc28bit", ASN1_EXTENSION_ROOT,
1775                         dissect_h245_NULL },
1776         {  4, "crc8bit", ASN1_NOT_EXTENSION_ROOT,
1777                         dissect_h245_NULL },
1778         {  5, "crc16bit", ASN1_NOT_EXTENSION_ROOT,
1779                         dissect_h245_NULL },
1780         {  6, "crc32bit", ASN1_NOT_EXTENSION_ROOT,
1781                         dissect_h245_NULL },
1782         {  7, "crcNotUsed", ASN1_NOT_EXTENSION_ROOT,
1783                         dissect_h245_NULL },
1784         {  0, NULL, 0, NULL }
1785 };
1786 static int
1787 dissect_h245_H223AL1MParameters_crcLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1788 {
1789         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_crcLength, ett_h245_H223AL1MParameters_crcLength, H223AL1MParameters_crcLength_choice, "crcLength", NULL);
1790
1791         return offset;
1792 }
1793
1794
1795
1796 static const value_string H223AL2MParameters_headerFEC_vals[] = {
1797         {  0, "sebch16-5" },
1798         {  1, "golay24-12" },
1799         {  0, NULL }
1800 };
1801 static per_choice_t H223AL2MParameters_headerFEC_choice[] = {
1802         {  0, "sebch16-5", ASN1_EXTENSION_ROOT,
1803                         dissect_h245_NULL },
1804         {  1, "golay24-12", ASN1_EXTENSION_ROOT,
1805                         dissect_h245_NULL },
1806         {  0, NULL, 0, NULL }
1807 };
1808 static int
1809 dissect_h245_H223AL2MParameters_headerFEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1810 {
1811         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL2MParameters_headerFEC, ett_h245_H223AL2MParameters_headerFEC, H223AL2MParameters_headerFEC_choice, "headerFEC", NULL);
1812
1813         return offset;
1814 }
1815
1816
1817
1818
1819 static const value_string H223AL3MParameters_headerFormat_vals[] = {
1820         {  0, "sebch16-7" },
1821         {  1, "golay24-12" },
1822         {  0, NULL }
1823 };
1824 static per_choice_t H223AL3MParameters_headerFormat_choice[] = {
1825         {  0, "sebch16-7", ASN1_EXTENSION_ROOT,
1826                         dissect_h245_NULL },
1827         {  1, "golay24-12", ASN1_EXTENSION_ROOT,
1828                         dissect_h245_NULL },
1829         {  0, NULL, 0, NULL }
1830 };
1831 static int
1832 dissect_h245_H223AL3MParameters_headerFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1833 {
1834         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_headerFormat, ett_h245_H223AL3MParameters_headerFormat, H223AL3MParameters_headerFormat_choice, "headerFormat", NULL);
1835
1836         return offset;
1837 }
1838
1839
1840
1841
1842 static const value_string H223AL3MParameters_crcLength_vals[] = {
1843         {  0, "crc4bit" },
1844         {  1, "crc12bit" },
1845         {  2, "crc20bit" },
1846         {  3, "crc28bit" },
1847         {  4, "crc8bit" },
1848         {  5, "crc16bit" },
1849         {  6, "crc32bit" },
1850         {  7, "crcNotUsed" },
1851         {  0, NULL }
1852 };
1853 static per_choice_t H223AL3MParameters_crcLength_choice[] = {
1854         {  0, "crc4bit", ASN1_EXTENSION_ROOT,
1855                         dissect_h245_NULL },
1856         {  1, "crc12bit", ASN1_EXTENSION_ROOT,
1857                         dissect_h245_NULL },
1858         {  2, "crc20bit", ASN1_EXTENSION_ROOT,
1859                         dissect_h245_NULL },
1860         {  3, "crc28bit", ASN1_EXTENSION_ROOT,
1861                         dissect_h245_NULL },
1862         {  4, "crc8bit", ASN1_NOT_EXTENSION_ROOT,
1863                         dissect_h245_NULL },
1864         {  5, "crc16bit", ASN1_NOT_EXTENSION_ROOT,
1865                         dissect_h245_NULL },
1866         {  6, "crc32bit", ASN1_NOT_EXTENSION_ROOT,
1867                         dissect_h245_NULL },
1868         {  7, "crcNotUsed", ASN1_NOT_EXTENSION_ROOT,
1869                         dissect_h245_NULL },
1870         {  0, NULL, 0, NULL }
1871 };
1872 static int
1873 dissect_h245_H223AL3MParameters_crcLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1874 {
1875         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_crcLength, ett_h245_H223AL3MParameters_crcLength, H223AL3MParameters_crcLength_choice, "crcLength", NULL);
1876
1877         return offset;
1878 }
1879
1880
1881
1882
1883 static const value_string V76LogicalChannelParameters_suspendResume_vals[] = {
1884         {  0, "noSuspendResume" },
1885         {  1, "suspendResumewAddress" },
1886         {  2, "suspendResumewoAddress" },
1887         {  0, NULL }
1888 };
1889 static per_choice_t V76LogicalChannelParameters_suspendResume_choice[] = {
1890         {  0, "noSuspendResume", ASN1_EXTENSION_ROOT,
1891                         dissect_h245_NULL },
1892         {  1, "suspendResumewAddress", ASN1_EXTENSION_ROOT,
1893                         dissect_h245_NULL },
1894         {  2, "suspendResumewoAddress", ASN1_EXTENSION_ROOT,
1895                         dissect_h245_NULL },
1896         {  0, NULL, 0, NULL }
1897 };
1898 static int
1899 dissect_h245_V76LogicalChannelParameters_suspendResume(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1900 {
1901         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_suspendResume, ett_h245_V76LogicalChannelParameters_suspendResume, V76LogicalChannelParameters_suspendResume_choice, "suspendResume", NULL);
1902
1903         return offset;
1904 }
1905
1906
1907
1908
1909 static const value_string V76LogicalChannelParameters_mode_eRM_recovery_vals[] = {
1910         {  0, "rej" },
1911         {  1, "sREJ" },
1912         {  2, "mSREJ" },
1913         {  0, NULL }
1914 };
1915 static per_choice_t V76LogicalChannelParameters_mode_eRM_recovery_choice[] = {
1916         {  0, "rej", ASN1_EXTENSION_ROOT,
1917                         dissect_h245_NULL },
1918         {  1, "sREJ", ASN1_EXTENSION_ROOT,
1919                         dissect_h245_NULL },
1920         {  2, "mSREJ", ASN1_EXTENSION_ROOT,
1921                         dissect_h245_NULL },
1922         {  0, NULL, 0, NULL }
1923 };
1924 static int
1925 dissect_h245_V76LogicalChannelParameters_mode_eRM_recovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1926 {
1927         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode_eRM_recovery, ett_h245_V76LogicalChannelParameters_mode_eRM_recovery, V76LogicalChannelParameters_mode_eRM_recovery_choice, "recovery", NULL);
1928
1929         return offset;
1930 }
1931
1932
1933
1934
1935 static const value_string CRCLength_vals[] = {
1936         {  0, "crc8bit" },
1937         {  1, "crc16bit" },
1938         {  2, "crc32bit" },
1939         {  0, NULL }
1940 };
1941 static per_choice_t CRCLength_choice[] = {
1942         {  0, "crc8bit", ASN1_EXTENSION_ROOT,
1943                         dissect_h245_NULL },
1944         {  1, "crc16bit", ASN1_EXTENSION_ROOT,
1945                         dissect_h245_NULL },
1946         {  2, "crc32bit", ASN1_EXTENSION_ROOT,
1947                         dissect_h245_NULL },
1948         {  0, NULL, 0, NULL }
1949 };
1950 static int
1951 dissect_h245_CRCLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1952 {
1953         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CRCLength, ett_h245_CRCLength, CRCLength_choice, "CRCLength", NULL);
1954
1955         return offset;
1956 }
1957
1958
1959
1960
1961 static const value_string UnicastAddress_iPSourceRouteAddress_routing_vals[] = {
1962         {  0, "strict" },
1963         {  1, "loose" },
1964         {  0, NULL }
1965 };
1966 static per_choice_t UnicastAddress_iPSourceRouteAddress_routing_choice[] = {
1967         {  0, "strict", ASN1_NO_EXTENSIONS,
1968                         dissect_h245_NULL },
1969         {  1, "loose", ASN1_NO_EXTENSIONS,
1970                         dissect_h245_NULL },
1971         {  0, NULL, 0, NULL }
1972 };
1973 static int
1974 dissect_h245_UnicastAddress_iPSourceRouteAddress_routing(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1975 {
1976         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPSourceRouteAddress_routing, ett_h245_UnicastAddress_iPSourceRouteAddress_routing, UnicastAddress_iPSourceRouteAddress_routing_choice, "routing", NULL);
1977
1978         return offset;
1979 }
1980
1981
1982
1983
1984 static const value_string OpenLogicalChannelReject_cause_vals[] = {
1985         {  0, "unspecified" },
1986         {  1, "unsuitableReverseParameters" },
1987         {  2, "dataTypeNotSupported" },
1988         {  3, "dataTypeNotAvailable" },
1989         {  4, "unknownDataType" },
1990         {  5, "dataTypeALCombinationNotSupported" },
1991         {  6, "multicastChannelNotAllowed" },
1992         {  7, "insufficientBandwidth" },
1993         {  8, "separateStackEstablishmentFailed" },
1994         {  9, "invalidSessionID" },
1995         { 10, "masterSlaveConflict" },
1996         { 11, "waitForCommunicationMode" },
1997         { 12, "invalidDependentChannel" },
1998         { 13, "replacementForRejected" },
1999         {  0, NULL }
2000 };
2001 static per_choice_t OpenLogicalChannelReject_cause_choice[] = {
2002         {  0, "unspecified", ASN1_EXTENSION_ROOT,
2003                         dissect_h245_NULL },
2004         {  1, "unsuitableReverseParameters", ASN1_EXTENSION_ROOT,
2005                         dissect_h245_NULL },
2006         {  2, "dataTypeNotSupported", ASN1_EXTENSION_ROOT,
2007                         dissect_h245_NULL },
2008         {  3, "dataTypeNotAvailable", ASN1_EXTENSION_ROOT,
2009                         dissect_h245_NULL },
2010         {  4, "unknownDataType", ASN1_EXTENSION_ROOT,
2011                         dissect_h245_NULL },
2012         {  5, "dataTypeALCombinationNotSupported", ASN1_EXTENSION_ROOT,
2013                         dissect_h245_NULL },
2014         {  6, "multicastChannelNotAllowed", ASN1_NOT_EXTENSION_ROOT,
2015                         dissect_h245_NULL },
2016         {  7, "insufficientBandwidth", ASN1_NOT_EXTENSION_ROOT,
2017                         dissect_h245_NULL },
2018         {  8, "separateStackEstablishmentFailed", ASN1_NOT_EXTENSION_ROOT,
2019                         dissect_h245_NULL },
2020         {  9, "invalidSessionID", ASN1_NOT_EXTENSION_ROOT,
2021                         dissect_h245_NULL },
2022         { 10, "masterSlaveConflict", ASN1_NOT_EXTENSION_ROOT,
2023                         dissect_h245_NULL },
2024         { 11, "waitForCommunicationMode", ASN1_NOT_EXTENSION_ROOT,
2025                         dissect_h245_NULL },
2026         { 12, "invalidDependentChannel", ASN1_NOT_EXTENSION_ROOT,
2027                         dissect_h245_NULL },
2028         { 13, "replacementForRejected", ASN1_NOT_EXTENSION_ROOT,
2029                         dissect_h245_NULL },
2030         {  0, NULL, 0, NULL }
2031 };
2032 static int
2033 dissect_h245_OpenLogicalChannelReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2034 {
2035         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelReject_cause, ett_h245_OpenLogicalChannelReject_cause, OpenLogicalChannelReject_cause_choice, "cause", NULL);
2036
2037         return offset;
2038 }
2039
2040
2041
2042 static const value_string CloseLogicalChannel_source_vals[] = {
2043         {  0, "user" },
2044         {  1, "lcse" },
2045         {  0, NULL }
2046 };
2047 static per_choice_t CloseLogicalChannel_source_choice[] = {
2048         {  0, "user", ASN1_NO_EXTENSIONS,
2049                         dissect_h245_NULL },
2050         {  1, "lcse", ASN1_NO_EXTENSIONS,
2051                         dissect_h245_NULL },
2052         {  0, NULL, 0, NULL }
2053 };
2054 static int
2055 dissect_h245_CloseLogicalChannel_source(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2056 {
2057         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel_source, ett_h245_CloseLogicalChannel_source, CloseLogicalChannel_source_choice, "source", NULL);
2058
2059         return offset;
2060 }
2061
2062
2063 static const value_string CloseLogicalChannel_reason_vals[] = {
2064         {  0, "unknown" },
2065         {  1, "reopen" },
2066         {  2, "reservationFailure" },
2067         {  0, NULL }
2068 };
2069 static per_choice_t CloseLogicalChannel_reason_choice[] = {
2070         {  0, "unknown", ASN1_EXTENSION_ROOT,
2071                         dissect_h245_NULL },
2072         {  1, "reopen", ASN1_EXTENSION_ROOT,
2073                         dissect_h245_NULL },
2074         {  2, "reservationFailure", ASN1_EXTENSION_ROOT,
2075                         dissect_h245_NULL },
2076         {  0, NULL, 0, NULL }
2077 };
2078 static int
2079 dissect_h245_CloseLogicalChannel_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2080 {
2081         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel_reason, ett_h245_CloseLogicalChannel_reason, CloseLogicalChannel_reason_choice, "reason", NULL);
2082
2083         return offset;
2084 }
2085
2086
2087
2088 static const value_string RequestChannelClose_reason_vals[] = {
2089         {  0, "unknown" },
2090         {  1, "normal" },
2091         {  2, "reopen" },
2092         {  3, "reservationFailure" },
2093         {  0, NULL }
2094 };
2095 static per_choice_t RequestChannelClose_reason_choice[] = {
2096         {  0, "unknown", ASN1_EXTENSION_ROOT,
2097                         dissect_h245_NULL },
2098         {  1, "normal", ASN1_EXTENSION_ROOT,
2099                         dissect_h245_NULL },
2100         {  2, "reopen", ASN1_EXTENSION_ROOT,
2101                         dissect_h245_NULL },
2102         {  3, "reservationFailure", ASN1_EXTENSION_ROOT,
2103                         dissect_h245_NULL },
2104         {  0, NULL, 0, NULL }
2105 };
2106 static int
2107 dissect_h245_RequestChannelClose_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2108 {
2109         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestChannelClose_reason, ett_h245_RequestChannelClose_reason, RequestChannelClose_reason_choice, "reason", NULL);
2110
2111         return offset;
2112 }
2113
2114
2115
2116 static const value_string RequestChannelCloseReject_cause_vals[] = {
2117         {  0, "unspecified" },
2118         {  0, NULL }
2119 };
2120 static per_choice_t RequestChannelCloseReject_cause_choice[] = {
2121         {  0, "unspecified", ASN1_EXTENSION_ROOT,
2122                         dissect_h245_NULL },
2123         {  0, NULL, 0, NULL }
2124 };
2125 static int
2126 dissect_h245_RequestChannelCloseReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2127 {
2128         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseReject_cause, ett_h245_RequestChannelCloseReject_cause, RequestChannelCloseReject_cause_choice, "cause", NULL);
2129
2130         return offset;
2131 }
2132
2133
2134
2135
2136 static const value_string MultiplexEntryRejectionDescriptions_cause_vals[] = {
2137         {  0, "unspecifiedCause" },
2138         {  1, "descriptorTooComplex" },
2139         {  0, NULL }
2140 };
2141 static per_choice_t MultiplexEntryRejectionDescriptions_cause_choice[] = {
2142         {  0, "unspecifiedCause", ASN1_EXTENSION_ROOT,
2143                         dissect_h245_NULL },
2144         {  1, "descriptorTooComplex", ASN1_EXTENSION_ROOT,
2145                         dissect_h245_NULL },
2146         {  0, NULL, 0, NULL }
2147 };
2148 static int
2149 dissect_h245_MultiplexEntryRejectionDescriptions_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2150 {
2151         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryRejectionDescriptions_cause, ett_h245_MultiplexEntryRejectionDescriptions_cause, MultiplexEntryRejectionDescriptions_cause_choice, "cause", NULL);
2152
2153         return offset;
2154 }
2155
2156
2157
2158 static const value_string RequestMultiplexEntryRejectionDescriptions_cause_vals[] = {
2159         {  0, "unspecifiedCause" },
2160         {  0, NULL }
2161 };
2162 static per_choice_t RequestMultiplexEntryRejectionDescriptions_cause_choice[] = {
2163         {  0, "unspecifiedCause", ASN1_EXTENSION_ROOT,
2164                         dissect_h245_NULL },
2165         {  0, NULL, 0, NULL }
2166 };
2167 static int
2168 dissect_h245_RequestMultiplexEntryRejectionDescriptions_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2169 {
2170         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRejectionDescriptions_cause, ett_h245_RequestMultiplexEntryRejectionDescriptions_cause, RequestMultiplexEntryRejectionDescriptions_cause_choice, "cause", NULL);
2171
2172         return offset;
2173 }
2174
2175
2176
2177 static const value_string RequestModeReject_cause_vals[] = {
2178         {  0, "modeUnavailable" },
2179         {  1, "multipointConstraint" },
2180         {  2, "requestDenied" },
2181         {  0, NULL }
2182 };
2183 static per_choice_t RequestModeReject_cause_choice[] = {
2184         {  0, "modeUnavailable", ASN1_EXTENSION_ROOT,
2185                         dissect_h245_NULL },
2186         {  1, "multipointConstraint", ASN1_EXTENSION_ROOT,
2187                         dissect_h245_NULL },
2188         {  2, "requestDenied", ASN1_EXTENSION_ROOT,
2189                         dissect_h245_NULL },
2190         {  0, NULL, 0, NULL }
2191 };
2192 static int
2193 dissect_h245_RequestModeReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2194 {
2195         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestModeReject_cause, ett_h245_RequestModeReject_cause, RequestModeReject_cause_choice, "cause", NULL);
2196
2197         return offset;
2198 }
2199
2200
2201
2202
2203 static const value_string V76ModeParameters_vals[] = {
2204         {  0, "suspendResumewAddress" },
2205         {  1, "suspendResumewoAddress" },
2206         {  0, NULL }
2207 };
2208 static per_choice_t V76ModeParameters_choice[] = {
2209         {  0, "suspendResumewAddress", ASN1_EXTENSION_ROOT,
2210                         dissect_h245_NULL },
2211         {  1, "suspendResumewoAddress", ASN1_EXTENSION_ROOT,
2212                         dissect_h245_NULL },
2213         {  0, NULL, 0, NULL }
2214 };
2215 static int
2216 dissect_h245_V76ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2217 {
2218         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76ModeParameters, ett_h245_V76ModeParameters, V76ModeParameters_choice, "V76ModeParameters", NULL);
2219
2220         return offset;
2221 }
2222
2223
2224
2225 static const value_string H262VideoMode_profileAndLevel_vals[] = {
2226         {  0, "profileAndLevel-SPatML" },
2227         {  1, "profileAndLevel-MPatLL" },
2228         {  2, "profileAndLevel-MPatML" },
2229         {  3, "profileAndLevel-MPatH-14" },
2230         {  4, "profileAndLevel-MPatHL" },
2231         {  5, "profileAndLevel-SNRatLL" },
2232         {  6, "profileAndLevel-SNRatML" },
2233         {  7, "profileAndLevel-SpatialH-14" },
2234         {  8, "profileAndLevel-HPatML" },
2235         {  9, "profileAndLevel-HPatH-14" },
2236         { 10, "profileAndLevel-HPatHL" },
2237         {  0, NULL }
2238 };
2239 static per_choice_t H262VideoMode_profileAndLevel_choice[] = {
2240         {  0, "profileAndLevel-SPatML", ASN1_EXTENSION_ROOT,
2241                         dissect_h245_NULL },
2242         {  1, "profileAndLevel-MPatLL", ASN1_EXTENSION_ROOT,
2243                         dissect_h245_NULL },
2244         {  2, "profileAndLevel-MPatML", ASN1_EXTENSION_ROOT,
2245                         dissect_h245_NULL },
2246         {  3, "profileAndLevel-MPatH-14", ASN1_EXTENSION_ROOT,
2247                         dissect_h245_NULL },
2248         {  4, "profileAndLevel-MPatHL", ASN1_EXTENSION_ROOT,
2249                         dissect_h245_NULL },
2250         {  5, "profileAndLevel-SNRatLL", ASN1_EXTENSION_ROOT,
2251                         dissect_h245_NULL },
2252         {  6, "profileAndLevel-SNRatML", ASN1_EXTENSION_ROOT,
2253                         dissect_h245_NULL },
2254         {  7, "profileAndLevel-SpatialH-14", ASN1_EXTENSION_ROOT,
2255                         dissect_h245_NULL },
2256         {  8, "profileAndLevel-HPatML", ASN1_EXTENSION_ROOT,
2257                         dissect_h245_NULL },
2258         {  9, "profileAndLevel-HPatH-14", ASN1_EXTENSION_ROOT,
2259                         dissect_h245_NULL },
2260         { 10, "profileAndLevel-HPatHL", ASN1_EXTENSION_ROOT,
2261                         dissect_h245_NULL },
2262         {  0, NULL, 0, NULL }
2263 };
2264 static int
2265 dissect_h245_H262VideoMode_profileAndLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2266 {
2267         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H262VideoMode_profileAndLevel, ett_h245_H262VideoMode_profileAndLevel, H262VideoMode_profileAndLevel_choice, "profileAndLevel", NULL);
2268
2269         return offset;
2270 }
2271
2272
2273
2274
2275 static const value_string H263VideoMode_resolution_vals[] = {
2276         {  0, "sqcif" },
2277         {  1, "qcif" },
2278         {  2, "cif" },
2279         {  3, "cif4" },
2280         {  4, "cif16" },
2281         {  5, "custom" },
2282         {  0, NULL }
2283 };
2284 static per_choice_t H263VideoMode_resolution_choice[] = {
2285         {  0, "sqcif", ASN1_EXTENSION_ROOT,
2286                         dissect_h245_NULL },
2287         {  1, "qcif", ASN1_EXTENSION_ROOT,
2288                         dissect_h245_NULL },
2289         {  2, "cif", ASN1_EXTENSION_ROOT,
2290                         dissect_h245_NULL },
2291         {  3, "cif4", ASN1_EXTENSION_ROOT,
2292                         dissect_h245_NULL },
2293         {  4, "cif16", ASN1_EXTENSION_ROOT,
2294                         dissect_h245_NULL },
2295         {  5, "custom", ASN1_NOT_EXTENSION_ROOT,
2296                         dissect_h245_NULL },
2297         {  0, NULL, 0, NULL }
2298 };
2299 static int
2300 dissect_h245_H263VideoMode_resolution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2301 {
2302         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H263VideoMode_resolution, ett_h245_H263VideoMode_resolution, H263VideoMode_resolution_choice, "resolution", NULL);
2303
2304         return offset;
2305 }
2306
2307
2308 static const value_string AudioMode_g7231_vals[] = {
2309         {  0, "noSilenceSuppressionLowRate" },
2310         {  1, "noSilenceSuppressionHighRate" },
2311         {  2, "silenceSuppressionLowRate" },
2312         {  3, "silenceSuppressionHighRate" },
2313         {  0, NULL }
2314 };
2315 static per_choice_t AudioMode_g7231_choice[] = {
2316         {  0, "noSilenceSuppressionLowRate", ASN1_NO_EXTENSIONS,
2317                         dissect_h245_NULL },
2318         {  1, "noSilenceSuppressionHighRate", ASN1_NO_EXTENSIONS,
2319                         dissect_h245_NULL },
2320         {  2, "silenceSuppressionLowRate", ASN1_NO_EXTENSIONS,
2321                         dissect_h245_NULL },
2322         {  3, "silenceSuppressionHighRate", ASN1_NO_EXTENSIONS,
2323                         dissect_h245_NULL },
2324         {  0, NULL, 0, NULL }
2325 };
2326 static int
2327 dissect_h245_AudioMode_g7231(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2328 {
2329         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioMode_g7231, ett_h245_AudioMode_g7231, AudioMode_g7231_choice, "g7231", NULL);
2330
2331         return offset;
2332 }
2333
2334
2335
2336 static const value_string IS11172AudioMode_audioLayer_vals[] = {
2337         {  0, "audioLayer1" },
2338         {  1, "audioLayer2" },
2339         {  2, "audioLayer3" },
2340         {  0, NULL }
2341 };
2342 static per_choice_t IS11172AudioMode_audioLayer_choice[] = {
2343         {  0, "audioLayer1", ASN1_NO_EXTENSIONS,
2344                         dissect_h245_NULL },
2345         {  1, "audioLayer2", ASN1_NO_EXTENSIONS,
2346                         dissect_h245_NULL },
2347         {  2, "audioLayer3", ASN1_NO_EXTENSIONS,
2348                         dissect_h245_NULL },
2349         {  0, NULL, 0, NULL }
2350 };
2351 static int
2352 dissect_h245_IS11172AudioMode_audioLayer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2353 {
2354         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_audioLayer, ett_h245_IS11172AudioMode_audioLayer, IS11172AudioMode_audioLayer_choice, "audioLayer", NULL);
2355
2356         return offset;
2357 }
2358
2359
2360
2361 static const value_string IS11172AudioMode_audioSampling_vals[] = {
2362         {  0, "audioSampling32k" },
2363         {  1, "audioSampling44k1" },
2364         {  2, "audioSampling48k" },
2365         {  0, NULL }
2366 };
2367 static per_choice_t IS11172AudioMode_audioSampling_choice[] = {
2368         {  0, "audioSampling32k", ASN1_NO_EXTENSIONS,
2369                         dissect_h245_NULL },
2370         {  1, "audioSampling44k1", ASN1_NO_EXTENSIONS,
2371                         dissect_h245_NULL },
2372         {  2, "audioSampling48k", ASN1_NO_EXTENSIONS,
2373                         dissect_h245_NULL },
2374         {  0, NULL, 0, NULL }
2375 };
2376 static int
2377 dissect_h245_IS11172AudioMode_audioSampling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2378 {
2379         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_audioSampling, ett_h245_IS11172AudioMode_audioSampling, IS11172AudioMode_audioSampling_choice, "audioSampling", NULL);
2380
2381         return offset;
2382 }
2383
2384
2385
2386 static const value_string IS11172AudioMode_multichannelType_vals[] = {
2387         {  0, "singleChannel" },
2388         {  1, "twoChannelStereo" },
2389         {  2, "twoChannelDual" },
2390         {  0, NULL }
2391 };
2392 static per_choice_t IS11172AudioMode_multichannelType_choice[] = {
2393         {  0, "singleChannel", ASN1_NO_EXTENSIONS,
2394                         dissect_h245_NULL },
2395         {  1, "twoChannelStereo", ASN1_NO_EXTENSIONS,
2396                         dissect_h245_NULL },
2397         {  2, "twoChannelDual", ASN1_NO_EXTENSIONS,
2398                         dissect_h245_NULL },
2399         {  0, NULL, 0, NULL }
2400 };
2401 static int
2402 dissect_h245_IS11172AudioMode_multichannelType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2403 {
2404         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_multichannelType, ett_h245_IS11172AudioMode_multichannelType, IS11172AudioMode_multichannelType_choice, "multichannelType", NULL);
2405
2406         return offset;
2407 }
2408
2409
2410
2411
2412 static const value_string IS13818AudioMode_audioLayer_vals[] = {
2413         {  0, "audioLayer1" },
2414         {  1, "audioLayer2" },
2415         {  2, "audioLayer3" },
2416         {  0, NULL }
2417 };
2418 static per_choice_t IS13818AudioMode_audioLayer_choice[] = {
2419         {  0, "audioLayer1", ASN1_NO_EXTENSIONS,
2420                         dissect_h245_NULL },
2421         {  1, "audioLayer2", ASN1_NO_EXTENSIONS,
2422                         dissect_h245_NULL },
2423         {  2, "audioLayer3", ASN1_NO_EXTENSIONS,
2424                         dissect_h245_NULL },
2425         {  0, NULL, 0, NULL }
2426 };
2427 static int
2428 dissect_h245_IS13818AudioMode_audioLayer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2429 {
2430         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_audioLayer, ett_h245_IS13818AudioMode_audioLayer, IS13818AudioMode_audioLayer_choice, "audioLayer", NULL);
2431
2432         return offset;
2433 }
2434
2435
2436
2437
2438 static const value_string IS13818AudioMode_audioSampling_vals[] = {
2439         {  0, "audioSampling16k" },
2440         {  1, "audioSampling22k05" },
2441         {  2, "audioSampling24k" },
2442         {  3, "audioSampling32k" },
2443         {  4, "audioSampling44k1" },
2444         {  5, "audioSampling48k" },
2445         {  0, NULL }
2446 };
2447 static per_choice_t IS13818AudioMode_audioSampling_choice[] = {
2448         {  0, "audioSampling16k", ASN1_NO_EXTENSIONS,
2449                         dissect_h245_NULL },
2450         {  1, "audioSampling22k05", ASN1_NO_EXTENSIONS,
2451                         dissect_h245_NULL },
2452         {  2, "audioSampling24k", ASN1_NO_EXTENSIONS,
2453                         dissect_h245_NULL },
2454         {  3, "audioSampling32k", ASN1_NO_EXTENSIONS,
2455                         dissect_h245_NULL },
2456         {  4, "audioSampling44k1", ASN1_NO_EXTENSIONS,
2457                         dissect_h245_NULL },
2458         {  5, "audioSampling48k", ASN1_NO_EXTENSIONS,
2459                         dissect_h245_NULL },
2460         {  0, NULL, 0, NULL }
2461 };
2462 static int
2463 dissect_h245_IS13818AudioMode_audioSampling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2464 {
2465         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_audioSampling, ett_h245_IS13818AudioMode_audioSampling, IS13818AudioMode_audioSampling_choice, "audioSampling", NULL);
2466
2467         return offset;
2468 }
2469
2470
2471
2472
2473 static const value_string IS13818AudioMode_multiChannelType_vals[] = {
2474         {  0, "singleChannel" },
2475         {  1, "twoChannelStereo" },
2476         {  2, "twoChannelDual" },
2477         {  3, "threeChannels2-1" },
2478         {  4, "threeChannels3-0" },
2479         {  5, "fourChannels2-0-2-0" },
2480         {  6, "fourChannels2-2" },
2481         {  7, "fourChannels3-1" },
2482         {  8, "fiveChannels3-0-2-0" },
2483         {  9, "fiveChannels3-2" },
2484         {  0, NULL }
2485 };
2486 static per_choice_t IS13818AudioMode_multiChannelType_choice[] = {
2487         {  0, "singleChannel", ASN1_NO_EXTENSIONS,
2488                         dissect_h245_NULL },
2489         {  1, "twoChannelStereo", ASN1_NO_EXTENSIONS,
2490                         dissect_h245_NULL },
2491         {  2, "twoChannelDual", ASN1_NO_EXTENSIONS,
2492                         dissect_h245_NULL },
2493         {  3, "threeChannels2-1", ASN1_NO_EXTENSIONS,
2494                         dissect_h245_NULL },
2495         {  4, "threeChannels3-0", ASN1_NO_EXTENSIONS,
2496                         dissect_h245_NULL },
2497         {  5, "fourChannels2-0-2-0", ASN1_NO_EXTENSIONS,
2498                         dissect_h245_NULL },
2499         {  6, "fourChannels2-2", ASN1_NO_EXTENSIONS,
2500                         dissect_h245_NULL },
2501         {  7, "fourChannels3-1", ASN1_NO_EXTENSIONS,
2502                         dissect_h245_NULL },
2503         {  8, "fiveChannels3-0-2-0", ASN1_NO_EXTENSIONS,
2504                         dissect_h245_NULL },
2505         {  9, "fiveChannels3-2", ASN1_NO_EXTENSIONS,
2506                         dissect_h245_NULL },
2507         {  0, NULL, 0, NULL }
2508 };
2509 static int
2510 dissect_h245_IS13818AudioMode_multiChannelType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2511 {
2512         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_multiChannelType, ett_h245_IS13818AudioMode_multiChannelType, IS13818AudioMode_multiChannelType_choice, "multiChannelType", NULL);
2513
2514         return offset;
2515 }
2516
2517
2518
2519
2520 static const value_string MaintenanceLoopReject_cause_vals[] = {
2521         {  0, "canNotPerformLoop" },
2522         {  0, NULL }
2523 };
2524 static per_choice_t MaintenanceLoopReject_cause_choice[] = {
2525         {  0, "canNotPerformLoop", ASN1_EXTENSION_ROOT,
2526                         dissect_h245_NULL },
2527         {  0, NULL, 0, NULL }
2528 };
2529 static int
2530 dissect_h245_MaintenanceLoopReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2531 {
2532         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject_cause, ett_h245_MaintenanceLoopReject_cause, MaintenanceLoopReject_cause_choice, "cause", NULL);
2533
2534         return offset;
2535 }
2536
2537
2538
2539
2540 static const value_string ConferenceResponse_makeMeChairResponse_vals[] = {
2541         {  0, "grantedChairToken" },
2542         {  1, "deniedChairToken" },
2543         {  0, NULL }
2544 };
2545 static per_choice_t ConferenceResponse_makeMeChairResponse_choice[] = {
2546         {  0, "grantedChairToken", ASN1_EXTENSION_ROOT,
2547                         dissect_h245_NULL },
2548         {  1, "deniedChairToken", ASN1_EXTENSION_ROOT,
2549                         dissect_h245_NULL },
2550         {  0, NULL, 0, NULL }
2551 };
2552 static int
2553 dissect_h245_ConferenceResponse_makeMeChairResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2554 {
2555         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_makeMeChairResponse, ett_h245_ConferenceResponse_makeMeChairResponse, ConferenceResponse_makeMeChairResponse_choice, "makeMeChairResponse", NULL);
2556
2557         return offset;
2558 }
2559
2560
2561
2562
2563 static const value_string ConferenceResponse_broadcastMyLogicalChannelResponse_vals[] = {
2564         {  0, "grantedBroadcastMyLogicalChannel" },
2565         {  1, "deniedBroadcastMyLogicalChannel" },
2566         {  0, NULL }
2567 };
2568 static per_choice_t ConferenceResponse_broadcastMyLogicalChannelResponse_choice[] = {
2569         {  0, "grantedBroadcastMyLogicalChannel", ASN1_EXTENSION_ROOT,
2570                         dissect_h245_NULL },
2571         {  1, "deniedBroadcastMyLogicalChannel", ASN1_EXTENSION_ROOT,
2572                         dissect_h245_NULL },
2573         {  0, NULL, 0, NULL }
2574 };
2575 static int
2576 dissect_h245_ConferenceResponse_broadcastMyLogicalChannelResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2577 {
2578         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse, ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse, ConferenceResponse_broadcastMyLogicalChannelResponse_choice, "broadcastMyLogicalChannelResponse", NULL);
2579
2580         return offset;
2581 }
2582
2583
2584
2585 static const value_string ConferenceResponse_makeTerminalBroadcasterResponse_vals[] = {
2586         {  0, "grantedMakeTerminalBroadcaster" },
2587         {  1, "deniedMakeTerminalBroadcaster" },
2588         {  0, NULL }
2589 };
2590 static per_choice_t ConferenceResponse_makeTerminalBroadcasterResponse_choice[] = {
2591         {  0, "grantedMakeTerminalBroadcaster", ASN1_EXTENSION_ROOT,
2592                         dissect_h245_NULL },
2593         {  1, "deniedMakeTerminalBroadcaster", ASN1_EXTENSION_ROOT,
2594                         dissect_h245_NULL },
2595         {  0, NULL, 0, NULL }
2596 };
2597 static int
2598 dissect_h245_ConferenceResponse_makeTerminalBroadcasterResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2599 {
2600         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse, ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse, ConferenceResponse_makeTerminalBroadcasterResponse_choice, "makeTerminalBroadcasterResponse", NULL);
2601
2602         return offset;
2603 }
2604
2605
2606
2607
2608 static const value_string ConferenceResponse_sendThisSourceResponse_vals[] = {
2609         {  0, "grantedSendThisSource" },
2610         {  1, "deniedSendThisSource" },
2611         {  0, NULL }
2612 };
2613 static per_choice_t ConferenceResponse_sendThisSourceResponse_choice[] = {
2614         {  0, "grantedSendThisSource", ASN1_EXTENSION_ROOT,
2615                         dissect_h245_NULL },
2616         {  1, "deniedSendThisSource", ASN1_EXTENSION_ROOT,
2617                         dissect_h245_NULL },
2618         {  0, NULL, 0, NULL }
2619 };
2620 static int
2621 dissect_h245_ConferenceResponse_sendThisSourceResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2622 {
2623         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_sendThisSourceResponse, ett_h245_ConferenceResponse_sendThisSourceResponse, ConferenceResponse_sendThisSourceResponse_choice, "sendThisSourceResponse", NULL);
2624
2625         return offset;
2626 }
2627
2628
2629
2630 static const value_string RemoteMCRequest_vals[] = {
2631         {  0, "masterActivate" },
2632         {  1, "slaveActivate" },
2633         {  2, "deActivate" },
2634         {  0, NULL }
2635 };
2636 static per_choice_t RemoteMCRequest_choice[] = {
2637         {  0, "masterActivate", ASN1_EXTENSION_ROOT,
2638                         dissect_h245_NULL },
2639         {  1, "slaveActivate", ASN1_EXTENSION_ROOT,
2640                         dissect_h245_NULL },
2641         {  2, "deActivate", ASN1_EXTENSION_ROOT,
2642                         dissect_h245_NULL },
2643         {  0, NULL, 0, NULL }
2644 };
2645 static int
2646 dissect_h245_RemoteMCRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2647 {
2648         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCRequest, ett_h245_RemoteMCRequest, RemoteMCRequest_choice, "RemoteMCRequest", NULL);
2649
2650         return offset;
2651 }
2652
2653
2654
2655
2656 static const value_string RemoteMCResponse_reject_vals[] = {
2657         {  0, "unspecified" },
2658         {  1, "functionNotSupported" },
2659         {  0, NULL }
2660 };
2661 static per_choice_t RemoteMCResponse_reject_choice[] = {
2662         {  0, "unspecified", ASN1_EXTENSION_ROOT,
2663                         dissect_h245_NULL },
2664         {  1, "functionNotSupported", ASN1_EXTENSION_ROOT,
2665                         dissect_h245_NULL },
2666         {  0, NULL, 0, NULL }
2667 };
2668 static int
2669 dissect_h245_RemoteMCResponse_reject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2670 {
2671         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCResponse_reject, ett_h245_RemoteMCResponse_reject, RemoteMCResponse_reject_choice, "reject", NULL);
2672
2673         return offset;
2674 }
2675
2676
2677
2678
2679 static const value_string RemoteMCResponse_vals[] = {
2680         {  0, "accept" },
2681         {  1, "reject" },
2682         {  0, NULL }
2683 };
2684 static per_choice_t RemoteMCResponse_choice[] = {
2685         {  0, "accept", ASN1_EXTENSION_ROOT,
2686                         dissect_h245_NULL },
2687         {  1, "reject", ASN1_EXTENSION_ROOT,
2688                         dissect_h245_RemoteMCResponse_reject },
2689         {  0, NULL, 0, NULL }
2690 };
2691 static int
2692 dissect_h245_RemoteMCResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2693 {
2694         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCResponse, ett_h245_RemoteMCResponse, RemoteMCResponse_choice, "RemoteMCResponse", NULL);
2695
2696         return offset;
2697 }
2698
2699
2700
2701
2702 static const value_string MultilinkResponse_addConnection_responseCode_rejected_vals[] = {
2703         {  0, "connectionNotAvailable" },
2704         {  1, "userRejected" },
2705         {  0, NULL }
2706 };
2707 static per_choice_t MultilinkResponse_addConnection_responseCode_rejected_choice[] = {
2708         {  0, "connectionNotAvailable", ASN1_EXTENSION_ROOT,
2709                         dissect_h245_NULL },
2710         {  1, "userRejected", ASN1_EXTENSION_ROOT,
2711                         dissect_h245_NULL },
2712         {  0, NULL, 0, NULL }
2713 };
2714 static int
2715 dissect_h245_MultilinkResponse_addConnection_responseCode_rejected(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2716 {
2717         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection_responseCode_rejected, ett_h245_MultilinkResponse_addConnection_responseCode_rejected, MultilinkResponse_addConnection_responseCode_rejected_choice, "rejected", NULL);
2718
2719         return offset;
2720 }
2721
2722
2723
2724 static const value_string MultilinkResponse_addConnection_responseCode_vals[] = {
2725         {  0, "accepted" },
2726         {  1, "rejected" },
2727         {  0, NULL }
2728 };
2729 static per_choice_t MultilinkResponse_addConnection_responseCode_choice[] = {
2730         {  0, "accepted", ASN1_EXTENSION_ROOT,
2731                         dissect_h245_NULL },
2732         {  1, "rejected", ASN1_EXTENSION_ROOT,
2733                         dissect_h245_MultilinkResponse_addConnection_responseCode_rejected },
2734         {  0, NULL, 0, NULL }
2735 };
2736 static int
2737 dissect_h245_MultilinkResponse_addConnection_responseCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2738 {
2739         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection_responseCode, ett_h245_MultilinkResponse_addConnection_responseCode, MultilinkResponse_addConnection_responseCode_choice, "responseCode", NULL);
2740
2741         return offset;
2742 }
2743
2744
2745
2746 static const value_string LogicalChannelRateRejectReason_vals[] = {
2747         {  0, "undefinedReason" },
2748         {  1, "insufficientResources" },
2749         {  0, NULL }
2750 };
2751 static per_choice_t LogicalChannelRateRejectReason_choice[] = {
2752         {  0, "undefinedReason", ASN1_EXTENSION_ROOT,
2753                         dissect_h245_NULL },
2754         {  1, "insufficientResources", ASN1_EXTENSION_ROOT,
2755                         dissect_h245_NULL },
2756         {  0, NULL, 0, NULL }
2757 };
2758 static int
2759 dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2760 {
2761         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRejectReason, ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice, "LogicalChannelRateRejectReason", NULL);
2762
2763         return offset;
2764 }
2765
2766
2767
2768
2769 static const value_string EndSessionCommand_gstnOptions_vals[] = {
2770         {  0, "telephonyMode" },
2771         {  1, "v8bis" },
2772         {  2, "v34DSVD" },
2773         {  3, "v34DuplexFax" },
2774         {  4, "v34H324" },
2775         {  0, NULL }
2776 };
2777 static per_choice_t EndSessionCommand_gstnOptions_choice[] = {
2778         {  0, "telephonyMode", ASN1_EXTENSION_ROOT,
2779                         dissect_h245_NULL },
2780         {  1, "v8bis", ASN1_EXTENSION_ROOT,
2781                         dissect_h245_NULL },
2782         {  2, "v34DSVD", ASN1_EXTENSION_ROOT,
2783                         dissect_h245_NULL },
2784         {  3, "v34DuplexFax", ASN1_EXTENSION_ROOT,
2785                         dissect_h245_NULL },
2786         {  4, "v34H324", ASN1_EXTENSION_ROOT,
2787                         dissect_h245_NULL },
2788         {  0, NULL, 0, NULL }
2789 };
2790 static int
2791 dissect_h245_EndSessionCommand_gstnOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2792 {
2793         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_gstnOptions, ett_h245_EndSessionCommand_gstnOptions, EndSessionCommand_gstnOptions_choice, "gstnOptions", NULL);
2794
2795         return offset;
2796 }
2797
2798
2799
2800
2801 static const value_string EndSessionCommand_isdnOptions_vals[] = {
2802         {  0, "telephonyMode" },
2803         {  1, "v140" },
2804         {  2, "terminalOnHold" },
2805         {  0, NULL }
2806 };
2807 static per_choice_t EndSessionCommand_isdnOptions_choice[] = {
2808         {  0, "telephonyMode", ASN1_EXTENSION_ROOT,
2809                         dissect_h245_NULL },
2810         {  1, "v140", ASN1_EXTENSION_ROOT,
2811                         dissect_h245_NULL },
2812         {  2, "terminalOnHold", ASN1_EXTENSION_ROOT,
2813                         dissect_h245_NULL },
2814         {  0, NULL, 0, NULL }
2815 };
2816 static int
2817 dissect_h245_EndSessionCommand_isdnOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2818 {
2819         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_isdnOptions, ett_h245_EndSessionCommand_isdnOptions, EndSessionCommand_isdnOptions_choice, "isdnOptions", NULL);
2820
2821         return offset;
2822 }
2823
2824
2825
2826
2827 static const value_string MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_vals[] = {
2828         {  0, "doOneProgression" },
2829         {  1, "doContinousProgressions" },
2830         {  2, "doOneIndependentProgression" },
2831         {  3, "doContinousIndependentProgressions" },
2832         {  0, NULL }
2833 };
2834 static per_choice_t MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_choice[] = {
2835         {  0, "doOneProgression", ASN1_EXTENSION_ROOT,
2836                         dissect_h245_NULL },
2837         {  1, "doContinousProgressions", ASN1_EXTENSION_ROOT,
2838                         dissect_h245_NULL },
2839         {  2, "doOneIndependentProgression", ASN1_EXTENSION_ROOT,
2840                         dissect_h245_NULL },
2841         {  3, "doContinousIndependentProgressions", ASN1_EXTENSION_ROOT,
2842                         dissect_h245_NULL },
2843         {  0, NULL, 0, NULL }
2844 };
2845 static int
2846 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2847 {
2848         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount, ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount, MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_choice, "repeatCount", NULL);
2849
2850         return offset;
2851 }
2852
2853
2854
2855 static per_sequence_t MiscellaneousCommand_type_progressiveRefinementStart_sequence[] = {
2856         { "repeatCount", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2857                 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount },
2858         { NULL, 0, 0, NULL }
2859 };
2860 static int
2861 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2862 {
2863         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_progressiveRefinementStart, ett_h245_MiscellaneousCommand_type_progressiveRefinementStart, MiscellaneousCommand_type_progressiveRefinementStart_sequence);
2864
2865         return offset;
2866 }
2867
2868
2869
2870
2871 static const value_string H223MultiplexReconfiguration_h223ModeChange_vals[] = {
2872         {  0, "toLevel0" },
2873         {  1, "toLevel1" },
2874         {  2, "toLevel2" },
2875         {  3, "toLevel2WithOptionalHeader" },
2876         {  0, NULL }
2877 };
2878 static per_choice_t H223MultiplexReconfiguration_h223ModeChange_choice[] = {
2879         {  0, "toLevel0", ASN1_EXTENSION_ROOT,
2880                         dissect_h245_NULL },
2881         {  1, "toLevel1", ASN1_EXTENSION_ROOT,
2882                         dissect_h245_NULL },
2883         {  2, "toLevel2", ASN1_EXTENSION_ROOT,
2884                         dissect_h245_NULL },
2885         {  3, "toLevel2WithOptionalHeader", ASN1_EXTENSION_ROOT,
2886                         dissect_h245_NULL },
2887         {  0, NULL, 0, NULL }
2888 };
2889 static int
2890 dissect_h245_H223MultiplexReconfiguration_h223ModeChange(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2891 {
2892         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration_h223ModeChange, ett_h245_H223MultiplexReconfiguration_h223ModeChange, H223MultiplexReconfiguration_h223ModeChange_choice, "h223ModeChange", NULL);
2893
2894         return offset;
2895 }
2896
2897
2898
2899
2900 static const value_string H223MultiplexReconfiguration_h223AnnexADoubleFlag_vals[] = {
2901         {  0, "start" },
2902         {  1, "stop" },
2903         {  0, NULL }
2904 };
2905 static per_choice_t H223MultiplexReconfiguration_h223AnnexADoubleFlag_choice[] = {
2906         {  0, "start", ASN1_EXTENSION_ROOT,
2907                         dissect_h245_NULL },
2908         {  1, "stop", ASN1_EXTENSION_ROOT,
2909                         dissect_h245_NULL },
2910         {  0, NULL, 0, NULL }
2911 };
2912 static int
2913 dissect_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2914 {
2915         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, H223MultiplexReconfiguration_h223AnnexADoubleFlag_choice, "h223AnnexADoubleFlag", NULL);
2916
2917         return offset;
2918 }
2919
2920
2921
2922
2923 static const value_string H223MultiplexReconfiguration_vals[] = {
2924         {  0, "h233ModeChange" },
2925         {  1, "h223AnnexADoubleFlag" },
2926         {  0, NULL }
2927 };
2928 static per_choice_t H223MultiplexReconfiguration_choice[] = {
2929         {  0, "h233ModeChange", ASN1_EXTENSION_ROOT,
2930                         dissect_h245_H223MultiplexReconfiguration_h223ModeChange },
2931         {  1, "h223AnnexADoubleFlag", ASN1_EXTENSION_ROOT,
2932                         dissect_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag },
2933         {  0, NULL, 0, NULL }
2934 };
2935 static int
2936 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2937 {
2938         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration, ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice, "H223MultiplexReconfiguration", NULL);
2939
2940         return offset;
2941 }
2942
2943
2944
2945
2946 static const value_string NewATMVCCommand_aal_aal1_clockRecovery_vals[] = {
2947         {  0, "nullClockRecovery" },
2948         {  1, "srtsClockRecovery" },
2949         {  2, "adaptiveClockRecovery" },
2950         {  0, NULL }
2951 };
2952 static per_choice_t NewATMVCCommand_aal_aal1_clockRecovery_choice[] = {
2953         {  0, "nullClockRecovery", ASN1_EXTENSION_ROOT,
2954                         dissect_h245_NULL },
2955         {  1, "srtsClockRecovery", ASN1_EXTENSION_ROOT,
2956                         dissect_h245_NULL },
2957         {  2, "adaptiveClockRecovery", ASN1_EXTENSION_ROOT,
2958                         dissect_h245_NULL },
2959         {  0, NULL, 0, NULL }
2960 };
2961 static int
2962 dissect_h245_NewATMVCCommand_aal_aal1_clockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2963 {
2964         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal1_clockRecovery, ett_h245_NewATMVCCommand_aal_aal1_clockRecovery, NewATMVCCommand_aal_aal1_clockRecovery_choice, "clockRecovery", NULL);
2965
2966         return offset;
2967 }
2968
2969
2970
2971
2972
2973 static const value_string NewATMVCCommand_aal_aal1_errorCorrection_vals[] = {
2974         {  0, "nullErrorCorrection" },
2975         {  1, "longInterleaver" },
2976         {  2, "shortInterleaver" },
2977         {  3, "errorCorrectionOnly" },
2978         {  0, NULL }
2979 };
2980 static per_choice_t NewATMVCCommand_aal_aal1_errorCorrection_choice[] = {
2981         {  0, "nullErrorCorrection", ASN1_EXTENSION_ROOT,
2982                         dissect_h245_NULL },
2983         {  1, "longInterleaver", ASN1_EXTENSION_ROOT,
2984                         dissect_h245_NULL },
2985         {  2, "shortInterleaver", ASN1_EXTENSION_ROOT,
2986                         dissect_h245_NULL },
2987         {  3, "errorCorrectionOnly", ASN1_EXTENSION_ROOT,
2988                         dissect_h245_NULL },
2989         {  0, NULL, 0, NULL }
2990 };
2991 static int
2992 dissect_h245_NewATMVCCommand_aal_aal1_errorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2993 {
2994         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal1_errorCorrection, ett_h245_NewATMVCCommand_aal_aal1_errorCorrection, NewATMVCCommand_aal_aal1_errorCorrection_choice, "errorCorrection", NULL);
2995
2996         return offset;
2997 }
2998
2999
3000
3001
3002 static const value_string NewATMVCCommand_multiplex_vals[] = {
3003         {  0, "noMultiplex" },
3004         {  1, "transportStream" },
3005         {  2, "programStream" },
3006         {  0, NULL }
3007 };
3008 static per_choice_t NewATMVCCommand_multiplex_choice[] = {
3009         {  0, "noMultiplex", ASN1_EXTENSION_ROOT,
3010                         dissect_h245_NULL },
3011         {  1, "transportStream", ASN1_EXTENSION_ROOT,
3012                         dissect_h245_NULL },
3013         {  2, "programStream", ASN1_EXTENSION_ROOT,
3014                         dissect_h245_NULL },
3015         {  0, NULL, 0, NULL }
3016 };
3017 static int
3018 dissect_h245_NewATMVCCommand_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3019 {
3020         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_multiplex, ett_h245_NewATMVCCommand_multiplex, NewATMVCCommand_multiplex_choice, "multiplex", NULL);
3021
3022         return offset;
3023 }
3024
3025
3026
3027
3028 static const value_string NewATMVCCommand_reverseParameters_multiplex_vals[] = {
3029         {  0, "noMultiplex" },
3030         {  1, "transportStream" },
3031         {  2, "programStream" },
3032         {  0, NULL }
3033 };
3034 static per_choice_t NewATMVCCommand_reverseParameters_multiplex_choice[] = {
3035         {  0, "noMultiplex", ASN1_EXTENSION_ROOT,
3036                         dissect_h245_NULL },
3037         {  1, "transportStream", ASN1_EXTENSION_ROOT,
3038                         dissect_h245_NULL },
3039         {  2, "programStream", ASN1_EXTENSION_ROOT,
3040                         dissect_h245_NULL },
3041         {  0, NULL, 0, NULL }
3042 };
3043 static int
3044 dissect_h245_NewATMVCCommand_reverseParameters_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3045 {
3046         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_reverseParameters_multiplex, ett_h245_NewATMVCCommand_reverseParameters_multiplex, NewATMVCCommand_reverseParameters_multiplex_choice, "multiplex", NULL);
3047
3048         return offset;
3049 }
3050
3051
3052
3053 static const value_string MobileMultilinkReconfigurationCommand_status_vals[] = {
3054         {  0, "synchronized" },
3055         {  1, "reconfiguration" },
3056         {  0, NULL }
3057 };
3058 static per_choice_t MobileMultilinkReconfigurationCommand_status_choice[] = {
3059         {  0, "synchronized", ASN1_EXTENSION_ROOT,
3060                         dissect_h245_NULL },
3061         {  1, "reconfiguration", ASN1_EXTENSION_ROOT,
3062                         dissect_h245_NULL },
3063         {  0, NULL, 0, NULL }
3064 };
3065 static int
3066 dissect_h245_MobileMultilinkReconfigurationCommand_status(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3067 {
3068         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationCommand_status, ett_h245_MobileMultilinkReconfigurationCommand_status, MobileMultilinkReconfigurationCommand_status_choice, "status", NULL);
3069
3070         return offset;
3071 }
3072
3073
3074
3075
3076 static const value_string FunctionNotSupported_cause_vals[] = {
3077         {  0, "syntaxError" },
3078         {  1, "semanticError" },
3079         {  2, "unknownFunction" },
3080         {  0, NULL }
3081 };
3082 static per_choice_t FunctionNotSupported_cause_choice[] = {
3083         {  0, "syntaxError", ASN1_EXTENSION_ROOT,
3084                         dissect_h245_NULL },
3085         {  1, "semanticError", ASN1_EXTENSION_ROOT,
3086                         dissect_h245_NULL },
3087         {  2, "unknownFunction", ASN1_EXTENSION_ROOT,
3088                         dissect_h245_NULL },
3089         {  0, NULL, 0, NULL }
3090 };
3091 static int
3092 dissect_h245_FunctionNotSupported_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3093 {
3094         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FunctionNotSupported_cause, ett_h245_FunctionNotSupported_cause, FunctionNotSupported_cause_choice, "cause", NULL);
3095
3096         return offset;
3097 }
3098
3099
3100
3101
3102 static const value_string NewATMVCIndication_aal_aal1_clockRecovery_vals[] = {
3103         {  0, "nullClockRecovery" },
3104         {  1, "srtsClockRecovery" },
3105         {  2, "adaptiveClockRecovery" },
3106         {  0, NULL }
3107 };
3108 static per_choice_t NewATMVCIndication_aal_aal1_clockRecovery_choice[] = {
3109         {  0, "nullClockRecovery", ASN1_EXTENSION_ROOT,
3110                         dissect_h245_NULL },
3111         {  1, "srtsClockRecovery", ASN1_EXTENSION_ROOT,
3112                         dissect_h245_NULL },
3113         {  2, "adaptiveClockRecovery", ASN1_EXTENSION_ROOT,
3114                         dissect_h245_NULL },
3115         {  0, NULL, 0, NULL }
3116 };
3117 static int
3118 dissect_h245_NewATMVCIndication_aal_aal1_clockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3119 {
3120         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal1_clockRecovery, ett_h245_NewATMVCIndication_aal_aal1_clockRecovery, NewATMVCIndication_aal_aal1_clockRecovery_choice, "clockRecovery", NULL);
3121
3122         return offset;
3123 }
3124
3125
3126
3127 static const value_string NewATMVCIndication_aal_aal1_errorCorrection_vals[] = {
3128         {  0, "nullErrorCorrection" },
3129         {  1, "longInterleaver" },
3130         {  2, "shortInterleaver" },
3131         {  3, "errorCorrectionOnly" },
3132         {  0, NULL }
3133 };
3134 static per_choice_t NewATMVCIndication_aal_aal1_errorCorrection_choice[] = {
3135         {  0, "nullErrorCorrection", ASN1_EXTENSION_ROOT,
3136                         dissect_h245_NULL },
3137         {  1, "longInterleaver", ASN1_EXTENSION_ROOT,
3138                         dissect_h245_NULL },
3139         {  2, "shortInterleaver", ASN1_EXTENSION_ROOT,
3140                         dissect_h245_NULL },
3141         {  3, "errorCorrectionOnly", ASN1_EXTENSION_ROOT,
3142                         dissect_h245_NULL },
3143         {  0, NULL, 0, NULL }
3144 };
3145 static int
3146 dissect_h245_NewATMVCIndication_aal_aal1_errorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3147 {
3148         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal1_errorCorrection, ett_h245_NewATMVCIndication_aal_aal1_errorCorrection, NewATMVCIndication_aal_aal1_errorCorrection_choice, "errorCorrection", NULL);
3149
3150         return offset;
3151 }
3152
3153
3154
3155
3156 static const value_string NewATMVCIndication_multiplex_vals[] = {
3157         {  0, "noMultiplex" },
3158         {  1, "transportStream" },
3159         {  2, "programStream" },
3160         {  0, NULL }
3161 };
3162 static per_choice_t NewATMVCIndication_multiplex_choice[] = {
3163         {  0, "noMultiplex", ASN1_EXTENSION_ROOT,
3164                         dissect_h245_NULL },
3165         {  1, "transportStream", ASN1_EXTENSION_ROOT,
3166                         dissect_h245_NULL },
3167         {  2, "programStream", ASN1_EXTENSION_ROOT,
3168                         dissect_h245_NULL },
3169         {  0, NULL, 0, NULL }
3170 };
3171 static int
3172 dissect_h245_NewATMVCIndication_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3173 {
3174         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_multiplex, ett_h245_NewATMVCIndication_multiplex, NewATMVCIndication_multiplex_choice, "multiplex", NULL);
3175
3176         return offset;
3177 }
3178
3179
3180
3181
3182 static const value_string NewATMVCIndication_reverseParameters_multiplex_vals[] = {
3183         {  0, "noMultiplex" },
3184         {  1, "transportStream" },
3185         {  2, "programStream" },
3186         {  0, NULL }
3187 };
3188 static per_choice_t NewATMVCIndication_reverseParameters_multiplex_choice[] = {
3189         {  0, "noMultiplex", ASN1_EXTENSION_ROOT,
3190                         dissect_h245_NULL },
3191         {  1, "transportStream", ASN1_EXTENSION_ROOT,
3192                         dissect_h245_NULL },
3193         {  2, "programStream", ASN1_EXTENSION_ROOT,
3194                         dissect_h245_NULL },
3195         {  0, NULL, 0, NULL }
3196 };
3197 static int
3198 dissect_h245_NewATMVCIndication_reverseParameters_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3199 {
3200         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_reverseParameters_multiplex, ett_h245_NewATMVCIndication_reverseParameters_multiplex, NewATMVCIndication_reverseParameters_multiplex_choice, "multiplex", NULL);
3201
3202         return offset;
3203 }
3204
3205
3206
3207 static int
3208 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3209 {
3210         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3211                 tree, hf_h245_LogicalChannelNumber, 1, 65535,
3212                 NULL, NULL, FALSE);
3213         return offset;
3214 }
3215
3216 static int
3217 dissect_h245_logicalChannelNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3218 {
3219         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3220                 tree, hf_h245_LogicalChannelNumber, 0, 65535,
3221                 NULL, NULL, FALSE);
3222         return offset;
3223 }
3224
3225
3226 static int
3227 dissect_h245_SequenceNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3228 {
3229         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3230                 tree, hf_h245_SequenceNumber, 0, 255,
3231                 NULL, NULL, FALSE);
3232         return offset;
3233 }
3234
3235
3236
3237
3238 static const value_string MaintenanceLoopRequest_type_vals[] = {
3239         {  0, "systemLoop" },
3240         {  1, "mediaLoop" },
3241         {  2, "logicalChannelLoop" },
3242         {  0, NULL }
3243 };
3244 static per_choice_t MaintenanceLoopRequest_type_choice[] = {
3245         {  0, "systemLoop", ASN1_EXTENSION_ROOT,
3246                         dissect_h245_NULL },
3247         {  1, "mediaLoop", ASN1_EXTENSION_ROOT,
3248                         dissect_h245_LogicalChannelNumber },
3249         {  2, "logicalChannelLoop", ASN1_EXTENSION_ROOT,
3250                         dissect_h245_LogicalChannelNumber },
3251         {  0, NULL, 0, NULL }
3252 };
3253 static int
3254 dissect_h245_MaintenanceLoopRequest_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3255 {
3256         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopRequest_type, ett_h245_MaintenanceLoopRequest_type, MaintenanceLoopRequest_type_choice, "type", NULL);
3257
3258         return offset;
3259 }
3260
3261
3262
3263
3264 static const value_string MaintenanceLoopAck_type_vals[] = {
3265         {  0, "systemLoop" },
3266         {  1, "mediaLoop" },
3267         {  2, "logicalChannelLoop" },
3268         {  0, NULL }
3269 };
3270 static per_choice_t MaintenanceLoopAck_type_choice[] = {
3271         {  0, "systemLoop", ASN1_EXTENSION_ROOT,
3272                         dissect_h245_NULL },
3273         {  1, "mediaLoop", ASN1_EXTENSION_ROOT,
3274                         dissect_h245_LogicalChannelNumber },
3275         {  2, "logicalChannelLoop", ASN1_EXTENSION_ROOT,
3276                         dissect_h245_LogicalChannelNumber },
3277         {  0, NULL, 0, NULL }
3278 };
3279 static int
3280 dissect_h245_MaintenanceLoopAck_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3281 {
3282         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopAck_type, ett_h245_MaintenanceLoopAck_type, MaintenanceLoopAck_type_choice, "type", NULL);
3283
3284         return offset;
3285 }
3286
3287
3288
3289
3290 static const value_string MaintenanceLoopReject_type_vals[] = {
3291         {  0, "systemLoop" },
3292         {  1, "mediaLoop" },
3293         {  2, "logicalChannelLoop" },
3294         {  0, NULL }
3295 };
3296 static per_choice_t MaintenanceLoopReject_type_choice[] = {
3297         {  0, "systemLoop", ASN1_EXTENSION_ROOT,
3298                         dissect_h245_NULL },
3299         {  1, "mediaLoop", ASN1_EXTENSION_ROOT,
3300                         dissect_h245_LogicalChannelNumber },
3301         {  2, "logicalChannelLoop", ASN1_EXTENSION_ROOT,
3302                         dissect_h245_LogicalChannelNumber },
3303         {  0, NULL, 0, NULL }
3304 };
3305 static int
3306 dissect_h245_MaintenanceLoopReject_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3307 {
3308         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject_type, ett_h245_MaintenanceLoopReject_type, MaintenanceLoopReject_type_choice, "type", NULL);
3309
3310         return offset;
3311 }
3312
3313
3314
3315
3316 static per_sequence_t OpenLogicalChannelReject_sequence[] = {
3317         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3318                 dissect_h245_LogicalChannelNumber },
3319         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3320                 dissect_h245_OpenLogicalChannelReject_cause },
3321         { NULL, 0, 0, NULL }
3322 };
3323 static int
3324 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3325 {
3326         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelReject, ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
3327
3328         return offset;
3329 }
3330
3331
3332
3333
3334 static per_sequence_t CloseLogicalChannel_sequence[] = {
3335         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3336                 dissect_h245_LogicalChannelNumber },
3337         { "source", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3338                 dissect_h245_CloseLogicalChannel_source },
3339         { "reason", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3340                 dissect_h245_CloseLogicalChannel_reason },
3341         { NULL, 0, 0, NULL }
3342 };
3343 static int
3344 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3345 {
3346         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel, ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
3347
3348         return offset;
3349 }
3350
3351
3352
3353
3354 static per_sequence_t CloseLogicalChannelAck_sequence[] = {
3355         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3356                 dissect_h245_LogicalChannelNumber },
3357         { NULL, 0, 0, NULL }
3358 };
3359 static int
3360 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3361 {
3362         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannelAck, ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
3363
3364         return offset;
3365 }
3366
3367
3368
3369
3370 static per_sequence_t RequestChannelCloseAck_sequence[] = {
3371         { "forwardLogiclChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3372                 dissect_h245_LogicalChannelNumber },
3373         { NULL, 0, 0, NULL }
3374 };
3375 static int
3376 dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3377 {
3378         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseAck, ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
3379
3380         return offset;
3381 }
3382
3383
3384
3385
3386 static per_sequence_t RequestChannelCloseReject_sequence[] = {
3387         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3388                 dissect_h245_LogicalChannelNumber },
3389         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3390                 dissect_h245_RequestChannelCloseReject_cause },
3391         { NULL, 0, 0, NULL }
3392 };
3393 static int
3394 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3395 {
3396         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseReject, ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
3397
3398         return offset;
3399 }
3400
3401
3402
3403
3404 static per_sequence_t RequestChannelCloseRelease_sequence[] = {
3405         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3406                 dissect_h245_LogicalChannelNumber },
3407         { NULL, 0, 0, NULL }
3408 };
3409 static int
3410 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3411 {
3412         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseRelease, ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
3413
3414         return offset;
3415 }
3416
3417
3418
3419
3420
3421 static per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
3422         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3423                 dissect_h245_LogicalChannelNumber },
3424         { NULL, 0, 0, NULL }
3425 };
3426 static int
3427 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3428 {
3429         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamModeParameters, ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
3430
3431         return offset;
3432 }
3433
3434
3435
3436
3437 static per_sequence_t MaintenanceLoopRequest_sequence[] = {
3438         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3439                 dissect_h245_MaintenanceLoopRequest_type },
3440         { NULL, 0, 0, NULL }
3441 };
3442 static int
3443 dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3444 {
3445         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopRequest, ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
3446
3447         return offset;
3448 }
3449
3450
3451
3452
3453 static per_sequence_t MaintenanceLoopAck_sequence[] = {
3454         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3455                 dissect_h245_MaintenanceLoopAck_type },
3456         { NULL, 0, 0, NULL }
3457 };
3458 static int
3459 dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3460 {
3461         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopAck, ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
3462
3463         return offset;
3464 }
3465
3466
3467
3468 static per_sequence_t MaintenanceLoopReject_sequence[] = {
3469         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3470                         dissect_h245_MaintenanceLoopReject_type },
3471         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3472                         dissect_h245_MaintenanceLoopReject_cause },
3473         { NULL, 0, 0, NULL }
3474 };
3475 static int
3476 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3477 {
3478         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject, ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
3479
3480         return offset;
3481 }
3482
3483
3484
3485 static per_sequence_t UserInputIndication_signalUpdate_rtp_sequence[] = {
3486         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3487                         dissect_h245_LogicalChannelNumber },
3488         { NULL, 0, 0, NULL }
3489 };
3490 static int
3491 dissect_h245_UserInputIndication_signalUpdate_rtp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3492 {
3493         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signalUpdate_rtp, ett_h245_UserInputIndication_signalUpdate_rtp, UserInputIndication_signalUpdate_rtp_sequence);
3494
3495         return offset;
3496 }
3497
3498
3499
3500 static per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
3501         { "forwardLogicalChannelNumber",        ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3502                         dissect_h245_LogicalChannelNumber },
3503         { NULL, 0, 0, NULL }
3504 };
3505 static int
3506 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3507 {
3508         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelConfirm, ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
3509
3510         return offset;
3511 }
3512
3513
3514
3515 static per_sequence_t TerminalCapabilitySetAck_sequence[] = {
3516         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3517                 dissect_h245_SequenceNumber },
3518         { NULL, 0, 0, NULL }
3519 };
3520 static int
3521 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3522 {
3523         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetAck, ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
3524
3525         return offset;
3526 }
3527
3528
3529
3530 static per_sequence_t RequestModeReject_sequence[] = {
3531         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3532                 dissect_h245_SequenceNumber },
3533         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3534                 dissect_h245_RequestModeReject_cause },
3535         { NULL, 0, 0, NULL }
3536 };
3537 static int
3538 dissect_h245_RequestModeReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3539 {
3540         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeReject, ett_h245_RequestModeReject, RequestModeReject_sequence);
3541
3542         return offset;
3543 }
3544
3545
3546
3547
3548 static per_sequence_t RoundTripDelayRequest_sequence[] = {
3549         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3550                 dissect_h245_SequenceNumber },
3551         { NULL, 0, 0, NULL }
3552 };
3553 static int
3554 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3555 {
3556         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RoundTripDelayRequest, ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
3557
3558         return offset;
3559 }
3560
3561
3562
3563
3564 static per_sequence_t RoundTripDelayResponse_sequence[] = {
3565         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3566                 dissect_h245_SequenceNumber },
3567         { NULL, 0, 0, NULL }
3568 };
3569 static int
3570 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3571 {
3572         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RoundTripDelayResponse, ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
3573
3574         return offset;
3575 }
3576
3577
3578
3579 static per_sequence_t MultilinkResponse_addConnection_sequence[] = {
3580         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3581                 dissect_h245_SequenceNumber },
3582         { "responseCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3583                 dissect_h245_MultilinkResponse_addConnection_responseCode },
3584         { NULL, 0, 0, NULL }
3585 };
3586 static int
3587 dissect_h245_MultilinkResponse_addConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3588 {
3589         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection, ett_h245_MultilinkResponse_addConnection, MultilinkResponse_addConnection_sequence);
3590
3591         return offset;
3592 }
3593
3594
3595
3596
3597 static const true_false_string tfs_h233EncryptionTransmitCapability_bit = {
3598         "h233EncryptionTransmitCapability bit is SET",
3599         "h233EncryptionTransmitCapability bit is CLEAR"
3600 };
3601 static int
3602 dissect_h245_h233EncryptionTransmitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3603 {
3604         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h233EncryptionTransmitCapability, NULL, NULL);
3605
3606         return offset;
3607 }
3608
3609
3610 static const true_false_string tfs_nullClockRecovery_bit = {
3611         "nullClockRecovery bit is SET",
3612         "nullClockRecovery bit is CLEAR"
3613 };
3614 static int
3615 dissect_h245_nullClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3616 {
3617         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nullClockRecovery, NULL, NULL);
3618
3619         return offset;
3620 }
3621
3622
3623 static const true_false_string tfs_srtsClockRecovery_bit = {
3624         "srtsClockRecovery bit is SET",
3625         "srtsClockRecovery bit is CLEAR"
3626 };
3627 static int
3628 dissect_h245_srtsClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3629 {
3630         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_srtsClockRecovery, NULL, NULL);
3631
3632         return offset;
3633 }
3634
3635
3636
3637 static const true_false_string tfs_adaptiveClockRecovery_bit = {
3638         "adaptiveClockRecovery bit is SET",
3639         "adaptiveClockRecovery bit is CLEAR"
3640 };
3641 static int
3642 dissect_h245_adaptiveClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3643 {
3644         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_adaptiveClockRecovery, NULL, NULL);
3645
3646         return offset;
3647 }
3648
3649
3650
3651
3652 static const true_false_string tfs_nullErrorCorrection_bit = {
3653         "nullErrorCorrection bit is SET",
3654         "nullErrorCorrection bit is CLEAR"
3655 };
3656 static int
3657 dissect_h245_nullErrorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3658 {
3659         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nullErrorCorrection, NULL, NULL);
3660
3661         return offset;
3662 }
3663
3664
3665
3666 static const true_false_string tfs_longInterleaver_bit = {
3667         "longInterleaver bit is SET",
3668         "longInterleaver bit is CLEAR"
3669 };
3670 static int
3671 dissect_h245_longInterleaver(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3672 {
3673         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_longInterleaver, NULL, NULL);
3674
3675         return offset;
3676 }
3677
3678
3679
3680 static const true_false_string tfs_shortInterleaver_bit = {
3681         "shortInterleaver bit is SET",
3682         "shortInterleaver bit is CLEAR"
3683 };
3684 static int
3685 dissect_h245_shortInterleaver(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3686 {
3687         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_shortInterleaver, NULL, NULL);
3688
3689         return offset;
3690 }
3691
3692
3693
3694 static const true_false_string tfs_errorCorrectionOnly_bit = {
3695         "errorCorrectionOnly bit is SET",
3696         "errorCorrectionOnly bit is CLEAR"
3697 };
3698 static int
3699 dissect_h245_errorCorrectionOnly(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3700 {
3701         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_errorCorrectionOnly, NULL, NULL);
3702
3703         return offset;
3704 }
3705
3706
3707
3708
3709
3710 static const true_false_string tfs_structuredDataTransfer_bit = {
3711         "structuredDataTransfer bit is SET",
3712         "structuredDataTransfer bit is CLEAR"
3713 };
3714 static int
3715 dissect_h245_structuredDataTransfer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3716 {
3717         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_structuredDataTransfer, NULL, NULL);
3718
3719         return offset;
3720 }
3721
3722
3723
3724
3725
3726 static const true_false_string tfs_partiallyFilledCells_bit = {
3727         "partiallyFilledCells bit is SET",
3728         "partiallyFilledCells bit is CLEAR"
3729 };
3730 static int
3731 dissect_h245_partiallyFilledCells(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3732 {
3733         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partiallyFilledCells, NULL, NULL);
3734
3735         return offset;
3736 }
3737
3738
3739
3740
3741 static per_sequence_t VCCapability_aal1_sequence[] = {
3742         { "nullClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3743                 dissect_h245_nullClockRecovery },
3744         { "srtsClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3745                 dissect_h245_srtsClockRecovery },
3746         { "adaptiveClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3747                 dissect_h245_adaptiveClockRecovery },
3748         { "nullErrorCorrection", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3749                 dissect_h245_nullErrorCorrection },
3750         { "longInterleaver", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3751                 dissect_h245_longInterleaver },
3752         { "shortInterleaver", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3753                 dissect_h245_shortInterleaver },
3754         { "errorCorrectionOnly", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3755                 dissect_h245_errorCorrectionOnly },
3756         { "structuredDataTransfer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3757                 dissect_h245_structuredDataTransfer },
3758         { "partiallyFilledCells", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3759                 dissect_h245_partiallyFilledCells },
3760         { NULL, 0, 0, NULL }
3761 };
3762 static int
3763 dissect_h245_VCCapability_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3764 {
3765         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal1, ett_h245_VCCapability_aal1, VCCapability_aal1_sequence);
3766
3767         return offset;
3768 }
3769
3770
3771
3772
3773
3774 static per_sequence_t NewATMVCCommand_aal_aal1_sequence[] = {
3775         { "clockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3776                 dissect_h245_NewATMVCCommand_aal_aal1_clockRecovery },
3777         { "errorCorrection", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3778                 dissect_h245_NewATMVCCommand_aal_aal1_errorCorrection },
3779         { "structuredDataTransfer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3780                 dissect_h245_structuredDataTransfer },
3781         { "partiallyFilledCells", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3782                 dissect_h245_partiallyFilledCells },
3783         { NULL, 0, 0, NULL }
3784 };
3785 static int
3786 dissect_h245_NewATMVCCommand_aal_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3787 {
3788         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal1, ett_h245_NewATMVCCommand_aal_aal1, NewATMVCCommand_aal_aal1_sequence);
3789
3790         return offset;
3791 }
3792
3793
3794
3795 static per_sequence_t NewATMVCIndication_aal_aal1_sequence[] = {
3796         { "clockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3797                 dissect_h245_NewATMVCIndication_aal_aal1_clockRecovery },
3798         { "errorCorrection", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3799                 dissect_h245_NewATMVCIndication_aal_aal1_errorCorrection },
3800         { "structuredDataTransfer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3801                 dissect_h245_structuredDataTransfer },
3802         { "partiallyFilledCells", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3803                 dissect_h245_partiallyFilledCells },
3804         { NULL, 0, 0, NULL }
3805 };
3806 static int
3807 dissect_h245_NewATMVCIndication_aal_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3808 {
3809         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal1, ett_h245_NewATMVCIndication_aal_aal1, NewATMVCIndication_aal_aal1_sequence);
3810
3811         return offset;
3812 }
3813
3814
3815
3816
3817
3818 static const true_false_string tfs_transportStream_bit = {
3819         "transportStream bit is SET",
3820         "transportStream bit is CLEAR"
3821 };
3822 static int
3823 dissect_h245_transportStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3824 {
3825         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transportStream, NULL, NULL);
3826
3827         return offset;
3828 }
3829
3830
3831
3832
3833
3834 static const true_false_string tfs_programStream_bit = {
3835         "programStream bit is SET",
3836         "programStream bit is CLEAR"
3837 };
3838 static int
3839 dissect_h245_programStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3840 {
3841         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_programStream, NULL, NULL);
3842
3843         return offset;
3844 }
3845
3846
3847
3848
3849
3850 static const true_false_string tfs_videoWithAL1_bit = {
3851         "videoWithAL1 bit is SET",
3852         "videoWithAL1 bit is CLEAR"
3853 };
3854 static int
3855 dissect_h245_videoWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3856 {
3857         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL1, NULL, NULL);
3858
3859         return offset;
3860 }
3861
3862
3863
3864
3865
3866 static const true_false_string tfs_videoWithAL2_bit = {
3867         "videoWithAL2 bit is SET",
3868         "videoWithAL2 bit is CLEAR"
3869 };
3870 static int
3871 dissect_h245_videoWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3872 {
3873         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL2, NULL, NULL);
3874
3875         return offset;
3876 }
3877
3878
3879
3880
3881
3882 static const true_false_string tfs_videoWithAL3_bit = {
3883         "videoWithAL3 bit is SET",
3884         "videoWithAL3 bit is CLEAR"
3885 };
3886 static int
3887 dissect_h245_videoWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3888 {
3889         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL3, NULL, NULL);
3890
3891         return offset;
3892 }
3893
3894
3895
3896
3897
3898 static const true_false_string tfs_audioWithAL1_bit = {
3899         "audioWithAL1 bit is SET",
3900         "audioWithAL1 bit is CLEAR"
3901 };
3902 static int
3903 dissect_h245_audioWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3904 {
3905         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL1, NULL, NULL);
3906
3907         return offset;
3908 }
3909
3910
3911
3912
3913
3914 static const true_false_string tfs_audioWithAL2_bit = {
3915         "audioWithAL2 bit is SET",
3916         "audioWithAL2 bit is CLEAR"
3917 };
3918 static int
3919 dissect_h245_audioWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3920 {
3921         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL2, NULL, NULL);
3922
3923         return offset;
3924 }
3925
3926
3927
3928
3929
3930 static const true_false_string tfs_audioWithAL3_bit = {
3931         "audioWithAL3 bit is SET",
3932         "audioWithAL3 bit is CLEAR"
3933 };
3934 static int
3935 dissect_h245_audioWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3936 {
3937         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL3, NULL, NULL);
3938
3939         return offset;
3940 }
3941
3942
3943
3944
3945
3946 static const true_false_string tfs_dataWithAL1_bit = {
3947         "dataWithAL1 bit is SET",
3948         "dataWithAL1 bit is CLEAR"
3949 };
3950 static int
3951 dissect_h245_dataWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3952 {
3953         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL1, NULL, NULL);
3954
3955         return offset;
3956 }
3957
3958
3959
3960
3961
3962 static const true_false_string tfs_dataWithAL2_bit = {
3963         "dataWithAL2 bit is SET",
3964         "dataWithAL2 bit is CLEAR"
3965 };
3966 static int
3967 dissect_h245_dataWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3968 {
3969         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL2, NULL, NULL);
3970
3971         return offset;
3972 }
3973
3974
3975
3976
3977
3978 static const true_false_string tfs_dataWithAL3_bit = {
3979         "dataWithAL3 bit is SET",
3980         "dataWithAL3 bit is CLEAR"
3981 };
3982 static int
3983 dissect_h245_dataWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3984 {
3985         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL3, NULL, NULL);
3986
3987         return offset;
3988 }
3989
3990
3991
3992 static const true_false_string tfs_maxMUXPDUSizeCapability_bit = {
3993         "maxMUXPDUSizeCapability bit is SET",
3994         "maxMUXPDUSizeCapability bit is CLEAR"
3995 };
3996 static int
3997 dissect_h245_maxMUXPDUSizeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3998 {
3999         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_maxMUXPDUSizeCapability, NULL, NULL);
4000
4001         return offset;
4002 }
4003
4004
4005
4006
4007
4008
4009 static const true_false_string tfs_nsrpSupport_bit = {
4010         "nsrpSupport bit is SET",
4011         "nsrpSupport bit is CLEAR"
4012 };
4013 static int
4014 dissect_h245_nsrpSupport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4015 {
4016         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nsrpSupport, NULL, NULL);
4017
4018         return offset;
4019 }
4020
4021
4022
4023
4024
4025 static const true_false_string tfs_modeChangeCapability_bit = {
4026         "modeChangeCapability bit is SET",
4027         "modeChangeCapability bit is CLEAR"
4028 };
4029 static int
4030 dissect_h245_modeChangeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4031 {
4032         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_modeChangeCapability, NULL, NULL);
4033
4034         return offset;
4035 }
4036
4037
4038
4039
4040
4041 static const true_false_string tfs_h223AnnexA_bit = {
4042         "h223AnnexA bit is SET",
4043         "h223AnnexA bit is CLEAR"
4044 };
4045 static int
4046 dissect_h245_h223AnnexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4047 {
4048         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexA, NULL, NULL);
4049
4050         return offset;
4051 }
4052
4053
4054
4055
4056
4057
4058 static const true_false_string tfs_h223AnnexADoubleFlag_bool_bit = {
4059         "h223AnnexADoubleFlag_bool bit is SET",
4060         "h223AnnexADoubleFlag_bool bit is CLEAR"
4061 };
4062 static int
4063 dissect_h245_h223AnnexADoubleFlag_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4064 {
4065         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexADoubleFlag_bool, NULL, NULL);
4066
4067         return offset;
4068 }
4069
4070
4071
4072
4073
4074 static const true_false_string tfs_h223AnnexB_bit = {
4075         "h223AnnexB bit is SET",
4076         "h223AnnexB bit is CLEAR"
4077 };
4078 static int
4079 dissect_h245_h223AnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4080 {
4081         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexB, NULL, NULL);
4082
4083         return offset;
4084 }
4085
4086
4087
4088
4089
4090 static const true_false_string tfs_h223AnnexBwithHeader_bit = {
4091         "h223AnnexBwithHeader bit is SET",
4092         "h223AnnexBwithHeader bit is CLEAR"
4093 };
4094 static int
4095 dissect_h245_h223AnnexBwithHeader(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4096 {
4097         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexBwithHeader, NULL, NULL);
4098
4099         return offset;
4100 }
4101
4102
4103
4104 static per_sequence_t H223Capability_mobileOperationTransmitCapability_sequence[] = {
4105         { "modeChangeCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4106                 dissect_h245_modeChangeCapability },
4107         { "h223AnnexA", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4108                 dissect_h245_h223AnnexA },
4109         { "h223AnnexADoubleFlag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4110                 dissect_h245_h223AnnexADoubleFlag_bool },
4111         { "h223AnnexB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4112                 dissect_h245_h223AnnexB },
4113         { "h223AnnexBwithHeader", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4114                 dissect_h245_h223AnnexBwithHeader },
4115         { NULL, 0, 0, NULL }
4116 };
4117 static int
4118 dissect_h245_H223Capability_mobileOperationTransmitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4119 {
4120         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_mobileOperationTransmitCapability, ett_h245_H223Capability_mobileOperationTransmitCapability, H223Capability_mobileOperationTransmitCapability_sequence);
4121
4122         return offset;
4123 }
4124
4125
4126
4127
4128
4129 static const true_false_string tfs_videoWithAL1M_bit = {
4130         "videoWithAL1M bit is SET",
4131         "videoWithAL1M bit is CLEAR"
4132 };
4133 static int
4134 dissect_h245_videoWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4135 {
4136         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL1M, NULL, NULL);
4137
4138         return offset;
4139 }
4140
4141
4142
4143
4144 static const true_false_string tfs_videoWithAL2M_bit = {
4145         "videoWithAL2M bit is SET",
4146         "videoWithAL2M bit is CLEAR"
4147 };
4148 static int
4149 dissect_h245_videoWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4150 {
4151         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL2M, NULL, NULL);
4152
4153         return offset;
4154 }
4155
4156
4157
4158
4159
4160 static const true_false_string tfs_videoWithAL3M_bit = {
4161         "videoWithAL3M bit is SET",
4162         "videoWithAL3M bit is CLEAR"
4163 };
4164 static int
4165 dissect_h245_videoWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4166 {
4167         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL3M, NULL, NULL);
4168
4169         return offset;
4170 }
4171
4172
4173
4174
4175
4176 static const true_false_string tfs_audioWithAL1M_bit = {
4177         "audioWithAL1M bit is SET",
4178         "audioWithAL1M bit is CLEAR"
4179 };
4180 static int
4181 dissect_h245_audioWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4182 {
4183         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL1M, NULL, NULL);
4184
4185         return offset;
4186 }
4187
4188
4189
4190
4191
4192 static const true_false_string tfs_audioWithAL2M_bit = {
4193         "audioWithAL2M bit is SET",
4194         "audioWithAL2M bit is CLEAR"
4195 };
4196 static int
4197 dissect_h245_audioWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4198 {
4199         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL2M, NULL, NULL);
4200
4201         return offset;
4202 }
4203
4204
4205
4206
4207
4208 static const true_false_string tfs_audioWithAL3M_bit = {
4209         "audioWithAL3M bit is SET",
4210         "audioWithAL3M bit is CLEAR"
4211 };
4212 static int
4213 dissect_h245_audioWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4214 {
4215         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL3M, NULL, NULL);
4216
4217         return offset;
4218 }
4219
4220
4221
4222
4223
4224 static const true_false_string tfs_dataWithAL1M_bit = {
4225         "dataWithAL1M bit is SET",
4226         "dataWithAL1M bit is CLEAR"
4227 };
4228 static int
4229 dissect_h245_dataWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4230 {
4231         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL1M, NULL, NULL);
4232
4233         return offset;
4234 }
4235
4236
4237
4238
4239
4240 static const true_false_string tfs_dataWithAL2M_bit = {
4241         "dataWithAL2M bit is SET",
4242         "dataWithAL2M bit is CLEAR"
4243 };
4244 static int
4245 dissect_h245_dataWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4246 {
4247         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL2M, NULL, NULL);
4248
4249         return offset;
4250 }
4251
4252
4253
4254
4255
4256 static const true_false_string tfs_dataWithAL3M_bit = {
4257         "dataWithAL3M bit is SET",
4258         "dataWithAL3M bit is CLEAR"
4259 };
4260 static int
4261 dissect_h245_dataWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4262 {
4263         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL3M, NULL, NULL);
4264
4265         return offset;
4266 }
4267
4268
4269
4270
4271
4272 static const true_false_string tfs_alpduInterleaving_bit = {
4273         "alpduInterleaving bit is SET",
4274         "alpduInterleaving bit is CLEAR"
4275 };
4276 static int
4277 dissect_h245_alpduInterleaving(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4278 {
4279         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alpduInterleaving, NULL, NULL);
4280
4281         return offset;
4282 }
4283
4284
4285
4286 static per_sequence_t H223AL2MParameters_sequence[] = {
4287         { "headerFEC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4288                 dissect_h245_H223AL2MParameters_headerFEC },
4289         { "alpduInterleaving", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4290                 dissect_h245_alpduInterleaving },
4291         { NULL, 0, 0, NULL }
4292 };
4293 static int
4294 dissect_h245_H223AL2MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4295 {
4296         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL2MParameters, ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
4297
4298         return offset;
4299 }
4300
4301
4302
4303
4304
4305 static const true_false_string tfs_rsCodeCapability_bit = {
4306         "rsCodeCapability bit is SET",
4307         "rsCodeCapability bit is CLEAR"
4308 };
4309 static int
4310 dissect_h245_rsCodeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4311 {
4312         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rsCodeCapability, NULL, NULL);
4313
4314         return offset;
4315 }
4316
4317
4318
4319
4320
4321 static const true_false_string tfs_suspendResumeCapabilitywAddress_bit = {
4322         "suspendResumeCapabilitywAddress bit is SET",
4323         "suspendResumeCapabilitywAddress bit is CLEAR"
4324 };
4325 static int
4326 dissect_h245_suspendResumeCapabilitywAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4327 {
4328         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_suspendResumeCapabilitywAddress, NULL, NULL);
4329
4330         return offset;
4331 }
4332
4333
4334
4335
4336
4337 static const true_false_string tfs_suspendResumeCapabilitywoAddress_bit = {
4338         "suspendResumeCapabilitywoAddress bit is SET",
4339         "suspendResumeCapabilitywoAddress bit is CLEAR"
4340 };
4341 static int
4342 dissect_h245_suspendResumeCapabilitywoAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4343 {
4344         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_suspendResumeCapabilitywoAddress, NULL, NULL);
4345
4346         return offset;
4347 }
4348
4349
4350
4351
4352
4353 static const true_false_string tfs_rejCapability_bit = {
4354         "rejCapability bit is SET",
4355         "rejCapability bit is CLEAR"
4356 };
4357 static int
4358 dissect_h245_rejCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4359 {
4360         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rejCapability, NULL, NULL);
4361
4362         return offset;
4363 }
4364
4365
4366
4367
4368
4369 static const true_false_string tfs_sREJCapability_bit = {
4370         "sREJCapability bit is SET",
4371         "sREJCapability bit is CLEAR"
4372 };
4373 static int
4374 dissect_h245_sREJCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4375 {
4376         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_sREJCapability, NULL, NULL);
4377
4378         return offset;
4379 }
4380
4381
4382
4383
4384
4385
4386 static const true_false_string tfs_mREJCapability_bit = {
4387         "mREJCapability bit is SET",
4388         "mREJCapability bit is CLEAR"
4389 };
4390 static int
4391 dissect_h245_mREJCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4392 {
4393         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mREJCapability, NULL, NULL);
4394
4395         return offset;
4396 }
4397
4398
4399
4400
4401
4402
4403 static const true_false_string tfs_crc8bitCapability_bit = {
4404         "crc8bitCapability bit is SET",
4405         "crc8bitCapability bit is CLEAR"
4406 };
4407 static int
4408 dissect_h245_crc8bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4409 {
4410         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc8bitCapability, NULL, NULL);
4411
4412         return offset;
4413 }
4414
4415
4416
4417
4418
4419 static const true_false_string tfs_crc16bitCapability_bit = {
4420         "crc16bitCapability bit is SET",
4421         "crc16bitCapability bit is CLEAR"
4422 };
4423 static int
4424 dissect_h245_crc16bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4425 {
4426         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc16bitCapability, NULL, NULL);
4427
4428         return offset;
4429 }
4430
4431
4432
4433
4434
4435
4436 static const true_false_string tfs_crc32bitCapability_bit = {
4437         "crc32bitCapability bit is SET",
4438         "crc32bitCapability bit is CLEAR"
4439 };
4440 static int
4441 dissect_h245_crc32bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4442 {
4443         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc32bitCapability, NULL, NULL);
4444
4445         return offset;
4446 }
4447
4448
4449
4450
4451
4452 static const true_false_string tfs_uihCapability_bit = {
4453         "uihCapability bit is SET",
4454         "uihCapability bit is CLEAR"
4455 };
4456 static int
4457 dissect_h245_uihCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4458 {
4459         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_uihCapability, NULL, NULL);
4460
4461         return offset;
4462 }
4463
4464
4465
4466
4467
4468 static const true_false_string tfs_twoOctetAddressFieldCapability_bit = {
4469         "twoOctetAddressFieldCapability bit is SET",
4470         "twoOctetAddressFieldCapability bit is CLEAR"
4471 };
4472 static int
4473 dissect_h245_twoOctetAddressFieldCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4474 {
4475         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_twoOctetAddressFieldCapability, NULL, NULL);
4476
4477         return offset;
4478 }
4479
4480
4481
4482
4483
4484 static const true_false_string tfs_loopBackTestCapability_bit = {
4485         "loopBackTestCapability bit is SET",
4486         "loopBackTestCapability bit is CLEAR"
4487 };
4488 static int
4489 dissect_h245_loopBackTestCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4490 {
4491         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_loopBackTestCapability, NULL, NULL);
4492
4493         return offset;
4494 }
4495
4496
4497
4498
4499
4500
4501 static const true_false_string tfs_audioHeader_bit = {
4502         "audioHeader bit is SET",
4503         "audioHeader bit is CLEAR"
4504 };
4505 static int
4506 dissect_h245_audioHeader(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4507 {
4508         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioHeader, NULL, NULL);
4509
4510         return offset;
4511 }
4512
4513
4514
4515 static per_sequence_t V75Capability_sequence[] = {
4516         { "audioHeader", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4517                 dissect_h245_audioHeader },
4518         { NULL, 0, 0, NULL }
4519 };
4520 static int
4521 dissect_h245_V75Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4522 {
4523         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V75Capability, ett_h245_V75Capability, V75Capability_sequence);
4524
4525         return offset;
4526 }
4527
4528
4529
4530
4531
4532 static const true_false_string tfs_centralizedConferenceMC_bit = {
4533         "centralizedConferenceMC bit is SET",
4534         "centralizedConferenceMC bit is CLEAR"
4535 };
4536 static int
4537 dissect_h245_centralizedConferenceMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4538 {
4539         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedConferenceMC, NULL, NULL);
4540
4541         return offset;
4542 }
4543
4544
4545
4546
4547
4548 static const true_false_string tfs_decentralizedConferenceMC_bit = {
4549         "decentralizedConferenceMC bit is SET",
4550         "decentralizedConferenceMC bit is CLEAR"
4551 };
4552 static int
4553 dissect_h245_decentralizedConferenceMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4554 {
4555         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_decentralizedConferenceMC, NULL, NULL);
4556
4557         return offset;
4558 }
4559
4560
4561
4562
4563 static per_sequence_t H2250Capability_mcCapability_sequence[] = {
4564         { "centralizedConferenceMC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4565                 dissect_h245_centralizedConferenceMC },
4566         { "decentralizedConferenceMC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4567                 dissect_h245_decentralizedConferenceMC },
4568         { NULL, 0, 0, NULL }
4569 };
4570 static int
4571 dissect_h245_H2250Capability_mcCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4572 {
4573         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250Capability_mcCapability, ett_h245_H2250Capability_mcCapability, H2250Capability_mcCapability_sequence);
4574
4575         return offset;
4576 }
4577
4578
4579
4580
4581
4582 static const true_false_string tfs_rtcpVideoControlCapability_bit = {
4583         "rtcpVideoControlCapability bit is SET",
4584         "rtcpVideoControlCapability bit is CLEAR"
4585 };
4586 static int
4587 dissect_h245_rtcpVideoControlCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4588 {
4589         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rtcpVideoControlCapability, NULL, NULL);
4590
4591         return offset;
4592 }
4593
4594
4595
4596
4597
4598
4599 static const true_false_string tfs_logicalChannelSwitchingCapability_bit = {
4600         "logicalChannelSwitchingCapability bit is SET",
4601         "logicalChannelSwitchingCapability bit is CLEAR"
4602 };
4603 static int
4604 dissect_h245_logicalChannelSwitchingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4605 {
4606         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_logicalChannelSwitchingCapability, NULL, NULL);
4607
4608         return offset;
4609 }
4610
4611
4612
4613
4614
4615 static const true_false_string tfs_t120DynamicPortCapability_bit = {
4616         "t120DynamicPortCapability bit is SET",
4617         "t120DynamicPortCapability bit is CLEAR"
4618 };
4619 static int
4620 dissect_h245_t120DynamicPortCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4621 {
4622         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_t120DynamicPortCapability, NULL, NULL);
4623
4624         return offset;
4625 }
4626
4627
4628
4629
4630
4631 static const true_false_string tfs_h261aVideoPacketization_bit = {
4632         "h261aVideoPacketization bit is SET",
4633         "h261aVideoPacketization bit is CLEAR"
4634 };
4635 static int
4636 dissect_h245_h261aVideoPacketization(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4637 {
4638         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h261aVideoPacketization, NULL, NULL);
4639
4640         return offset;
4641 }
4642
4643
4644
4645
4646
4647 static const true_false_string tfs_atmUBR_bit = {
4648         "atmUBR bit is SET",
4649         "atmUBR bit is CLEAR"
4650 };
4651 static int
4652 dissect_h245_atmUBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4653 {
4654         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmUBR, NULL, NULL);
4655
4656         return offset;
4657 }
4658
4659
4660
4661
4662 static const true_false_string tfs_atmrtVBR_bit = {
4663         "atmrtVBR bit is SET",
4664         "atmrtVBR bit is CLEAR"
4665 };
4666 static int
4667 dissect_h245_atmrtVBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4668 {
4669         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmrtVBR, NULL, NULL);
4670
4671         return offset;
4672 }
4673
4674
4675
4676
4677
4678 static const true_false_string tfs_atmnrtVBR_bit = {
4679         "atmnrtVBR bit is SET",
4680         "atmnrtVBR bit is CLEAR"
4681 };
4682 static int
4683 dissect_h245_atmnrtVBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4684 {
4685         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmnrtVBR, NULL, NULL);
4686
4687         return offset;
4688 }
4689
4690
4691
4692
4693
4694 static const true_false_string tfs_atmABR_bit = {
4695         "atmABR bit is SET",
4696         "atmABR bit is CLEAR"
4697 };
4698 static int
4699 dissect_h245_atmABR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4700 {
4701         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmABR, NULL, NULL);
4702
4703         return offset;
4704 }
4705
4706
4707
4708
4709
4710
4711 static const true_false_string tfs_atmCBR_bit = {
4712         "atmCBR bit is SET",
4713         "atmCBR bit is CLEAR"
4714 };
4715 static int
4716 dissect_h245_atmCBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4717 {
4718         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmCBR, NULL, NULL);
4719
4720         return offset;
4721 }
4722
4723
4724
4725
4726
4727 static const true_false_string tfs_variableDelta_bit = {
4728         "variableDelta bit is SET",
4729         "variableDelta bit is CLEAR"
4730 };
4731 static int
4732 dissect_h245_variableDelta(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4733 {
4734         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_variableDelta, NULL, NULL);
4735
4736         return offset;
4737 }
4738
4739
4740
4741 static per_sequence_t MediaTransportType_AtmAAL5Compressed_sequence[] = {
4742         { "variable-delta", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4743                 dissect_h245_variableDelta },
4744         { NULL, 0, 0, NULL }
4745 };
4746 static int
4747 dissect_h245_MediaTransportType_AtmAAL5Compressed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4748 {
4749         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaTransportType_AtmAAL5Compressed, ett_h245_MediaTransportType_AtmAAL5Compressed, MediaTransportType_AtmAAL5Compressed_sequence);
4750
4751         return offset;
4752 }
4753
4754
4755
4756
4757 static const value_string MediaTransportType_vals[] = {
4758         {  0, "ip-UDP" },
4759         {  1, "ip-TCP" },
4760         {  2, "atm-AAL5-UNIDIR" },
4761         {  3, "atm-AAL5-BIDIR" },
4762         {  4, "atm-AAL5-compressed" },
4763         {  0, NULL }
4764 };
4765 static per_choice_t MediaTransportType_choice[] = {
4766         {  0, "ip-UDP", ASN1_EXTENSION_ROOT,
4767                         dissect_h245_NULL },
4768         {  1, "ip-TCP", ASN1_EXTENSION_ROOT,
4769                         dissect_h245_NULL },
4770         {  2, "atm-AAL5-UNIDIR", ASN1_EXTENSION_ROOT,
4771                         dissect_h245_NULL },
4772         {  3, "atm-AAL5-BIDIR", ASN1_EXTENSION_ROOT,
4773                         dissect_h245_NULL },
4774         {  4, "atm-AAL5-compressed", ASN1_NOT_EXTENSION_ROOT,
4775                         dissect_h245_MediaTransportType_AtmAAL5Compressed },
4776         {  0, NULL, 0, NULL }
4777 };
4778 static int
4779 dissect_h245_MediaTransportType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4780 {
4781         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MediaTransportType, ett_h245_MediaTransportType, MediaTransportType_choice, "MediaTransportType", NULL);
4782
4783         return offset;
4784 }
4785
4786
4787
4788 static per_sequence_t MediaChannelCapability_sequence[] = {
4789         { "mediaTransport", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4790                 dissect_h245_MediaTransportType },
4791         { NULL, 0, 0, NULL }
4792 };
4793 static int
4794 dissect_h245_MediaChannelCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4795 {
4796         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaChannelCapability, ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4797
4798         return offset;
4799 }
4800
4801
4802
4803
4804
4805 static const true_false_string tfs_multicastCapability_bit = {
4806         "multicastCapability bit is SET",
4807         "multicastCapability bit is CLEAR"
4808 };
4809 static int
4810 dissect_h245_multicastCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4811 {
4812         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multicastCapability, NULL, NULL);
4813
4814         return offset;
4815 }
4816
4817
4818
4819
4820
4821
4822 static const true_false_string tfs_multiUniCastConference_bit = {
4823         "multiUniCastConference bit is SET",
4824         "multiUniCastConference bit is CLEAR"
4825 };
4826 static int
4827 dissect_h245_multiUniCastConference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4828 {
4829         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multiUniCastConference, NULL, NULL);
4830
4831         return offset;
4832 }
4833
4834
4835
4836
4837
4838 static const true_false_string tfs_centralizedControl_bit = {
4839         "centralizedControl bit is SET",
4840         "centralizedControl bit is CLEAR"
4841 };
4842 static int
4843 dissect_h245_centralizedControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4844 {
4845         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedControl, NULL, NULL);
4846
4847         return offset;
4848 }
4849
4850
4851
4852
4853
4854 static const true_false_string tfs_distributedControl_bit = {
4855         "distributedControl bit is SET",
4856         "distributedControl bit is CLEAR"
4857 };
4858 static int
4859 dissect_h245_distributedControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4860 {
4861         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedControl, NULL, NULL);
4862
4863         return offset;
4864 }
4865
4866
4867
4868
4869
4870 static const true_false_string tfs_centralizedAudio_bit = {
4871         "centralizedAudio bit is SET",
4872         "centralizedAudio bit is CLEAR"
4873 };
4874 static int
4875 dissect_h245_centralizedAudio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4876 {
4877         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedAudio, NULL, NULL);
4878
4879         return offset;
4880 }
4881
4882
4883
4884
4885
4886 static const true_false_string tfs_distributedAudio_bit = {
4887         "distributedAudio bit is SET",
4888         "distributedAudio bit is CLEAR"
4889 };
4890 static int
4891 dissect_h245_distributedAudio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4892 {
4893         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedAudio, NULL, NULL);
4894
4895         return offset;
4896 }
4897
4898
4899
4900
4901
4902 static const true_false_string tfs_centralizedVideo_bit = {
4903         "centralizedVideo bit is SET",
4904         "centralizedVideo bit is CLEAR"
4905 };
4906 static int
4907 dissect_h245_centralizedVideo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4908 {
4909         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedVideo, NULL, NULL);
4910
4911         return offset;
4912 }
4913
4914
4915
4916
4917 static const true_false_string tfs_distributedVideo_bit = {
4918         "distributedVideo bit is SET",
4919         "distributedVideo bit is CLEAR"
4920 };
4921 static int
4922 dissect_h245_distributedVideo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4923 {
4924         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedVideo, NULL, NULL);
4925
4926         return offset;
4927 }
4928
4929
4930
4931
4932
4933
4934 static const true_false_string tfs_temporalSpatialTradeOffCapability_bit = {
4935         "temporalSpatialTradeOffCapability bit is SET",
4936         "temporalSpatialTradeOffCapability bit is CLEAR"
4937 };
4938 static int
4939 dissect_h245_temporalSpatialTradeOffCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4940 {
4941         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_temporalSpatialTradeOffCapability, NULL, NULL);
4942
4943         return offset;
4944 }
4945
4946
4947
4948
4949
4950 static const true_false_string tfs_stillImageTransmission_bit = {
4951         "stillImageTransmission bit is SET",
4952         "stillImageTransmission bit is CLEAR"
4953 };
4954 static int
4955 dissect_h245_stillImageTransmission(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4956 {
4957         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_stillImageTransmission, NULL, NULL);
4958
4959         return offset;
4960 }
4961
4962
4963
4964
4965
4966 static const true_false_string tfs_videoBadMBsCap_bit = {
4967         "videoBadMBsCap bit is SET",
4968         "videoBadMBsCap bit is CLEAR"
4969 };
4970 static int
4971 dissect_h245_videoBadMBsCap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4972 {
4973         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoBadMBsCap, NULL, NULL);
4974
4975         return offset;
4976 }
4977
4978
4979
4980
4981
4982 static const true_false_string tfs_profileAndLevelSPatML_bit = {
4983         "profileAndLevelSPatML bit is SET",
4984         "profileAndLevelSPatML bit is CLEAR"
4985 };
4986 static int
4987 dissect_h245_profileAndLevelSPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4988 {
4989         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSPatML, NULL, NULL);
4990
4991         return offset;
4992 }
4993
4994
4995
4996
4997
4998 static const true_false_string tfs_profileAndLevelMPatLL_bit = {
4999         "profileAndLevelMPatLL bit is SET",
5000         "profileAndLevelMPatLL bit is CLEAR"
5001 };
5002 static int
5003 dissect_h245_profileAndLevelMPatLL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5004 {
5005         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatLL, NULL, NULL);
5006
5007         return offset;
5008 }
5009
5010
5011
5012
5013
5014 static const true_false_string tfs_profileAndLevelMPatML_bit = {
5015         "profileAndLevelMPatML bit is SET",
5016         "profileAndLevelMPatML bit is CLEAR"
5017 };
5018 static int
5019 dissect_h245_profileAndLevelMPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5020 {
5021         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatML, NULL, NULL);
5022
5023         return offset;
5024 }
5025
5026
5027
5028
5029
5030 static const true_false_string tfs_profileAndLevelMPatH14_bit = {
5031         "profileAndLevelMPatH14 bit is SET",
5032         "profileAndLevelMPatH14 bit is CLEAR"
5033 };
5034 static int
5035 dissect_h245_profileAndLevelMPatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5036 {
5037         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatH14, NULL, NULL);
5038
5039         return offset;
5040 }
5041
5042
5043
5044
5045
5046 static const true_false_string tfs_profileAndLevelMPatHL_bit = {
5047         "profileAndLevelMPatHL bit is SET",
5048         "profileAndLevelMPatHL bit is CLEAR"
5049 };
5050 static int
5051 dissect_h245_profileAndLevelMPatHL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5052 {
5053         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatHL, NULL, NULL);
5054
5055         return offset;
5056 }
5057
5058
5059
5060
5061
5062 static const true_false_string tfs_profileAndLevelSNRatLL_bit = {
5063         "profileAndLevelSNRatLL bit is SET",
5064         "profileAndLevelSNRatLL bit is CLEAR"
5065 };
5066 static int
5067 dissect_h245_profileAndLevelSNRatLL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5068 {
5069         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSNRatLL, NULL, NULL);
5070
5071         return offset;
5072 }
5073
5074
5075
5076
5077
5078 static const true_false_string tfs_profileAndLevelSNRatML_bit = {
5079         "profileAndLevelSNRatML bit is SET",
5080         "profileAndLevelSNRatML bit is CLEAR"
5081 };
5082 static int
5083 dissect_h245_profileAndLevelSNRatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5084 {
5085         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSNRatML, NULL, NULL);
5086
5087         return offset;
5088 }
5089
5090
5091
5092
5093
5094 static const true_false_string tfs_profileAndLevelSpatialatH14_bit = {
5095         "profileAndLevelSpatialatH14 bit is SET",
5096         "profileAndLevelSpatialatH14 bit is CLEAR"
5097 };
5098 static int
5099 dissect_h245_profileAndLevelSpatialatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5100 {
5101         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSpatialatH14, NULL, NULL);
5102
5103         return offset;
5104 }
5105
5106
5107
5108
5109
5110 static const true_false_string tfs_profileAndLevelHPatML_bit = {
5111         "profileAndLevelHPatML bit is SET",
5112         "profileAndLevelHPatML bit is CLEAR"
5113 };
5114 static int
5115 dissect_h245_profileAndLevelHPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5116 {
5117         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatML, NULL, NULL);
5118
5119         return offset;
5120 }
5121
5122
5123
5124
5125 static const true_false_string tfs_profileAndLevelHPatH14_bit = {
5126         "profileAndLevelHPatH14 bit is SET",
5127         "profileAndLevelHPatH14 bit is CLEAR"
5128 };
5129 static int
5130 dissect_h245_profileAndLevelHPatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5131 {
5132         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatH14, NULL, NULL);
5133
5134         return offset;
5135 }
5136
5137
5138
5139
5140
5141 static const true_false_string tfs_profileAndLevelHPatHL_bit = {
5142         "profileAndLevelHPatHL bit is SET",
5143         "profileAndLevelHPatHL bit is CLEAR"
5144 };
5145 static int
5146 dissect_h245_profileAndLevelHPatHL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5147 {
5148         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatHL, NULL, NULL);
5149
5150         return offset;
5151 }
5152
5153
5154
5155
5156
5157 static const true_false_string tfs_unrestrictedVector_bit = {
5158         "unrestrictedVector bit is SET",
5159         "unrestrictedVector bit is CLEAR"
5160 };
5161 static int
5162 dissect_h245_unrestrictedVector(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5163 {
5164         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_unrestrictedVector, NULL, NULL);
5165
5166         return offset;
5167 }
5168
5169
5170
5171
5172
5173 static const true_false_string tfs_arithmeticCoding_bit = {
5174         "arithmeticCoding bit is SET",
5175         "arithmeticCoding bit is CLEAR"
5176 };
5177 static int
5178 dissect_h245_arithmeticCoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5179 {
5180         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_arithmeticCoding, NULL, NULL);
5181
5182         return offset;
5183 }
5184
5185
5186
5187
5188
5189 static const true_false_string tfs_advancedPrediction_bit = {
5190         "advancedPrediction bit is SET",
5191         "advancedPrediction bit is CLEAR"
5192 };
5193 static int
5194 dissect_h245_advancedPrediction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5195 {
5196         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_advancedPrediction, NULL, NULL);
5197
5198         return offset;
5199 }
5200
5201
5202
5203
5204
5205 static const true_false_string tfs_pbFrames_bit = {
5206         "pbFrames bit is SET",
5207         "pbFrames bit is CLEAR"
5208 };
5209 static int
5210 dissect_h245_pbFrames(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5211 {
5212         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_pbFrames, NULL, NULL);
5213
5214         return offset;
5215 }
5216
5217
5218
5219
5220
5221 static const true_false_string tfs_errorCompensation_bit = {
5222         "errorCompensation bit is SET",
5223         "errorCompensation bit is CLEAR"
5224 };
5225 static int
5226 dissect_h245_errorCompensation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5227 {
5228         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_errorCompensation, NULL, NULL);
5229
5230         return offset;
5231 }
5232
5233
5234
5235
5236
5237
5238 static const true_false_string tfs_baseBitRateConstrained_bit = {
5239         "baseBitRateConstrained bit is SET",
5240         "baseBitRateConstrained bit is CLEAR"
5241 };
5242 static int
5243 dissect_h245_baseBitRateConstrained(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5244 {
5245         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_baseBitRateConstrained, NULL, NULL);
5246
5247         return offset;
5248 }
5249
5250
5251
5252
5253
5254 static const true_false_string tfs_advancedIntraCodingMode_bit = {
5255         "advancedIntraCodingMode bit is SET",
5256         "advancedIntraCodingMode bit is CLEAR"
5257 };
5258 static int
5259 dissect_h245_advancedIntraCodingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5260 {
5261         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_advancedIntraCodingMode, NULL, NULL);
5262
5263         return offset;
5264 }
5265
5266
5267
5268
5269 static const true_false_string tfs_deblockingFilterMode_bit = {
5270         "deblockingFilterMode bit is SET",
5271         "deblockingFilterMode bit is CLEAR"
5272 };
5273 static int
5274 dissect_h245_deblockingFilterMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5275 {
5276         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_deblockingFilterMode, NULL, NULL);
5277
5278         return offset;
5279 }
5280
5281
5282
5283
5284
5285 static const true_false_string tfs_improvedPBFramesMode_bit = {
5286         "improvedPBFramesMode bit is SET",
5287         "improvedPBFramesMode bit is CLEAR"
5288 };
5289 static int
5290 dissect_h245_improvedPBFramesMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5291 {
5292         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_improvedPBFramesMode, NULL, NULL);
5293
5294         return offset;
5295 }
5296
5297
5298
5299
5300 static const true_false_string tfs_unlimitedMotionVectors_bit = {
5301         "unlimitedMotionVectors bit is SET",
5302         "unlimitedMotionVectors bit is CLEAR"
5303 };
5304 static int
5305 dissect_h245_unlimitedMotionVectors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5306 {
5307         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_unlimitedMotionVectors, NULL, NULL);
5308
5309         return offset;
5310 }
5311
5312
5313
5314
5315
5316 static const true_false_string tfs_fullPictureFreeze_bit = {
5317         "fullPictureFreeze bit is SET",
5318         "fullPictureFreeze bit is CLEAR"
5319 };
5320 static int
5321 dissect_h245_fullPictureFreeze(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5322 {
5323         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fullPictureFreeze, NULL, NULL);
5324
5325         return offset;
5326 }
5327
5328
5329
5330
5331
5332 static const true_false_string tfs_partialPictureFreezeAndRelease_bit = {
5333         "partialPictureFreezeAndRelease bit is SET",
5334         "partialPictureFreezeAndRelease bit is CLEAR"
5335 };
5336 static int
5337 dissect_h245_partialPictureFreezeAndRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5338 {
5339         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partialPictureFreezeAndRelease, NULL, NULL);
5340
5341         return offset;
5342 }
5343
5344
5345
5346
5347 static const true_false_string tfs_resizingPartPicFreezeAndRelease_bit = {
5348         "resizingPartPicFreezeAndRelease bit is SET",
5349         "resizingPartPicFreezeAndRelease bit is CLEAR"
5350 };
5351 static int
5352 dissect_h245_resizingPartPicFreezeAndRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5353 {
5354         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_resizingPartPicFreezeAndRelease, NULL, NULL);
5355
5356         return offset;
5357 }
5358
5359
5360
5361
5362 static const true_false_string tfs_fullPictureSnapshot_bit = {
5363         "fullPictureSnapshot bit is SET",
5364         "fullPictureSnapshot bit is CLEAR"
5365 };
5366 static int
5367 dissect_h245_fullPictureSnapshot(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5368 {
5369         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fullPictureSnapshot, NULL, NULL);
5370
5371         return offset;
5372 }
5373
5374
5375
5376
5377
5378 static const true_false_string tfs_partialPictureSnapshot_bit = {
5379         "partialPictureSnapshot bit is SET",
5380         "partialPictureSnapshot bit is CLEAR"
5381 };
5382 static int
5383 dissect_h245_partialPictureSnapshot(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5384 {
5385         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partialPictureSnapshot, NULL, NULL);
5386
5387         return offset;
5388 }
5389
5390
5391
5392
5393 static const true_false_string tfs_videoSegmentTagging_bit = {
5394         "videoSegmentTagging bit is SET",
5395         "videoSegmentTagging bit is CLEAR"
5396 };
5397 static int
5398 dissect_h245_videoSegmentTagging(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5399 {
5400         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoSegmentTagging, NULL, NULL);
5401
5402         return offset;
5403 }
5404
5405
5406
5407
5408
5409 static const true_false_string tfs_progressiveRefinement_bit = {
5410         "progressiveRefinement bit is SET",
5411         "progressiveRefinement bit is CLEAR"
5412 };
5413 static int
5414 dissect_h245_progressiveRefinement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5415 {
5416         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_progressiveRefinement, NULL, NULL);
5417
5418         return offset;
5419 }
5420
5421
5422
5423
5424
5425 static const true_false_string tfs_dynamicPictureResizingByFour_bit = {
5426         "dynamicPictureResizingByFour bit is SET",
5427         "dynamicPictureResizingByFour bit is CLEAR"
5428 };
5429 static int
5430 dissect_h245_dynamicPictureResizingByFour(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5431 {
5432         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicPictureResizingByFour, NULL, NULL);
5433
5434         return offset;
5435 }
5436
5437
5438
5439
5440 static const true_false_string tfs_dynamicPictureResizingSixteenthPel_bit = {
5441         "dynamicPictureResizingSixteenthPel bit is SET",
5442         "dynamicPictureResizingSixteenthPel bit is CLEAR"
5443 };
5444 static int
5445 dissect_h245_dynamicPictureResizingSixteenthPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5446 {
5447         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicPictureResizingSixteenthPel, NULL, NULL);
5448
5449         return offset;
5450 }
5451
5452
5453
5454
5455
5456 static const true_false_string tfs_dynamicWarpingHalfPel_bit = {
5457         "dynamicWarpingHalfPel bit is SET",
5458         "dynamicWarpingHalfPel bit is CLEAR"
5459 };
5460 static int
5461 dissect_h245_dynamicWarpingHalfPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5462 {
5463         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicWarpingHalfPel, NULL, NULL);
5464
5465         return offset;
5466 }
5467
5468
5469
5470
5471
5472 static const true_false_string tfs_dynamicWarpingSixteenthPel_bit = {
5473         "dynamicWarpingSixteenthPel bit is SET",
5474         "dynamicWarpingSixteenthPel bit is CLEAR"
5475 };
5476 static int
5477 dissect_h245_dynamicWarpingSixteenthPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5478 {
5479         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicWarpingSixteenthPel, NULL, NULL);
5480
5481         return offset;
5482 }
5483
5484
5485
5486
5487
5488 static const true_false_string tfs_independentSegmentDecoding_bit = {
5489         "independentSegmentDecoding bit is SET",
5490         "independentSegmentDecoding bit is CLEAR"
5491 };
5492 static int
5493 dissect_h245_independentSegmentDecoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5494 {
5495         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_independentSegmentDecoding, NULL, NULL);
5496
5497         return offset;
5498 }
5499
5500
5501
5502
5503
5504 static const true_false_string tfs_slicesInOrderNonRect_bit = {
5505         "slicesInOrderNonRect bit is SET",
5506         "slicesInOrderNonRect bit is CLEAR"
5507 };
5508 static int
5509 dissect_h245_slicesInOrderNonRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5510 {
5511         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesInOrderNonRect, NULL, NULL);
5512
5513         return offset;
5514 }
5515
5516
5517
5518
5519
5520 static const true_false_string tfs_slicesInOrderRect_bit = {
5521         "slicesInOrderRect bit is SET",
5522         "slicesInOrderRect bit is CLEAR"
5523 };
5524 static int
5525 dissect_h245_slicesInOrderRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5526 {
5527         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesInOrderRect, NULL, NULL);
5528
5529         return offset;
5530 }
5531
5532
5533
5534
5535
5536 static const true_false_string tfs_slicesNoOrderNonRect_bit = {
5537         "slicesNoOrderNonRect bit is SET",
5538         "slicesNoOrderNonRect bit is CLEAR"
5539 };
5540 static int
5541 dissect_h245_slicesNoOrderNonRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5542 {
5543         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesNoOrderNonRect, NULL, NULL);
5544
5545         return offset;
5546 }
5547
5548
5549
5550
5551
5552 static const true_false_string tfs_slicesNoOrderRect_bit = {
5553         "slicesNoOrderRect bit is SET",
5554         "slicesNoOrderRect bit is CLEAR"
5555 };
5556 static int
5557 dissect_h245_slicesNoOrderRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5558 {
5559         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesNoOrderRect, NULL, NULL);
5560
5561         return offset;
5562 }
5563
5564
5565
5566
5567
5568 static const true_false_string tfs_alternateInterVLCMode_bit = {
5569         "alternateInterVLCMode bit is SET",
5570         "alternateInterVLCMode bit is CLEAR"
5571 };
5572 static int
5573 dissect_h245_alternateInterVLCMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5574 {
5575         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alternateInterVLCMode, NULL, NULL);
5576
5577         return offset;
5578 }
5579
5580
5581
5582
5583
5584 static const true_false_string tfs_modifiedQuantizationMode_bit = {
5585         "modifiedQuantizationMode bit is SET",
5586         "modifiedQuantizationMode bit is CLEAR"
5587 };
5588 static int
5589 dissect_h245_modifiedQuantizationMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5590 {
5591         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_modifiedQuantizationMode, NULL, NULL);
5592
5593         return offset;
5594 }
5595
5596
5597
5598
5599
5600 static const true_false_string tfs_reducedResolutionUpdate_bit = {
5601         "reducedResolutionUpdate bit is SET",
5602         "reducedResolutionUpdate bit is CLEAR"
5603 };
5604 static int
5605 dissect_h245_reducedResolutionUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5606 {
5607         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_reducedResolutionUpdate, NULL, NULL);
5608
5609         return offset;
5610 }
5611
5612
5613
5614
5615
5616 static const true_false_string tfs_separateVideoBackChannel_bit = {
5617         "separateVideoBackChannel bit is SET",
5618         "separateVideoBackChannel bit is CLEAR"
5619 };
5620 static int
5621 dissect_h245_separateVideoBackChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5622 {
5623         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_separateVideoBackChannel, NULL, NULL);
5624
5625         return offset;
5626 }
5627
5628
5629
5630
5631
5632 static const true_false_string tfs_videoMux_bit = {
5633         "videoMux bit is SET",
5634         "videoMux bit is CLEAR"
5635 };
5636 static int
5637 dissect_h245_videoMux(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5638 {
5639         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoMux, NULL, NULL);
5640
5641         return offset;
5642 }
5643
5644
5645
5646
5647
5648 static const true_false_string tfs_anyPixelAspectRatio_bit = {
5649         "anyPixelAspectRatio bit is SET",
5650         "anyPixelAspectRatio bit is CLEAR"
5651 };
5652 static int
5653 dissect_h245_anyPixelAspectRatio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5654 {
5655         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_anyPixelAspectRatio, NULL, NULL);
5656
5657         return offset;
5658 }
5659
5660
5661
5662
5663
5664 static const true_false_string tfs_referencePicSelect_bit = {
5665         "referencePicSelect bit is SET",
5666         "referencePicSelect bit is CLEAR"
5667 };
5668 static int
5669 dissect_h245_referencePicSelect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5670 {
5671         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_referencePicSelect, NULL, NULL);
5672
5673         return offset;
5674 }
5675
5676
5677
5678
5679
5680 static const true_false_string tfs_enhancedReferencePicSelect_bool_bit = {
5681         "enhancedReferencePicSelect_bool bit is SET",
5682         "enhancedReferencePicSelect_bool bit is CLEAR"
5683 };
5684 static int
5685 dissect_h245_enhancedReferencePicSelect_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5686 {
5687         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_enhancedReferencePicSelect_bool, NULL, NULL);
5688
5689         return offset;
5690 }
5691
5692
5693
5694
5695
5696 static const true_false_string tfs_dataPartitionedSlices_bit = {
5697         "dataPartitionedSlices bit is SET",
5698         "dataPartitionedSlices bit is CLEAR"
5699 };
5700 static int
5701 dissect_h245_dataPartitionedSlices(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5702 {
5703         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataPartitionedSlices, NULL, NULL);
5704
5705         return offset;
5706 }
5707
5708
5709
5710
5711
5712 static const true_false_string tfs_fixedPointIDCT0_bit = {
5713         "fixedPointIDCT0 bit is SET",
5714         "fixedPointIDCT0 bit is CLEAR"
5715 };
5716 static int
5717 dissect_h245_fixedPointIDCT0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5718 {
5719         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fixedPointIDCT0, NULL, NULL);
5720
5721         return offset;
5722 }
5723
5724
5725
5726
5727
5728 static const true_false_string tfs_interlacedFields_bit = {
5729         "interlacedFields bit is SET",
5730         "interlacedFields bit is CLEAR"
5731 };
5732 static int
5733 dissect_h245_interlacedFields(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5734 {
5735         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_interlacedFields, NULL, NULL);
5736
5737         return offset;
5738 }
5739
5740
5741
5742
5743
5744 static const true_false_string tfs_currentPictureHeaderRepetition_bit = {
5745         "currentPictureHeaderRepetition bit is SET",
5746         "currentPictureHeaderRepetition bit is CLEAR"
5747 };
5748 static int
5749 dissect_h245_currentPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5750 {
5751         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_currentPictureHeaderRepetition, NULL, NULL);
5752
5753         return offset;
5754 }
5755
5756
5757
5758
5759
5760 static const true_false_string tfs_previousPictureHeaderRepetition_bit = {
5761         "previousPictureHeaderRepetition bit is SET",
5762         "previousPictureHeaderRepetition bit is CLEAR"
5763 };
5764 static int
5765 dissect_h245_previousPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5766 {
5767         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_previousPictureHeaderRepetition, NULL, NULL);
5768
5769         return offset;
5770 }
5771
5772
5773
5774
5775
5776 static const true_false_string tfs_nextPictureHeaderRepetition_bit = {
5777         "nextPictureHeaderRepetition bit is SET",
5778         "nextPictureHeaderRepetition bit is CLEAR"
5779 };
5780 static int
5781 dissect_h245_nextPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5782 {
5783         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nextPictureHeaderRepetition, NULL, NULL);
5784
5785         return offset;
5786 }
5787
5788
5789
5790
5791
5792 static const true_false_string tfs_pictureNumber_bool_bit = {
5793         "pictureNumber_bool bit is SET",
5794         "pictureNumber_bool bit is CLEAR"
5795 };
5796 static int
5797 dissect_h245_pictureNumber_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5798 {
5799         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_pictureNumber_bool, NULL, NULL);
5800
5801         return offset;
5802 }
5803
5804
5805
5806
5807
5808 static const true_false_string tfs_spareReferencePictures_bit = {
5809         "spareReferencePictures bit is SET",
5810         "spareReferencePictures bit is CLEAR"
5811 };
5812 static int
5813 dissect_h245_spareReferencePictures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5814 {
5815         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_spareReferencePictures, NULL, NULL);
5816
5817         return offset;
5818 }
5819
5820
5821
5822 static per_sequence_t H263Version3Options_sequence[] = {
5823         { "dataPartitionedSlices", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5824                 dissect_h245_dataPartitionedSlices },
5825         { "fixedPointIDCTO", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5826                 dissect_h245_fixedPointIDCT0 },
5827         { "interlacedFields", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5828                 dissect_h245_interlacedFields},
5829         { "currentPictureHeaderRepetition", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5830                 dissect_h245_currentPictureHeaderRepetition },
5831         { "previousPictureHeaderRepetition", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5832                 dissect_h245_previousPictureHeaderRepetition },
5833         { "nextPictureHeaderRepetition", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5834                 dissect_h245_nextPictureHeaderRepetition },
5835         { "pictureNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5836                 dissect_h245_pictureNumber_bool },
5837         { "spareReferencePictures", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5838                 dissect_h245_spareReferencePictures },
5839         { NULL, 0, 0, NULL }
5840 };
5841 static int
5842 dissect_h245_H263Version3Options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5843 {
5844         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263Version3Options, ett_h245_H263Version3Options, H263Version3Options_sequence);
5845
5846         return offset;
5847 }
5848
5849
5850
5851
5852
5853 static per_sequence_t H263ModeComboFlags_sequence[] = {
5854         { "unrestrictedVector", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5855                 dissect_h245_unrestrictedVector },
5856         { "arithmeticCoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5857                 dissect_h245_arithmeticCoding },
5858         { "advancedPrediction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5859                 dissect_h245_advancedPrediction },
5860         { "pbFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5861                 dissect_h245_pbFrames },
5862         { "advancedIntraCodingMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5863                 dissect_h245_advancedIntraCodingMode },
5864         { "deblockingFilterMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5865                 dissect_h245_deblockingFilterMode },
5866         { "unlimitedMotionVectors", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5867                 dissect_h245_unlimitedMotionVectors },
5868         { "slicesInOrder-NonRect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5869                 dissect_h245_slicesInOrderNonRect },
5870         { "slicesInOrder-Rect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5871                 dissect_h245_slicesInOrderRect },
5872         { "slicesNoOrder-NonRect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5873                 dissect_h245_slicesNoOrderNonRect },
5874         { "slicesNoOrder-Rect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5875                 dissect_h245_slicesNoOrderRect },
5876         { "improvedPBFramesMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5877                 dissect_h245_improvedPBFramesMode },
5878         { "referencePicSelect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5879                 dissect_h245_referencePicSelect },
5880         { "dynamicPictureResizingByFour", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5881                 dissect_h245_dynamicPictureResizingByFour },
5882         { "dynamicPictureResizingSixteenthPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5883                 dissect_h245_dynamicPictureResizingSixteenthPel },
5884         { "dynamicWarpingHalfPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5885                 dissect_h245_dynamicWarpingHalfPel },
5886         { "dynamicWarpingSixteenthPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5887                 dissect_h245_dynamicWarpingSixteenthPel },
5888         { "reducedResolutionUpdate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5889                 dissect_h245_reducedResolutionUpdate },
5890         { "independentSegmentDecoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5891                 dissect_h245_independentSegmentDecoding },
5892         { "alternateInterVLCMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5893                 dissect_h245_alternateInterVLCMode },
5894         { "modifiedQuantizationMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5895                 dissect_h245_modifiedQuantizationMode },
5896         { "enhancedReferencePicSelect", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5897                 dissect_h245_enhancedReferencePicSelect_bool },
5898         { "h263Version3Options", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5899                 dissect_h245_H263Version3Options },
5900         { NULL, 0, 0, NULL }
5901 };
5902 static int
5903 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5904 {
5905         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263ModeComboFlags, ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5906
5907         return offset;
5908 }
5909
5910
5911
5912
5913
5914 static const true_false_string tfs_constrainedBitstream_bit = {
5915         "constrainedBitstream bit is SET",
5916         "constrainedBitstream bit is CLEAR"
5917 };
5918 static int
5919 dissect_h245_constrainedBitstream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5920 {
5921         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_constrainedBitstream, NULL, NULL);
5922
5923         return offset;
5924 }
5925
5926
5927
5928
5929
5930 static const true_false_string tfs_silenceSuppression_bit = {
5931         "silenceSuppression bit is SET",
5932         "silenceSuppression bit is CLEAR"
5933 };
5934 static int
5935 dissect_h245_silenceSuppression(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5936 {
5937         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_silenceSuppression, NULL, NULL);
5938
5939         return offset;
5940 }
5941
5942
5943
5944
5945
5946 static const true_false_string tfs_annexA_bit = {
5947         "annexA bit is SET",
5948         "annexA bit is CLEAR"
5949 };
5950 static int
5951 dissect_h245_annexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5952 {
5953         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexA, NULL, NULL);
5954
5955         return offset;
5956 }
5957
5958
5959
5960
5961
5962 static const true_false_string tfs_annexB_bit = {
5963         "annexB bit is SET",
5964         "annexB bit is CLEAR"
5965 };
5966 static int
5967 dissect_h245_annexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5968 {
5969         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexB, NULL, NULL);
5970
5971         return offset;
5972 }
5973
5974
5975
5976
5977
5978 static const true_false_string tfs_annexD_bit = {
5979         "annexD bit is SET",
5980         "annexD bit is CLEAR"
5981 };
5982 static int
5983 dissect_h245_annexD(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5984 {
5985         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexD, NULL, NULL);
5986
5987         return offset;
5988 }
5989
5990
5991
5992
5993
5994 static const true_false_string tfs_annexE_bit = {
5995         "annexE bit is SET",
5996         "annexE bit is CLEAR"
5997 };
5998 static int
5999 dissect_h245_annexE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6000 {
6001         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexE, NULL, NULL);
6002
6003         return offset;
6004 }
6005
6006
6007
6008
6009
6010 static const true_false_string tfs_annexF_bit = {
6011         "annexF bit is SET",
6012         "annexF bit is CLEAR"
6013 };
6014 static int
6015 dissect_h245_annexF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6016 {
6017         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexF, NULL, NULL);
6018
6019         return offset;
6020 }
6021
6022
6023
6024
6025
6026 static const true_false_string tfs_annexG_bit = {
6027         "annexG bit is SET",
6028         "annexG bit is CLEAR"
6029 };
6030 static int
6031 dissect_h245_annexG(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6032 {
6033         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexG, NULL, NULL);
6034
6035         return offset;
6036 }
6037
6038
6039
6040
6041
6042 static const true_false_string tfs_annexH_bit = {
6043         "annexH bit is SET",
6044         "annexH bit is CLEAR"
6045 };
6046 static int
6047 dissect_h245_annexH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6048 {
6049         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexH, NULL, NULL);
6050
6051         return offset;
6052 }
6053
6054
6055
6056
6057
6058 static const true_false_string tfs_audioLayer1_bit = {
6059         "audioLayer1 bit is SET",
6060         "audioLayer1 bit is CLEAR"
6061 };
6062 static int
6063 dissect_h245_audioLayer1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6064 {
6065         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer1, NULL, NULL);
6066
6067         return offset;
6068 }
6069
6070
6071
6072
6073
6074 static const true_false_string tfs_audioLayer2_bit = {
6075         "audioLayer2 bit is SET",
6076         "audioLayer2 bit is CLEAR"
6077 };
6078 static int
6079 dissect_h245_audioLayer2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6080 {
6081         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer2, NULL, NULL);
6082
6083         return offset;
6084 }
6085
6086
6087
6088
6089
6090 static const true_false_string tfs_audioLayer3_bit = {
6091         "audioLayer3 bit is SET",
6092         "audioLayer3 bit is CLEAR"
6093 };
6094 static int
6095 dissect_h245_audioLayer3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6096 {
6097         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer3, NULL, NULL);
6098
6099         return offset;
6100 }
6101
6102
6103
6104
6105
6106 static const true_false_string tfs_audioSampling32k_bit = {
6107         "audioSampling32k bit is SET",
6108         "audioSampling32k bit is CLEAR"
6109 };
6110 static int
6111 dissect_h245_audioSampling32k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6112 {
6113         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling32k, NULL, NULL);
6114
6115         return offset;
6116 }
6117
6118
6119
6120
6121
6122 static const true_false_string tfs_audioSampling44k1_bit = {
6123         "audioSampling44k1 bit is SET",
6124         "audioSampling44k1 bit is CLEAR"
6125 };
6126 static int
6127 dissect_h245_audioSampling44k1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6128 {
6129         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling44k1, NULL, NULL);
6130
6131         return offset;
6132 }
6133
6134
6135
6136
6137
6138 static const true_false_string tfs_audioSampling48k_bit = {
6139         "audioSampling48k bit is SET",
6140         "audioSampling48k bit is CLEAR"
6141 };
6142 static int
6143 dissect_h245_audioSampling48k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6144 {
6145         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling48k, NULL, NULL);
6146
6147         return offset;
6148 }
6149
6150
6151
6152
6153
6154 static const true_false_string tfs_singleChannel_bit = {
6155         "singleChannel bit is SET",
6156         "singleChannel bit is CLEAR"
6157 };
6158 static int
6159 dissect_h245_singleChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6160 {
6161         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_singleChannel, NULL, NULL);
6162
6163         return offset;
6164 }
6165
6166
6167
6168
6169
6170 static const true_false_string tfs_twoChannels_bit = {
6171         "twoChannels bit is SET",
6172         "twoChannels bit is CLEAR"
6173 };
6174 static int
6175 dissect_h245_twoChannels(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6176 {
6177         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_twoChannels, NULL, NULL);
6178
6179         return offset;
6180 }
6181
6182
6183
6184
6185
6186 static const true_false_string tfs_audioSampling16k_bit = {
6187         "audioSampling16k bit is SET",
6188         "audioSampling16k bit is CLEAR"
6189 };
6190 static int
6191 dissect_h245_audioSampling16k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6192 {
6193         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling16k, NULL, NULL);
6194
6195         return offset;
6196 }
6197
6198
6199
6200
6201
6202 static const true_false_string tfs_audioSampling22k05_bit = {
6203         "audioSampling22k05 bit is SET",
6204         "audioSampling22k05 bit is CLEAR"
6205 };
6206 static int
6207 dissect_h245_audioSampling22k05(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6208 {
6209         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling22k05, NULL, NULL);
6210
6211         return offset;
6212 }
6213
6214
6215
6216
6217
6218 static const true_false_string tfs_audioSampling24k_bit = {
6219         "audioSampling24k bit is SET",
6220         "audioSampling24k bit is CLEAR"
6221 };
6222 static int
6223 dissect_h245_audioSampling24k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6224 {
6225         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling24k, NULL, NULL);
6226
6227         return offset;
6228 }
6229
6230
6231
6232
6233
6234 static const true_false_string tfs_threeChannels21_bit = {
6235         "threeChannels21 bit is SET",
6236         "threeChannels21 bit is CLEAR"
6237 };
6238 static int
6239 dissect_h245_threeChannels21(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6240 {
6241         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_threeChannels21, NULL, NULL);
6242
6243         return offset;
6244 }
6245
6246
6247
6248
6249
6250 static const true_false_string tfs_threeChannels30_bit = {
6251         "threeChannels30 bit is SET",
6252         "threeChannels30 bit is CLEAR"
6253 };
6254 static int
6255 dissect_h245_threeChannels30(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6256 {
6257         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_threeChannels30, NULL, NULL);
6258
6259         return offset;
6260 }
6261
6262
6263
6264
6265
6266 static const true_false_string tfs_fourChannels2020_bit = {
6267         "fourChannels2020 bit is SET",
6268         "fourChannels2020 bit is CLEAR"
6269 };
6270 static int
6271 dissect_h245_fourChannels2020(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6272 {
6273         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels2020, NULL, NULL);
6274
6275         return offset;
6276 }
6277
6278
6279
6280
6281
6282 static const true_false_string tfs_fourChannels22_bit = {
6283         "fourChannels22 bit is SET",
6284         "fourChannels22 bit is CLEAR"
6285 };
6286 static int
6287 dissect_h245_fourChannels22(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6288 {
6289         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels22, NULL, NULL);
6290
6291         return offset;
6292 }
6293
6294
6295
6296
6297
6298 static const true_false_string tfs_fourChannels31_bit = {
6299         "fourChannels31 bit is SET",
6300         "fourChannels31 bit is CLEAR"
6301 };
6302 static int
6303 dissect_h245_fourChannels31(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6304 {
6305         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels31, NULL, NULL);
6306
6307         return offset;
6308 }
6309
6310
6311
6312
6313
6314 static const true_false_string tfs_fiveChannels3020_bit = {
6315         "fiveChannels3020 bit is SET",
6316         "fiveChannels3020 bit is CLEAR"
6317 };
6318 static int
6319 dissect_h245_fiveChannels3020(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6320 {
6321         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fiveChannels3020, NULL, NULL);
6322
6323         return offset;
6324 }
6325
6326
6327
6328
6329
6330 static const true_false_string tfs_fiveChannels32_bit = {
6331         "fiveChannels32 bit is SET",
6332         "fiveChannels32 bit is CLEAR"
6333 };
6334 static int
6335 dissect_h245_fiveChannels32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6336 {
6337         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fiveChannels32, NULL, NULL);
6338
6339         return offset;
6340 }
6341
6342
6343
6344
6345
6346 static const true_false_string tfs_lowFrequencyEnhancement_bit = {
6347         "lowFrequencyEnhancement bit is SET",
6348         "lowFrequencyEnhancement bit is CLEAR"
6349 };
6350 static int
6351 dissect_h245_lowFrequencyEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6352 {
6353         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_lowFrequencyEnhancement, NULL, NULL);
6354
6355         return offset;
6356 }
6357
6358
6359
6360
6361
6362 static const true_false_string tfs_multilingual_bit = {
6363         "multilingual bit is SET",
6364         "multilingual bit is CLEAR"
6365 };
6366 static int
6367 dissect_h245_multilingual(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6368 {
6369         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multilingual, NULL, NULL);
6370
6371         return offset;
6372 }
6373
6374
6375
6376
6377
6378 static const true_false_string tfs_comfortNoise_bit = {
6379         "comfortNoise bit is SET",
6380         "comfortNoise bit is CLEAR"
6381 };
6382 static int
6383 dissect_h245_comfortNoise(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6384 {
6385         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_comfortNoise, NULL, NULL);
6386
6387         return offset;
6388 }
6389
6390
6391
6392
6393 static const true_false_string tfs_scrambled_bit = {
6394         "scrambled bit is SET",
6395         "scrambled bit is CLEAR"
6396 };
6397 static int
6398 dissect_h245_scrambled(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6399 {
6400         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_scrambled, NULL, NULL);
6401
6402         return offset;
6403 }
6404
6405
6406
6407
6408
6409 static const true_false_string tfs_qcif_bool_bit = {
6410         "qcif_bool bit is SET",
6411         "qcif_bool bit is CLEAR"
6412 };
6413 static int
6414 dissect_h245_qcif_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6415 {
6416         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_qcif_bool, NULL, NULL);
6417
6418         return offset;
6419 }
6420
6421
6422
6423
6424
6425 static const true_false_string tfs_cif_bool_bit = {
6426         "cif_bool bit is SET",
6427         "cif_bool bit is CLEAR"
6428 };
6429 static int
6430 dissect_h245_cif_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6431 {
6432         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_cif_bool, NULL, NULL);
6433
6434         return offset;
6435 }
6436
6437
6438
6439
6440
6441 static const true_false_string tfs_ccir601Seq_bit = {
6442         "ccir601Seq bit is SET",
6443         "ccir601Seq bit is CLEAR"
6444 };
6445 static int
6446 dissect_h245_ccir601Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6447 {
6448         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_ccir601Seq, NULL, NULL);
6449
6450         return offset;
6451 }
6452
6453
6454
6455
6456
6457 static const true_false_string tfs_ccir601Prog_bit = {
6458         "ccir601Prog bit is SET",
6459         "ccir601Prog bit is CLEAR"
6460 };
6461 static int
6462 dissect_h245_ccir601Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6463 {
6464         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_ccir601Prog, NULL, NULL);
6465
6466         return offset;
6467 }
6468
6469
6470
6471
6472
6473 static const true_false_string tfs_hdtvSeq_bit = {
6474         "hdtvSeq bit is SET",
6475         "hdtvSeq bit is CLEAR"
6476 };
6477 static int
6478 dissect_h245_hdtvSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6479 {
6480         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_hdtvSeq, NULL, NULL);
6481
6482         return offset;
6483 }
6484
6485
6486
6487
6488
6489 static const true_false_string tfs_hdtvProg_bit = {
6490         "hdtvProg bit is SET",
6491         "hdtvProg bit is CLEAR"
6492 };
6493 static int
6494 dissect_h245_hdtvProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6495 {
6496         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_hdtvProg, NULL, NULL);
6497
6498         return offset;
6499 }
6500
6501
6502
6503
6504
6505 static const true_false_string tfs_g3FacsMH200x100_bit = {
6506         "g3FacsMH200x100 bit is SET",
6507         "g3FacsMH200x100 bit is CLEAR"
6508 };
6509 static int
6510 dissect_h245_g3FacsMH200x100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6511 {
6512         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g3FacsMH200x100, NULL, NULL);
6513
6514         return offset;
6515 }
6516
6517
6518
6519
6520
6521
6522 static const true_false_string tfs_g3FacsMH200x200_bit = {
6523         "g3FacsMH200x200 bit is SET",
6524         "g3FacsMH200x200 bit is CLEAR"
6525 };
6526 static int
6527 dissect_h245_g3FacsMH200x200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6528 {
6529         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g3FacsMH200x200, NULL, NULL);
6530
6531         return offset;
6532 }
6533
6534
6535
6536
6537
6538 static const true_false_string tfs_g4FacsMMR200x100_bit = {
6539         "g4FacsMMR200x100 bit is SET",
6540         "g4FacsMMR200x100 bit is CLEAR"
6541 };
6542 static int
6543 dissect_h245_g4FacsMMR200x100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6544 {
6545         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g4FacsMMR200x100, NULL, NULL);
6546
6547         return offset;
6548 }
6549
6550
6551
6552
6553
6554 static const true_false_string tfs_g4FacsMMR200x200_bit = {
6555         "g4FacsMMR200x200 bit is SET",
6556         "g4FacsMMR200x200 bit is CLEAR"
6557 };
6558 static int
6559 dissect_h245_g4FacsMMR200x200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6560 {
6561         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g4FacsMMR200x200, NULL, NULL);
6562
6563         return offset;
6564 }
6565
6566
6567
6568
6569
6570
6571
6572 static const true_false_string tfs_jbig200x200Seq_bit = {
6573         "jbig200x200Seq bit is SET",
6574         "jbig200x200Seq bit is CLEAR"
6575 };
6576 static int
6577 dissect_h245_jbig200x200Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6578 {
6579         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig200x200Seq, NULL, NULL);
6580
6581         return offset;
6582 }
6583
6584
6585
6586
6587
6588 static const true_false_string tfs_jbig200x200Prog_bit = {
6589         "jbig200x200Prog bit is SET",
6590         "jbig200x200Prog bit is CLEAR"
6591 };
6592 static int
6593 dissect_h245_jbig200x200Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6594 {
6595         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig200x200Prog, NULL, NULL);
6596
6597         return offset;
6598 }
6599
6600
6601
6602
6603
6604 static const true_false_string tfs_jbig300x300Seq_bit = {
6605         "jbig300x300Seq bit is SET",
6606         "jbig300x300Seq bit is CLEAR"
6607 };
6608 static int
6609 dissect_h245_jbig300x300Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6610 {
6611         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig300x300Seq, NULL, NULL);
6612
6613         return offset;
6614 }
6615
6616
6617
6618
6619
6620 static const true_false_string tfs_jbig300x300Prog_bit = {
6621         "jbig300x300Prog bit is SET",
6622         "jbig300x300Prog bit is CLEAR"
6623 };
6624 static int
6625 dissect_h245_jbig300x300Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6626 {
6627         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig300x300Prog, NULL, NULL);
6628
6629         return offset;
6630 }
6631
6632
6633
6634
6635
6636 static const true_false_string tfs_digPhotoLow_bit = {
6637         "digPhotoLow bit is SET",
6638         "digPhotoLow bit is CLEAR"
6639 };
6640 static int
6641 dissect_h245_digPhotoLow(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6642 {
6643         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoLow, NULL, NULL);
6644
6645         return offset;
6646 }
6647
6648
6649
6650
6651
6652 static const true_false_string tfs_digPhotoMedSeq_bit = {
6653         "digPhotoMedSeq bit is SET",
6654         "digPhotoMedSeq bit is CLEAR"
6655 };
6656 static int
6657 dissect_h245_digPhotoMedSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6658 {
6659         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoMedSeq, NULL, NULL);
6660
6661         return offset;
6662 }
6663
6664
6665
6666
6667
6668 static const true_false_string tfs_digPhotoMedProg_bit = {
6669         "digPhotoMedProg bit is SET",
6670         "digPhotoMedProg bit is CLEAR"
6671 };
6672 static int
6673 dissect_h245_digPhotoMedProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6674 {
6675         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoMedProg, NULL, NULL);
6676
6677         return offset;
6678 }
6679
6680
6681
6682
6683
6684 static const true_false_string tfs_digPhotoHighSeq_bit = {
6685         "digPhotoHighSeq bit is SET",
6686         "digPhotoHighSeq bit is CLEAR"
6687 };
6688 static int
6689 dissect_h245_digPhotoHighSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6690 {
6691         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoHighSeq, NULL, NULL);
6692
6693         return offset;
6694 }
6695
6696
6697
6698
6699
6700 static const true_false_string tfs_digPhotoHighProg_bit = {
6701         "digPhotoHighProg bit is SET",
6702         "digPhotoHighProg bit is CLEAR"
6703 };
6704 static int
6705 dissect_h245_digPhotoHighProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6706 {
6707         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoHighProg, NULL, NULL);
6708
6709         return offset;
6710 }
6711
6712
6713
6714
6715 static per_sequence_t T84Profile_t84Restricted_sequence[] = {
6716         { "qcif", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6717                 dissect_h245_qcif_bool },
6718         { "cif", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6719                 dissect_h245_cif_bool },
6720         { "ccir601Seq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6721                 dissect_h245_ccir601Seq },
6722         { "ccir601Prog", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6723                 dissect_h245_ccir601Prog },
6724         { "hdtvSeq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6725                 dissect_h245_hdtvSeq },
6726         { "hdtvProg", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6727                 dissect_h245_hdtvProg },
6728         { "g3FacsMH200x100", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6729                 dissect_h245_g3FacsMH200x100 },
6730         { "g3FacsMH200x200", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6731                 dissect_h245_g3FacsMH200x200 },
6732         { "g4FacsMMR200x100", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6733                 dissect_h245_g4FacsMMR200x100 },
6734         { "g4FacsMMR200x200", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6735                 dissect_h245_g4FacsMMR200x200 },
6736         { "jbig200x200Seq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6737                 dissect_h245_jbig200x200Seq },
6738         { "jbig200x200Prog", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6739                 dissect_h245_jbig200x200Prog },
6740         { "jbig300x300Seq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6741                 dissect_h245_jbig300x300Seq },
6742         { "jbig300x300Prog", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6743                 dissect_h245_jbig300x300Prog },
6744         { "digPhotoLow", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6745                 dissect_h245_digPhotoLow },
6746         { "digPhotoMedSeq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6747                 dissect_h245_digPhotoMedSeq },
6748         { "digPhotoMedProg", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6749                 dissect_h245_digPhotoMedProg },
6750         { "digPhotoHighSeq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6751                 dissect_h245_digPhotoHighSeq },
6752         { "digPhotoHighProg", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6753                 dissect_h245_digPhotoHighProg },
6754         { NULL, 0, 0, NULL }
6755 };
6756 static int
6757 dissect_h245_T84Profile_t84Restricted(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6758 {
6759         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T84Profile_t84Restricted, ett_h245_T84Profile_t84Restricted, T84Profile_t84Restricted_sequence);
6760
6761         return offset;
6762 }
6763
6764
6765
6766
6767 static const value_string T84Profile_vals[] = {
6768         {  0, "t84Unrestricted" },
6769         {  1, "t84Restricted" },
6770         {  0, NULL }
6771 };
6772 static per_choice_t T84Profile_choice[] = {
6773         {  0, "t84Unrestricted", ASN1_NO_EXTENSIONS,
6774                         dissect_h245_NULL },
6775         {  1, "t84Restricted", ASN1_NO_EXTENSIONS,
6776                         dissect_h245_T84Profile_t84Restricted },
6777         {  0, NULL, 0, NULL }
6778 };
6779 static int
6780 dissect_h245_T84Profile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6781 {
6782         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T84Profile, ett_h245_T84Profile, T84Profile_choice, "T84Profile", NULL);
6783
6784         return offset;
6785 }
6786
6787
6788
6789
6790
6791 static const true_false_string tfs_fillBitRemoval_bit = {
6792         "fillBitRemoval bit is SET",
6793         "fillBitRemoval bit is CLEAR"
6794 };
6795 static int
6796 dissect_h245_fillBitRemoval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6797 {
6798         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fillBitRemoval, NULL, NULL);
6799
6800         return offset;
6801 }
6802
6803
6804
6805
6806
6807 static const true_false_string tfs_transcodingJBIG_bit = {
6808         "transcodingJBIG bit is SET",
6809         "transcodingJBIG bit is CLEAR"
6810 };
6811 static int
6812 dissect_h245_transcodingJBIG(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6813 {
6814         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transcodingJBIG, NULL, NULL);
6815
6816         return offset;
6817 }
6818
6819
6820
6821
6822
6823 static const true_false_string tfs_transcodingMMR_bit = {
6824         "transcodingMMR bit is SET",
6825         "transcodingMMR bit is CLEAR"
6826 };
6827 static int
6828 dissect_h245_transcodingMMR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6829 {
6830         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transcodingMMR, NULL, NULL);
6831
6832         return offset;
6833 }
6834
6835
6836
6837
6838
6839 static const true_false_string tfs_t38TCPBidirectionalMode_bit = {
6840         "t38TCPBidirectionalMode bit is SET",
6841         "t38TCPBidirectionalMode bit is CLEAR"
6842 };
6843 static int
6844 dissect_h245_t38TCPBidirectionalMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6845 {
6846         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_t38TCPBidirectionalMode, NULL, NULL);
6847
6848         return offset;
6849 }
6850
6851
6852
6853 static per_sequence_t T38FaxTcpOptions_sequence[] = {
6854         { "t38TCPBidirectionalMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6855                 dissect_h245_t38TCPBidirectionalMode },
6856         { NULL, 0, 0, NULL }
6857 };
6858 static int
6859 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6860 {
6861         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxTcpOptions, ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
6862
6863         return offset;
6864 }
6865
6866
6867
6868
6869
6870 static const true_false_string tfs_chairControlCapability_bit = {
6871         "chairControlCapability bit is SET",
6872         "chairControlCapability bit is CLEAR"
6873 };
6874 static int
6875 dissect_h245_chairControlCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6876 {
6877         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_chairControlCapability, NULL, NULL);
6878
6879         return offset;
6880 }
6881
6882
6883
6884
6885
6886
6887 static const true_false_string tfs_videoIndicateMixingCapability_bit = {
6888         "videoIndicateMixingCapability bit is SET",
6889         "videoIndicateMixingCapability bit is CLEAR"
6890 };
6891 static int
6892 dissect_h245_videoIndicateMixingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6893 {
6894         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoIndicateMixingCapability, NULL, NULL);
6895
6896         return offset;
6897 }
6898
6899
6900
6901
6902
6903 static const true_false_string tfs_multipointVisualizationCapability_bit = {
6904         "multipointVisualizationCapability bit is SET",
6905         "multipointVisualizationCapability bit is CLEAR"
6906 };
6907 static int
6908 dissect_h245_multipointVisualizationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6909 {
6910         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multipointVisualizationCapability, NULL, NULL);
6911
6912         return offset;
6913 }
6914
6915
6916
6917
6918
6919 static const true_false_string tfs_controlOnMuxStream_bit = {
6920         "controlOnMuxStream bit is SET",
6921         "controlOnMuxStream bit is CLEAR"
6922 };
6923 static int
6924 dissect_h245_controlOnMuxStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6925 {
6926         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_controlOnMuxStream, NULL, NULL);
6927
6928         return offset;
6929 }
6930
6931
6932
6933
6934
6935 static const true_false_string tfs_redundancyEncoding_bool_bit = {
6936         "redundancyEncoding_bool bit is SET",
6937         "redundancyEncoding_bool bit is CLEAR"
6938 };
6939 static int
6940 dissect_h245_redundancyEncoding_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6941 {
6942         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_redundancyEncoding_bool, NULL, NULL);
6943
6944         return offset;
6945 }
6946
6947
6948
6949
6950
6951 static const true_false_string tfs_separatePort_bit = {
6952         "separatePort bit is SET",
6953         "separatePort bit is CLEAR"
6954 };
6955 static int
6956 dissect_h245_separatePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6957 {
6958         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_separatePort, NULL, NULL);
6959
6960         return offset;
6961 }
6962
6963
6964
6965
6966
6967 static const true_false_string tfs_samePort_bool_bit = {
6968         "samePort_bool bit is SET",
6969         "samePort_bool bit is CLEAR"
6970 };
6971 static int
6972 dissect_h245_samePort_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6973 {
6974         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_samePort_bool, NULL, NULL);
6975
6976         return offset;
6977 }
6978
6979
6980
6981
6982 static per_sequence_t FECCapability_rfc2733_separateStream_sequence[] = {
6983         { "separatePort", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6984                 dissect_h245_separatePort },
6985         { "samePort", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6986                 dissect_h245_samePort_bool },
6987         { NULL, 0, 0, NULL }
6988 };
6989 static int
6990 dissect_h245_FECCapability_rfc2733_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6991 {
6992         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECCapability_rfc2733_separateStream, ett_h245_FECCapability_rfc2733_separateStream, FECCapability_rfc2733_separateStream_sequence);
6993
6994         return offset;
6995 }
6996
6997
6998
6999 static per_sequence_t FECCapability_rfc2733_sequence[] = {
7000         { "redundancyEncoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7001                 dissect_h245_redundancyEncoding_bool },
7002         { "separateStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7003                 dissect_h245_FECCapability_rfc2733_separateStream },
7004         { NULL, 0, 0, NULL }
7005 };
7006 static int
7007 dissect_h245_FECCapability_rfc2733(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7008 {
7009         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECCapability_rfc2733, ett_h245_FECCapability_rfc2733, FECCapability_rfc2733_sequence);
7010
7011         return offset;
7012 }
7013
7014
7015
7016
7017 static const value_string FECCapability_vals[] = {
7018         {  0, "rfc2733" },
7019         {  0, NULL }
7020 };
7021 static per_choice_t FECCapability_choice[] = {
7022         {  0, "rfc2733", ASN1_EXTENSION_ROOT,
7023                 dissect_h245_FECCapability_rfc2733 },
7024         {  0, NULL, 0, NULL }
7025 };
7026 static int
7027 dissect_h245_FECCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7028 {
7029         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECCapability, ett_h245_FECCapability, FECCapability_choice, "FECCapability", NULL);
7030
7031         return offset;
7032 }
7033
7034
7035
7036
7037 static const true_false_string tfs_associateConference_bit = {
7038         "associateConference bit is SET",
7039         "associateConference bit is CLEAR"
7040 };
7041 static int
7042 dissect_h245_associateConference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7043 {
7044         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_associateConference, NULL, NULL);
7045
7046         return offset;
7047 }
7048
7049
7050
7051
7052
7053 static const true_false_string tfs_audioHeaderPresent_bit = {
7054         "audioHeaderPresent bit is SET",
7055         "audioHeaderPresent bit is CLEAR"
7056 };
7057 static int
7058 dissect_h245_audioHeaderPresent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7059 {
7060         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioHeaderPresent, NULL, NULL);
7061
7062         return offset;
7063 }
7064
7065
7066
7067
7068 static per_sequence_t V75Parameters_sequence[] = {
7069         { "audioHeaderPresent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7070                 dissect_h245_audioHeaderPresent },
7071         { NULL, 0, 0, NULL }
7072 };
7073 static int
7074 dissect_h245_V75Parameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7075 {
7076         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V75Parameters, ett_h245_V75Parameters, V75Parameters_sequence);
7077
7078         return offset;
7079 }
7080
7081
7082
7083
7084
7085
7086 static const true_false_string tfs_segmentableFlag_bit = {
7087         "segmentableFlag bit is SET",
7088         "segmentableFlag bit is CLEAR"
7089 };
7090 static int
7091 dissect_h245_segmentableFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7092 {
7093         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_segmentableFlag, NULL, NULL);
7094
7095         return offset;
7096 }
7097
7098
7099
7100
7101
7102 static const true_false_string tfs_alsduSplitting_bit = {
7103         "alsduSplitting bit is SET",
7104         "alsduSplitting bit is CLEAR"
7105 };
7106 static int
7107 dissect_h245_alsduSplitting(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7108 {
7109         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alsduSplitting, NULL, NULL);
7110
7111         return offset;
7112 }
7113
7114
7115
7116
7117
7118 static const true_false_string tfs_uIH_bit = {
7119         "uIH bit is SET",
7120         "uIH bit is CLEAR"
7121 };
7122 static int
7123 dissect_h245_uIH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7124 {
7125         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_uIH, NULL, NULL);
7126
7127         return offset;
7128 }
7129
7130
7131
7132
7133
7134
7135 static const true_false_string tfs_loopbackTestProcedure_bit = {
7136         "loopbackTestProcedure bit is SET",
7137         "loopbackTestProcedure bit is CLEAR"
7138 };
7139 static int
7140 dissect_h245_loopbackTestProcedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7141 {
7142         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_loopbackTestProcedure, NULL, NULL);
7143
7144         return offset;
7145 }
7146
7147
7148
7149
7150
7151
7152 static const true_false_string tfs_mediaGuaranteedDelivery_bit = {
7153         "mediaGuaranteedDelivery bit is SET",
7154         "mediaGuaranteedDelivery bit is CLEAR"
7155 };
7156 static int
7157 dissect_h245_mediaGuaranteedDelivery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7158 {
7159         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mediaGuaranteedDelivery, NULL, NULL);
7160
7161         return offset;
7162 }
7163
7164
7165
7166
7167
7168
7169 static const true_false_string tfs_mediaControlGuaranteedDelivery_bit = {
7170         "mediaControlGuaranteedDelivery bit is SET",
7171         "mediaControlGuaranteedDelivery bit is CLEAR"
7172 };
7173 static int
7174 dissect_h245_mediaControlGuaranteedDelivery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7175 {
7176         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mediaControlGuaranteedDelivery, NULL, NULL);
7177
7178         return offset;
7179 }
7180
7181
7182
7183
7184
7185
7186 static const true_false_string tfs_flowControlToZero_bit = {
7187         "flowControlToZero bit is SET",
7188         "flowControlToZero bit is CLEAR"
7189 };
7190 static int
7191 dissect_h245_flowControlToZero(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7192 {
7193         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_flowControlToZero, NULL, NULL);
7194
7195         return offset;
7196 }
7197
7198
7199
7200
7201
7202
7203 static const true_false_string tfs_multiplexCapability_bool_bit = {
7204         "multiplexCapability_bool bit is SET",
7205         "multiplexCapability_bool bit is CLEAR"
7206 };
7207 static int
7208 dissect_h245_multiplexCapability_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7209 {
7210         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multiplexCapability_bool, NULL, NULL);
7211
7212         return offset;
7213 }
7214
7215
7216
7217
7218
7219 static const true_false_string tfs_secureChannel_bit = {
7220         "secureChannel bit is SET",
7221         "secureChannel bit is CLEAR"
7222 };
7223 static int
7224 dissect_h245_secureChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7225 {
7226         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_secureChannel, NULL, NULL);
7227
7228         return offset;
7229 }
7230
7231
7232
7233
7234
7235 static const true_false_string tfs_sharedSecret_bit = {
7236         "sharedSecret bit is SET",
7237         "sharedSecret bit is CLEAR"
7238 };
7239 static int
7240 dissect_h245_sharedSecret(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7241 {
7242         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_sharedSecret, NULL, NULL);
7243
7244         return offset;
7245 }
7246
7247
7248
7249
7250
7251 static const true_false_string tfs_certProtectedKey_bit = {
7252         "certProtectedKey bit is SET",
7253         "certProtectedKey bit is CLEAR"
7254 };
7255 static int
7256 dissect_h245_certProtectedKey(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7257 {
7258         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_certProtectedKey, NULL, NULL);
7259
7260         return offset;
7261 }
7262
7263
7264
7265 static per_sequence_t KeyProtectionMethod_sequence[] = {
7266         { "secureChannel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7267                 dissect_h245_secureChannel },
7268         { "sharedSecret", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7269                 dissect_h245_sharedSecret },
7270         { "certProtectedKey", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7271                 dissect_h245_certProtectedKey },
7272         { NULL, 0, 0, NULL }
7273 };
7274 static int
7275 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7276 {
7277         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_KeyProtectionMethod, ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
7278
7279         return offset;
7280 }
7281
7282
7283
7284 static per_sequence_t EncryptionUpdateRequest_sequence[] = {
7285         { "keyProtectionMethod", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7286                 dissect_h245_KeyProtectionMethod },
7287         { NULL, 0, 0, NULL }
7288 };
7289 static int
7290 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7291 {
7292         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionUpdateRequest, ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
7293
7294         return offset;
7295 }
7296
7297
7298
7299
7300
7301 static const true_false_string tfs_bitRateLockedToPCRClock_bit = {
7302         "bitRateLockedToPCRClock bit is SET",
7303         "bitRateLockedToPCRClock bit is CLEAR"
7304 };
7305 static int
7306 dissect_h245_bitRateLockedToPCRClock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7307 {
7308         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_bitRateLockedToPCRClock, NULL, NULL);
7309
7310         return offset;
7311 }
7312
7313
7314
7315
7316
7317
7318 static const true_false_string tfs_bitRateLockedToNetworkClock_bit = {
7319         "bitRateLockedToNetworkClock bit is SET",
7320         "bitRateLockedToNetworkClock bit is CLEAR"
7321 };
7322 static int
7323 dissect_h245_bitRateLockedToNetworkClock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7324 {
7325         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_bitRateLockedToNetworkClock, NULL, NULL);
7326
7327         return offset;
7328 }
7329
7330
7331
7332 static int
7333 dissect_h245_IS11172_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7334 {
7335         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7336                 tree, hf_h245_IS11172_BitRate, 1, 448,
7337                 NULL, NULL, FALSE);
7338
7339         return offset;
7340 }
7341
7342
7343
7344
7345 static int
7346 dissect_h245_IS13818_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7347 {
7348         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7349                 tree, hf_h245_IS13818_BitRate, 1, 1130,
7350                 NULL, NULL, FALSE);
7351
7352         return offset;
7353 }
7354
7355
7356
7357 static per_sequence_t IS11172AudioCapability_sequence[] = {
7358         { "audioLayer1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7359                 dissect_h245_audioLayer1 },
7360         { "audioLayer2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7361                 dissect_h245_audioLayer2 },
7362         { "audioLayer3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7363                 dissect_h245_audioLayer3 },
7364         { "audioSampling32k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7365                 dissect_h245_audioSampling32k },
7366         { "audioSampling44k1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7367                 dissect_h245_audioSampling44k1 },
7368         { "audioSampling48k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7369                 dissect_h245_audioSampling48k },
7370         { "singleChannel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7371                 dissect_h245_singleChannel },
7372         { "twoChannels", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7373                 dissect_h245_twoChannels },
7374         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7375                 dissect_h245_IS11172_BitRate },
7376         { NULL, 0, 0, NULL }
7377 };
7378 static int
7379 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7380 {
7381         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172AudioCapability, ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
7382
7383         return offset;
7384 }
7385
7386
7387
7388 static per_sequence_t IS11172AudioMode_sequence[] = {
7389         { "audioLayer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7390                 dissect_h245_IS11172AudioMode_audioLayer },
7391         { "audioSampling", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7392                 dissect_h245_IS11172AudioMode_audioSampling },
7393         { "multichannelType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7394                 dissect_h245_IS11172AudioMode_multichannelType },
7395         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7396                 dissect_h245_IS11172_BitRate },
7397         { NULL, 0, 0, NULL }
7398 };
7399 static int
7400 dissect_h245_IS11172AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7401 {
7402         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode, ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
7403
7404         return offset;
7405 }
7406
7407
7408
7409 static per_sequence_t IS13818AudioMode_sequence[] = {
7410         { "audioLayer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7411                         dissect_h245_IS13818AudioMode_audioLayer },
7412         { "audioSampling", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7413                         dissect_h245_IS13818AudioMode_audioSampling },
7414         { "multiChannelType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7415                         dissect_h245_IS13818AudioMode_multiChannelType },
7416         { "lowFrequencyEnhancement", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7417                         dissect_h245_lowFrequencyEnhancement },
7418         { "multilingual", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7419                         dissect_h245_multilingual },
7420         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7421                         dissect_h245_IS13818_BitRate },
7422         { NULL, 0, 0, NULL }
7423 };
7424 static int
7425 dissect_h245_IS13818AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7426 {
7427         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode, ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
7428
7429         return offset;
7430 }
7431
7432
7433
7434
7435 static per_sequence_t IS13818AudioCapability_sequence[] = {
7436         { "audioLayer1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7437                 dissect_h245_audioLayer1 },
7438         { "audioLayer2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7439                 dissect_h245_audioLayer2 },
7440         { "audioLayer3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7441                 dissect_h245_audioLayer3 },
7442         { "audioSampling16k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7443                 dissect_h245_audioSampling16k },
7444         { "audioSampling22k05", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7445                 dissect_h245_audioSampling22k05 },
7446         { "audioSampling24k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7447                 dissect_h245_audioSampling24k },
7448         { "audioSampling32k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7449                 dissect_h245_audioSampling32k },
7450         { "audioSampling44k1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7451                 dissect_h245_audioSampling44k1 },
7452         { "audioSampling48k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7453                 dissect_h245_audioSampling48k },
7454         { "singleChannel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7455                 dissect_h245_singleChannel },
7456         { "twoChannels", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7457                 dissect_h245_twoChannels },
7458         { "threeChannels2-1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7459                 dissect_h245_threeChannels21 },
7460         { "threeChannels3-0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7461                 dissect_h245_threeChannels30 },
7462         { "fourChannels2-0-2-0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7463                 dissect_h245_fourChannels2020 },
7464         { "fourChannels2-2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7465                 dissect_h245_fourChannels22 },
7466         { "fourChannels3-1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7467                 dissect_h245_fourChannels31 },
7468         { "fiveChannels3-0-2-0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7469                 dissect_h245_fiveChannels3020 },
7470         { "fiveChannels3-2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7471                 dissect_h245_fiveChannels32 },
7472         { "lowFrequencyEnhancement", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7473                 dissect_h245_lowFrequencyEnhancement },
7474         { "multilingual", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7475                 dissect_h245_multilingual },
7476         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7477                 dissect_h245_IS13818_BitRate },
7478         { NULL, 0, 0, NULL }
7479 };
7480 static int
7481 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7482 {
7483         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS13818AudioCapability, ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
7484
7485         return offset;
7486 }
7487
7488
7489
7490
7491 static int
7492 dissect_h245_ATM_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7493 {
7494         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7495                 tree, hf_h245_ATM_BitRate, 1, 65535,
7496                 NULL, NULL, FALSE);
7497
7498         return offset;
7499 }
7500
7501
7502
7503
7504 static per_sequence_t NewATMVCIndication_reverseParameters_sequence[] = {
7505         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7506                 dissect_h245_ATM_BitRate },
7507         { "bitRateLockedToPCRClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7508                 dissect_h245_bitRateLockedToPCRClock },
7509         { "bitRateLockedToNetworkClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7510                 dissect_h245_bitRateLockedToNetworkClock },
7511         { "multiplex", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7512                 dissect_h245_NewATMVCIndication_reverseParameters_multiplex },
7513         { NULL, 0, 0, NULL }
7514 };
7515 static int
7516 dissect_h245_NewATMVCIndication_reverseParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7517 {
7518         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_reverseParameters, ett_h245_NewATMVCIndication_reverseParameters, NewATMVCIndication_reverseParameters_sequence);
7519
7520         return offset;
7521 }
7522
7523
7524
7525 static per_sequence_t NewATMVCCommand_reverseParameters_sequence[] = {
7526         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7527                 dissect_h245_ATM_BitRate },
7528         { "bitRateLockedToPCRClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7529                 dissect_h245_bitRateLockedToPCRClock },
7530         { "bitRateLockedToNetworkClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7531                 dissect_h245_bitRateLockedToNetworkClock },
7532         { "multiplex", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7533                 dissect_h245_NewATMVCCommand_reverseParameters_multiplex },
7534         { NULL, 0, 0, NULL }
7535 };
7536 static int
7537 dissect_h245_NewATMVCCommand_reverseParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7538 {
7539         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_reverseParameters, ett_h245_NewATMVCCommand_reverseParameters, NewATMVCCommand_reverseParameters_sequence);
7540
7541         return offset;
7542 }
7543
7544 static int
7545 dissect_h245_t35CountryCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7546 {
7547         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7548                 tree, hf_h245_t35CountryCode, 0, 255,
7549                 &t35CountryCode, NULL, FALSE);
7550
7551         return offset;
7552 }
7553
7554
7555 static int
7556 dissect_h245_t35Extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7557 {
7558         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7559                 tree, hf_h245_t35Extension, 0, 255,
7560                 &t35Extension, NULL, FALSE);
7561
7562         return offset;
7563 }
7564
7565
7566
7567 static int
7568 dissect_h245_manufacturerCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7569 {
7570         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7571                 tree, hf_h245_manufacturerCode, 0, 65535,
7572                 &manufacturerCode, NULL, FALSE);
7573
7574         return offset;
7575 }
7576
7577
7578 /* dissect_h245_h221NonStandard is used for H.245 */
7579
7580 static per_sequence_t h221NonStandard_sequence[] = {
7581         { "t35CountryCode", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7582                 dissect_h245_t35CountryCode },
7583         { "t35Extension", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7584                 dissect_h245_t35Extension },
7585         { "manufacturerCode", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7586                 dissect_h245_manufacturerCode },
7587         { NULL, 0, 0, NULL }
7588 };
7589 int
7590 dissect_h245_h221NonStandard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7591 {
7592         t35CountryCode = 0;
7593         t35Extension = 0;
7594         manufacturerCode = 0;
7595
7596         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_h221NonStandard, ett_h245_h221NonStandard, h221NonStandard_sequence);
7597
7598         h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
7599
7600         proto_tree_add_uint(tree, hf_h245_h221Manufacturer, tvb, (offset>>3)-4 ,4,h221NonStandard);
7601
7602         return offset;
7603 }
7604
7605 static int
7606 dissect_h245_terminalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7607 {
7608         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7609                 tree, hf_h245_terminalType, 0, 255,
7610                 NULL, NULL, FALSE);
7611
7612         return offset;
7613 }
7614
7615 static int
7616 dissect_h245_statusDeterminationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7617 {
7618         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7619                 tree, hf_h245_statusDeterminationNumber, 0, 16777215,
7620                 NULL, NULL, FALSE);
7621
7622         return offset;
7623 }
7624
7625
7626
7627 static per_sequence_t MasterSlaveDetermination_sequence[] = {
7628         { "terminalType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7629                 dissect_h245_terminalType },
7630         { "statusDeterminationNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7631                 dissect_h245_statusDeterminationNumber },
7632         { NULL, 0, 0, NULL }
7633 };
7634 static int
7635 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7636 {
7637         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDetermination, ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
7638
7639         return offset;
7640 }
7641
7642
7643
7644
7645 static int
7646 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7647 {
7648         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7649                 tree, hf_h245_CapabilityTableEntryNumber, 1, 65535,
7650                 NULL, NULL, FALSE);
7651
7652         return offset;
7653 }
7654
7655
7656
7657 static const value_string TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_vals[] = {
7658         {  0, "highestEntryNumberProcessed" },
7659         {  1, "noneProcessed" },
7660         {  0, NULL }
7661 };
7662 static per_choice_t TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_choice[] = {
7663         {  0, "highestEntryNumberProcessed", ASN1_NO_EXTENSIONS,
7664                         dissect_h245_CapabilityTableEntryNumber },
7665         {  1, "noneProcessed", ASN1_NO_EXTENSIONS,
7666                         dissect_h245_NULL },
7667         {  0, NULL, 0, NULL }
7668 };
7669 static int
7670 dissect_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7671 {
7672         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_choice, "tableEntryCapacityExceeded", NULL);
7673
7674         return offset;
7675 }
7676
7677
7678
7679
7680
7681 static const value_string TerminalCapabilitySetReject_cause_vals[] = {
7682         {  0, "unspecified" },
7683         {  1, "undefinedTableEntryUsed" },
7684         {  2, "descriptorCapacityExceeded" },
7685         {  3, "tableEntryCapacityExceeded" },
7686         {  0, NULL }
7687 };
7688 static per_choice_t TerminalCapabilitySetReject_cause_choice[] = {
7689         {  0, "unspecified", ASN1_EXTENSION_ROOT,
7690                         dissect_h245_NULL },
7691         {  1, "undefinedTableEntryUsed", ASN1_EXTENSION_ROOT,
7692                         dissect_h245_NULL },
7693         {  2, "descriptorCapacityExceeded", ASN1_EXTENSION_ROOT,
7694                         dissect_h245_NULL },
7695         {  3, "tableEntryCapacityExceeded", ASN1_EXTENSION_ROOT,
7696                         dissect_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded },
7697         {  0, NULL, 0, NULL }
7698 };
7699 static int
7700 dissect_h245_TerminalCapabilitySetReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7701 {
7702         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject_cause, ett_h245_TerminalCapabilitySetReject_cause, TerminalCapabilitySetReject_cause_choice, "cause", NULL);
7703
7704         return offset;
7705 }
7706
7707
7708
7709 static per_sequence_t TerminalCapabilitySetReject_sequence[] = {
7710         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7711                         dissect_h245_SequenceNumber },
7712         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7713                         dissect_h245_TerminalCapabilitySetReject_cause },
7714         { NULL, 0, 0, NULL }
7715 };
7716 static int
7717 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7718 {
7719         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject, ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
7720
7721         return offset;
7722 }
7723
7724
7725
7726
7727
7728 static int
7729 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7730 {
7731         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7732                 tree, hf_h245_CapabilityDescriptorNumber, 0, 255,
7733                 NULL, NULL, FALSE);
7734
7735         return offset;
7736 }
7737
7738
7739
7740
7741 static int
7742 dissect_h245_h233IVResponseTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7743 {
7744         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7745                 tree, hf_h245_h233IVResponseTime, 0, 255,
7746                 NULL, NULL, FALSE);
7747
7748         return offset;
7749 }
7750
7751
7752
7753
7754 static per_sequence_t Capability_h233EncryptionReceiveCapability_sequence[] = {
7755         { "h233IVResponseTime", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7756                         dissect_h245_h233IVResponseTime },
7757         { NULL, 0, 0, NULL }
7758 };
7759 static int
7760 dissect_h245_Capability_h233EncryptionReceiveCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7761 {
7762         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Capability_h233EncryptionReceiveCapability, ett_h245_Capability_h233EncryptionReceiveCapability, Capability_h233EncryptionReceiveCapability_sequence);
7763
7764         return offset;
7765 }
7766
7767
7768
7769
7770
7771 static int
7772 dissect_h245_maxPendingReplacementFor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7773 {
7774         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7775                 tree, hf_h245_maxPendingReplacementFor, 0, 255,
7776                 NULL, NULL, FALSE);
7777
7778         return offset;
7779 }
7780
7781
7782
7783
7784 static int
7785 dissect_h245_numberOfVCs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7786 {
7787         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7788                 tree, hf_h245_numberOfVCs, 1, 256,
7789                 NULL, NULL, FALSE);
7790
7791         return offset;
7792 }
7793
7794
7795
7796
7797
7798 static int
7799 dissect_h245_forwardMaximumSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7800 {
7801         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7802                 tree, hf_h245_forwardMaximumSDUSize, 0, 65535,
7803                 NULL, NULL, FALSE);
7804
7805         return offset;
7806 }
7807
7808
7809
7810
7811 static int
7812 dissect_h245_backwardMaximumSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7813 {
7814         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7815                 tree, hf_h245_backwardMaximumSDUSize, 0, 65535,
7816                 NULL, NULL, FALSE);
7817
7818         return offset;
7819 }
7820
7821
7822
7823
7824
7825 static per_sequence_t VCCapability_aal5_sequence[] = {
7826         { "forwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7827                 dissect_h245_forwardMaximumSDUSize },
7828         { "backwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7829                 dissect_h245_backwardMaximumSDUSize },
7830         { NULL, 0, 0, NULL }
7831 };
7832 static int
7833 dissect_h245_VCCapability_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7834 {
7835         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal5, ett_h245_VCCapability_aal5, VCCapability_aal5_sequence);
7836
7837         return offset;
7838 }
7839
7840
7841
7842 static per_sequence_t NewATMVCCommand_aal_aal5_sequence[] = {
7843         { "forwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7844                 dissect_h245_forwardMaximumSDUSize},
7845         { "backwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7846                 dissect_h245_backwardMaximumSDUSize },
7847         { NULL, 0, 0, NULL }
7848 };
7849 static int
7850 dissect_h245_NewATMVCCommand_aal_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7851 {
7852         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal5, ett_h245_NewATMVCCommand_aal_aal5, NewATMVCCommand_aal_aal5_sequence);
7853
7854         return offset;
7855 }
7856
7857
7858
7859
7860
7861 static const value_string NewATMVCCommand_aal_vals[] = {
7862         {  0, "aal1" },
7863         {  1, "aal5" },
7864         {  0, NULL }
7865 };
7866 static per_choice_t NewATMVCCommand_aal_choice[] = {
7867         {  0, "aal1", ASN1_EXTENSION_ROOT,
7868                 dissect_h245_NewATMVCCommand_aal_aal1 },
7869         {  1, "aal5", ASN1_EXTENSION_ROOT,
7870                 dissect_h245_NewATMVCCommand_aal_aal5 },
7871         {  0, NULL, 0, NULL }
7872 };
7873 static int
7874 dissect_h245_NewATMVCCommand_aal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7875 {
7876         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal, ett_h245_NewATMVCCommand_aal, NewATMVCCommand_aal_choice, "aal", NULL);
7877
7878         return offset;
7879 }
7880
7881
7882
7883
7884 static per_sequence_t NewATMVCIndication_aal_aal5_sequence[] = {
7885         { "forwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7886                 dissect_h245_forwardMaximumSDUSize },
7887         { "backwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7888                 dissect_h245_backwardMaximumSDUSize },
7889         { NULL, 0, 0, NULL }
7890 };
7891 static int
7892 dissect_h245_NewATMVCIndication_aal_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7893 {
7894         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal5, ett_h245_NewATMVCIndication_aal_aal5, NewATMVCIndication_aal_aal5_sequence);
7895
7896         return offset;
7897 }
7898
7899
7900
7901
7902 static const value_string NewATMVCIndication_aal_vals[] = {
7903         {  0, "aal1" },
7904         {  1, "aal5" },
7905         {  0, NULL }
7906 };
7907 static per_choice_t NewATMVCIndication_aal_choice[] = {
7908         {  0, "aal1", ASN1_EXTENSION_ROOT,
7909                 dissect_h245_NewATMVCIndication_aal_aal1 },
7910         {  1, "aal5", ASN1_EXTENSION_ROOT,
7911                 dissect_h245_NewATMVCIndication_aal_aal5 },
7912         {  0, NULL, 0, NULL }
7913 };
7914 static int
7915 dissect_h245_NewATMVCIndication_aal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7916 {
7917         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal, ett_h245_NewATMVCIndication_aal, NewATMVCIndication_aal_choice, "aal", NULL);
7918
7919         return offset;
7920 }
7921
7922
7923
7924
7925 static int
7926 dissect_h245_singleBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7927 {
7928         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7929                 tree, hf_h245_singleBitRate, 1, 65535,
7930                 NULL, NULL, FALSE);
7931
7932         return offset;
7933 }
7934
7935
7936
7937
7938 static int
7939 dissect_h245_lowerBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7940 {
7941         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7942                 tree, hf_h245_lowerBitRate, 1, 65535,
7943                 NULL, NULL, FALSE);
7944
7945         return offset;
7946 }
7947
7948
7949
7950 static int
7951 dissect_h245_higherBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7952 {
7953         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7954                 tree, hf_h245_higherBitRate, 1, 65535,
7955                 NULL, NULL, FALSE);
7956
7957         return offset;
7958 }
7959
7960
7961
7962
7963
7964 static per_sequence_t VCCapability_availableBitRates_rangeOfBitRates_sequence[] = {
7965         { "lowerBitRate", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7966                         dissect_h245_lowerBitRate },
7967         { "higherBitRate", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7968                         dissect_h245_higherBitRate },
7969         { NULL, 0, 0, NULL }
7970 };
7971 static int
7972 dissect_h245_VCCapability_availableBitRates_rangeOfBitRates(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7973 {
7974         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates_rangeOfBitRates, ett_h245_VCCapability_availableBitRates_rangeOfBitRates, VCCapability_availableBitRates_rangeOfBitRates_sequence);
7975
7976         return offset;
7977 }
7978
7979
7980
7981
7982 static const value_string VCCapability_availableBitRates_type_vals[] = {
7983         {  0, "singleBitRate" },
7984         {  1, "rangeOfBitRates" },
7985         {  0, NULL }
7986 };
7987 static per_choice_t VCCapability_availableBitRates_type_choice[] = {
7988         {  0, "singleBitRate", ASN1_NO_EXTENSIONS,
7989                         dissect_h245_singleBitRate },
7990         {  1, "rangeOfBitRates", ASN1_NO_EXTENSIONS,
7991                         dissect_h245_VCCapability_availableBitRates_rangeOfBitRates },
7992         {  0, NULL, 0, NULL }
7993 };
7994 static int
7995 dissect_h245_VCCapability_availableBitRates_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7996 {
7997         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates_type, ett_h245_VCCapability_availableBitRates_type, VCCapability_availableBitRates_type_choice, "type", NULL);
7998
7999         return offset;
8000 }
8001
8002
8003
8004 static int
8005 dissect_h245_maximumAl2SDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8006 {
8007         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8008                 tree, hf_h245_maximumAl2SDUSize, 0, 65535,
8009                 NULL, NULL, FALSE);
8010
8011         return offset;
8012 }
8013
8014
8015
8016
8017 static int
8018 dissect_h245_maximumAl3SDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8019 {
8020         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8021                 tree, hf_h245_maximumAl3SDUSize, 0, 65535,
8022                 NULL, NULL, FALSE);
8023
8024         return offset;
8025 }
8026
8027
8028
8029
8030 static int
8031 dissect_h245_maximumDelayJitter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8032 {
8033         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8034                 tree, hf_h245_maximumDelayJitter, 0, 1023,
8035                 NULL, NULL, FALSE);
8036
8037         return offset;
8038 }
8039
8040
8041
8042 static int
8043 dissect_h245_maximumNestingDepth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8044 {
8045         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8046                 tree, hf_h245_maximumNestingDepth, 1, 15,
8047                 NULL, NULL, FALSE);
8048
8049         return offset;
8050 }
8051
8052
8053
8054 static int
8055 dissect_h245_maximumElementListSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8056 {
8057         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8058                 tree, hf_h245_maximumElementListSize, 2, 255,
8059                 NULL, NULL, FALSE);
8060
8061         return offset;
8062 }
8063
8064
8065
8066 static int
8067 dissect_h245_maximumSubElementListSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8068 {
8069         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8070                 tree, hf_h245_maximumSubElementListSize, 2, 255,
8071                 NULL, NULL, FALSE);
8072
8073         return offset;
8074 }
8075
8076
8077
8078 static per_sequence_t H223Capability_h223MultiplexTableCapability_enhanced_sequence[] = {
8079         { "maximumNestingDepth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8080                         dissect_h245_maximumNestingDepth },
8081         { "maximumElementListSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8082                         dissect_h245_maximumElementListSize },
8083         { "maximumSubElementListSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8084                         dissect_h245_maximumSubElementListSize },
8085         { NULL, 0, 0, NULL }
8086 };
8087 static int
8088 dissect_h245_H223Capability_h223MultiplexTableCapability_enhanced(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8089 {
8090         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_h223MultiplexTableCapability_enhanced, ett_h245_H223Capability_h223MultiplexTableCapability_enhanced, H223Capability_h223MultiplexTableCapability_enhanced_sequence);
8091
8092         return offset;
8093 }
8094
8095
8096
8097
8098 static const value_string H223Capability_h223MultiplexTableCapability_vals[] = {
8099         {  0, "basic" },
8100         {  1, "enhanced" },
8101         {  0, NULL }
8102 };
8103 static per_choice_t H223Capability_h223MultiplexTableCapability_choice[] = {
8104         {  0, "basic", ASN1_NO_EXTENSIONS,
8105                         dissect_h245_NULL },
8106         {  1, "enhanced", ASN1_NO_EXTENSIONS,
8107                         dissect_h245_H223Capability_h223MultiplexTableCapability_enhanced },
8108         {  0, NULL, 0, NULL }
8109 };
8110 static int
8111 dissect_h245_H223Capability_h223MultiplexTableCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8112 {
8113         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223Capability_h223MultiplexTableCapability, ett_h245_H223Capability_h223MultiplexTableCapability, H223Capability_h223MultiplexTableCapability_choice, "h223MultiplexTableCapability", NULL);
8114
8115         return offset;
8116 }
8117
8118
8119
8120
8121 static int
8122 dissect_h245_h223bitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8123 {
8124         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8125                 tree, hf_h245_h223bitRate, 1, 19200,
8126                 NULL, NULL, FALSE);
8127
8128         return offset;
8129 }
8130
8131
8132
8133
8134 static int
8135 dissect_h245_maximumSampleSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8136 {
8137         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8138                 tree, hf_h245_maximumSampleSize, 1, 255,
8139                 NULL, NULL, FALSE);
8140
8141         return offset;
8142 }
8143
8144
8145
8146
8147 static int
8148 dissect_h245_maximumPayloadLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8149 {
8150         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8151                 tree, hf_h245_maximumPayloadLength, 1, 65025,
8152                 NULL, NULL, FALSE);
8153
8154         return offset;
8155 }
8156
8157
8158
8159
8160 static per_sequence_t H223Capability_mobileMultilinkFrameCapability_sequence[] = {
8161         { "maximumSampleSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8162                         dissect_h245_maximumSampleSize },
8163         { "maximumPayloadLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8164                         dissect_h245_maximumPayloadLength },
8165         { NULL, 0, 0, NULL }
8166 };
8167 static int
8168 dissect_h245_H223Capability_mobileMultilinkFrameCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8169 {
8170         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_mobileMultilinkFrameCapability, ett_h245_H223Capability_mobileMultilinkFrameCapability, H223Capability_mobileMultilinkFrameCapability_sequence);
8171
8172         return offset;
8173 }
8174
8175
8176
8177
8178 static int
8179 dissect_h245_maximumAL1MPDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8180 {
8181         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8182                 tree, hf_h245_maximumAL1MPDUSize, 0, 65535,
8183                 NULL, NULL, FALSE);
8184
8185         return offset;
8186 }
8187
8188
8189
8190
8191 static int
8192 dissect_h245_maximumAL2MSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8193 {
8194         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8195                 tree, hf_h245_maximumAL2MSDUSize, 0, 65535,
8196                 NULL, NULL, FALSE);
8197
8198         return offset;
8199 }
8200
8201
8202
8203
8204 static int
8205 dissect_h245_maximumAL3MSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8206 {
8207         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8208                 tree, hf_h245_maximumAL3MSDUSize, 0, 65535,
8209                 NULL, NULL, FALSE);
8210
8211         return offset;
8212 }
8213
8214
8215
8216
8217
8218 static per_sequence_t H223AnnexCCapability_sequence[] = {
8219         { "videoWithAL1M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8220                 dissect_h245_videoWithAL1M },
8221         { "videoWithAL2M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8222                 dissect_h245_videoWithAL2M },
8223         { "videoWithAL3M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8224                 dissect_h245_videoWithAL3M },
8225         { "audioWithAL1M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8226                 dissect_h245_audioWithAL1M },
8227         { "audioWithAL2M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8228                 dissect_h245_audioWithAL2M },
8229         { "audioWithAL3M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8230                 dissect_h245_audioWithAL3M },
8231         { "dataWithAL1M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8232                 dissect_h245_dataWithAL1M },
8233         { "dataWithAL2M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8234                 dissect_h245_dataWithAL2M },
8235         { "dataWithAL3M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8236                 dissect_h245_dataWithAL3M },
8237         { "alpduInterleaving", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8238                 dissect_h245_alpduInterleaving },
8239         { "maximumAL1MPDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8240                 dissect_h245_maximumAL1MPDUSize },
8241         { "maximumAL2MSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8242                 dissect_h245_maximumAL2MSDUSize },
8243         { "maximumAL3MSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8244                 dissect_h245_maximumAL3MSDUSize },
8245         { "rsCodeCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8246                 dissect_h245_rsCodeCapability },
8247         { NULL, 0, 0, NULL }
8248 };
8249 static int
8250 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8251 {
8252         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AnnexCCapability, ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
8253
8254         return offset;
8255 }
8256
8257
8258
8259 static const true_false_string tfs_transportWithIframes_bit = {
8260         "transportWithIframes bit is SET",
8261         "transportWithIframes bit is CLEAR"
8262 };
8263 static int
8264 dissect_h245_transportWithIframes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8265 {
8266         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transportWithIframes, NULL, NULL);
8267
8268         return offset;
8269 }
8270
8271
8272 static per_sequence_t H223Capability_sequence[] = {
8273         { "transportWithIframes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8274                 dissect_h245_transportWithIframes },
8275         { "videoWithAL1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8276                 dissect_h245_videoWithAL1 },
8277         { "videoWithAL2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8278                 dissect_h245_videoWithAL2 },
8279         { "videoWithAL3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8280                 dissect_h245_videoWithAL3 },
8281         { "audioWithAL1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8282                 dissect_h245_audioWithAL1 },
8283         { "audioWithAL2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8284                 dissect_h245_audioWithAL2 },
8285         { "audioWithAL3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8286                 dissect_h245_audioWithAL3 },
8287         { "dataWithAL1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8288                 dissect_h245_dataWithAL1 },
8289         { "dataWithAL2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8290                 dissect_h245_dataWithAL2 },
8291         { "dataWithAL3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8292                 dissect_h245_dataWithAL3 },
8293         { "maximumAL2SDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8294                 dissect_h245_maximumAl2SDUSize },
8295         { "maximumAL3SDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8296                 dissect_h245_maximumAl3SDUSize },
8297         { "maximumDelayJitter", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8298                 dissect_h245_maximumDelayJitter },
8299         { "h223MultiplexTableCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8300                 dissect_h245_H223Capability_h223MultiplexTableCapability },
8301         { "maxMUXPDUSizeCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8302                 dissect_h245_maxMUXPDUSizeCapability },
8303         { "nsrpSupport", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8304                 dissect_h245_nsrpSupport },
8305         { "mobileOperationTransmitCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8306                 dissect_h245_H223Capability_mobileOperationTransmitCapability },
8307         { "h223AnnexCCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8308                 dissect_h245_H223AnnexCCapability },
8309         { "bitRate", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8310                 dissect_h245_h223bitRate },
8311         { "mobileMultilinkFrameCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8312                 dissect_h245_H223Capability_mobileMultilinkFrameCapability },
8313         { NULL, 0, 0, NULL }
8314 };
8315 static int
8316 dissect_h245_H223Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8317 {
8318         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability, ett_h245_H223Capability, H223Capability_sequence);
8319
8320         return offset;
8321 }
8322
8323
8324
8325
8326 static int
8327 dissect_h245_numOfDLCS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8328 {
8329         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8330                 tree, hf_h245_numOfDLCS, 2, 8191,
8331                 NULL, NULL, FALSE);
8332
8333         return offset;
8334 }
8335
8336
8337
8338
8339 static int
8340 dissect_h245_n401Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8341 {
8342         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8343                 tree, hf_h245_n401Capability, 1, 4095,
8344                 NULL, NULL, FALSE);
8345
8346         return offset;
8347 }
8348
8349
8350
8351
8352 static int
8353 dissect_h245_maxWindowSizeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8354 {
8355         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8356                 tree, hf_h245_maxWindowSizeCapability, 1, 127,
8357                 NULL, NULL, FALSE);
8358
8359         return offset;
8360 }
8361
8362
8363
8364
8365 static per_sequence_t V76Capability_sequence[] = {
8366         { "suspendResumeCapabilitywAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8367                 dissect_h245_suspendResumeCapabilitywAddress },
8368         { "suspendResumeCapabilitywoAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8369                 dissect_h245_suspendResumeCapabilitywoAddress },
8370         { "rejCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8371                 dissect_h245_rejCapability },
8372         { "sREJCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8373                 dissect_h245_sREJCapability },
8374         { "mREJCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8375                 dissect_h245_mREJCapability },
8376         { "crc8bitCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8377                 dissect_h245_crc8bitCapability },
8378         { "crc16bitCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8379                 dissect_h245_crc16bitCapability },
8380         { "crc32bitCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8381                 dissect_h245_crc32bitCapability },
8382         { "uihCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8383                 dissect_h245_uihCapability },
8384         { "numOfDLCS", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8385                 dissect_h245_numOfDLCS },
8386         { "twoOctetAddressFieldCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8387                 dissect_h245_twoOctetAddressFieldCapability },
8388         { "loopBackTestCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8389                 dissect_h245_loopBackTestCapability },
8390         { "n401Capability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8391                 dissect_h245_n401Capability },
8392         { "maxWindowSizeCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8393                 dissect_h245_maxWindowSizeCapability },
8394         { "v75Capability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8395                 dissect_h245_V75Capability },
8396         { NULL, 0, 0, NULL }
8397 };
8398 static int
8399 dissect_h245_V76Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8400 {
8401         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76Capability, ett_h245_V76Capability, V76Capability_sequence);
8402
8403         return offset;
8404 }
8405
8406
8407
8408
8409 static int
8410 dissect_h245_maximumAudioDelayJitter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8411 {
8412         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8413                 tree, hf_h245_maximumAudioDelayJitter, 0, 1023,
8414                 NULL, NULL, FALSE);
8415
8416         return offset;
8417 }
8418
8419
8420
8421
8422 static int
8423 dissect_h245_tokenRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8424 {
8425         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8426                 tree, hf_h245_tokenRate, 1, 4294967295UL,
8427                 NULL, NULL, FALSE);
8428
8429         return offset;
8430 }
8431
8432
8433
8434
8435 static int
8436 dissect_h245_bucketSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8437 {
8438         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8439                 tree, hf_h245_bucketSize, 1, 4294967295UL,
8440                 NULL, NULL, FALSE);
8441
8442         return offset;
8443 }
8444
8445
8446
8447
8448 static int
8449 dissect_h245_peakRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8450 {
8451         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8452                 tree, hf_h245_peakRate, 1, 4294967295UL,
8453                 NULL, NULL, FALSE);
8454
8455         return offset;
8456 }
8457
8458
8459
8460 static int
8461 dissect_h245_minPoliced(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8462 {
8463         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8464                 tree, hf_h245_minPoliced, 1, 4294967295UL,
8465                 NULL, NULL, FALSE);
8466
8467         return offset;
8468 }
8469
8470
8471
8472
8473 static int
8474 dissect_h245_maxPktSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8475 {
8476         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8477                 tree, hf_h245_maxPktSize, 1, 4294967295UL,
8478                 NULL, NULL, FALSE);
8479
8480         return offset;
8481 }
8482
8483
8484
8485 static per_sequence_t RSVPParameters_sequence[] = {
8486         { "qosMode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8487                         dissect_h245_QOSMode },
8488         { "tokenRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8489                         dissect_h245_tokenRate },
8490         { "bucketSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8491                         dissect_h245_bucketSize },
8492         { "peakRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8493                         dissect_h245_peakRate },
8494         { "minPoliced", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8495                         dissect_h245_minPoliced },
8496         { "maxPktSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8497                         dissect_h245_maxPktSize },
8498         { NULL, 0, 0, NULL }
8499 };
8500 static int
8501 dissect_h245_RSVPParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8502 {
8503         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RSVPParameters, ett_h245_RSVPParameters, RSVPParameters_sequence);
8504
8505         return offset;
8506 }
8507
8508
8509
8510
8511 static int
8512 dissect_h245_maxNTUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8513 {
8514         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8515                 tree, hf_h245_maxNTUSize, 0, 65535,
8516                 NULL, NULL, FALSE);
8517
8518         return offset;
8519 }
8520
8521
8522
8523 static per_sequence_t ATMParameters_sequence[] = {
8524         { "maxNTUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8525                 dissect_h245_maxNTUSize },
8526         { "atmUBR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8527                 dissect_h245_atmUBR },
8528         { "atmrtVBR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8529                 dissect_h245_atmrtVBR },
8530         { "atmnrtVBR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8531                 dissect_h245_atmnrtVBR },
8532         { "atmABR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8533                 dissect_h245_atmABR },
8534         { "atmCBR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8535                 dissect_h245_atmCBR },
8536         { NULL, 0, 0, NULL }
8537 };
8538 static int
8539 dissect_h245_ATMParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8540 {
8541         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ATMParameters, ett_h245_ATMParameters, ATMParameters_sequence);
8542
8543         return offset;
8544 }
8545
8546
8547
8548
8549 static int
8550 dissect_h245_numberOfThreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8551 {
8552         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8553                 tree, hf_h245_numberOfThreads, 1, 16,
8554                 NULL, NULL, FALSE);
8555
8556         return offset;
8557 }
8558
8559
8560
8561 static int
8562 dissect_h245_framesBetweenSyncPoints(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8563 {
8564         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8565                 tree, hf_h245_framesBetweenSyncPoints, 1, 256,
8566                 NULL, NULL, FALSE);
8567
8568         return offset;
8569 }
8570
8571
8572
8573 static int
8574 dissect_h245_threadNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8575 {
8576         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8577                 tree, hf_h245_threadNumber, 0, 15,
8578                 NULL, NULL, FALSE);
8579
8580         return offset;
8581 }
8582
8583
8584
8585
8586 static int
8587 dissect_h245_qcifMPI_1_4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8588 {
8589         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8590                 tree, hf_h245_qcifMPI_1_4, 1, 4,
8591                 NULL, NULL, FALSE);
8592
8593         return offset;
8594 }
8595
8596
8597
8598
8599 static int
8600 dissect_h245_qcifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8601 {
8602         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8603                 tree, hf_h245_qcifMPI_1_32, 1, 32,
8604                 NULL, NULL, FALSE);
8605
8606         return offset;
8607 }
8608
8609
8610
8611
8612
8613
8614 static int
8615 dissect_h245_qcifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8616 {
8617         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8618                 tree, hf_h245_qcifMPI_1_2048, 1, 2048,
8619                 NULL, NULL, FALSE);
8620
8621         return offset;
8622 }
8623
8624
8625
8626
8627 static int
8628 dissect_h245_cifMPI_1_4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8629 {
8630         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8631                 tree, hf_h245_cifMPI_1_4, 1, 4,
8632                 NULL, NULL, FALSE);
8633
8634         return offset;
8635 }
8636
8637
8638
8639 static int
8640 dissect_h245_cifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8641 {
8642         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8643                 tree, hf_h245_cifMPI_1_32, 1, 32,
8644                 NULL, NULL, FALSE);
8645
8646         return offset;
8647 }
8648
8649
8650
8651 static int
8652 dissect_h245_cifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8653 {
8654         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8655                 tree, hf_h245_cifMPI_1_2048, 1, 2048,
8656                 NULL, NULL, FALSE);
8657
8658         return offset;
8659 }
8660
8661
8662
8663
8664
8665 static per_sequence_t H261VideoCapability_sequence[] = {
8666         { "qcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8667                 dissect_h245_qcifMPI_1_4 },
8668         { "cifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8669                 dissect_h245_cifMPI_1_4 },
8670         { "temporalSpatialTradeOffCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8671                 dissect_h245_temporalSpatialTradeOffCapability },
8672         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8673                 dissect_h245_h223bitRate },
8674         { "stillImageTransmission", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8675                 dissect_h245_stillImageTransmission },
8676         { "videoBadMBsCap", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8677                 dissect_h245_videoBadMBsCap },
8678         { NULL, 0, 0, NULL }
8679 };
8680 static int
8681 dissect_h245_H261VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8682 {
8683         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H261VideoCapability, ett_h245_H261VideoCapability, H261VideoCapability_sequence);
8684
8685         return offset;
8686 }
8687
8688
8689
8690
8691 static int
8692 dissect_h245_videoBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8693 {
8694         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8695                 tree, hf_h245_videoBitRate, 0, 1073741823,
8696                 NULL, NULL, FALSE);
8697
8698         return offset;
8699 }
8700
8701
8702
8703
8704 static int
8705 dissect_h245_vbvBufferSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8706 {
8707         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8708                 tree, hf_h245_vbvBufferSize, 0, 262143,
8709                 NULL, NULL, FALSE);
8710
8711         return offset;
8712 }
8713
8714
8715
8716
8717
8718 static int
8719 dissect_h245_samplesPerLine(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8720 {
8721         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8722                 tree, hf_h245_samplesPerLine, 0, 16383,
8723                 NULL, NULL, FALSE);
8724
8725         return offset;
8726 }
8727
8728
8729
8730
8731
8732 static int
8733 dissect_h245_linesPerFrame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8734 {
8735         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8736                 tree, hf_h245_linesPerFrame, 0, 16383,
8737                 NULL, NULL, FALSE);
8738
8739         return offset;
8740 }
8741
8742
8743
8744
8745
8746 static int
8747 dissect_h245_framesPerSecond(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8748 {
8749         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8750                 tree, hf_h245_framesPerSecond, 0, 15,
8751                 NULL, NULL, FALSE);
8752
8753         return offset;
8754 }
8755
8756
8757
8758
8759 static int
8760 dissect_h245_luminanceSampleRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8761 {
8762         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8763                 tree, hf_h245_luminanceSampleRate, 0, 4294967295UL,
8764                 NULL, NULL, FALSE);
8765
8766         return offset;
8767 }
8768
8769
8770
8771
8772 static per_sequence_t H262VideoCapability_sequence[] = {
8773         { "profileAndLevel-SPatML", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8774                 dissect_h245_profileAndLevelSPatML },
8775         { "profileAndLevel-MPatLL", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8776                 dissect_h245_profileAndLevelMPatLL },
8777         { "profileAndLevel-MPatML", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8778                 dissect_h245_profileAndLevelMPatML },
8779         { "profileAndLevel-MPatH-14", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8780                 dissect_h245_profileAndLevelMPatH14 },
8781         { "profileAndLevel-MPatHL", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8782                 dissect_h245_profileAndLevelMPatHL },
8783         { "profileAndLevel-SNRatLL", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8784                 dissect_h245_profileAndLevelSNRatLL },
8785         { "profileAndLevel-SNRatML", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8786                 dissect_h245_profileAndLevelSNRatML },
8787         { "profileAndLevel-SpatialatH-14", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8788                 dissect_h245_profileAndLevelSpatialatH14 },
8789         { "profileAndLevel-HPatML", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8790                 dissect_h245_profileAndLevelHPatML },
8791         { "profileAndLevel-HPatH-14", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8792                 dissect_h245_profileAndLevelHPatH14 },
8793         { "profileAndLevel-HPatHL", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8794                 dissect_h245_profileAndLevelHPatHL },
8795         { "videoBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8796                 dissect_h245_videoBitRate },
8797         { "vbvBufferSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8798                 dissect_h245_vbvBufferSize },
8799         { "samplesPerLine", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8800                 dissect_h245_samplesPerLine },
8801         { "linesPerFrame", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8802                 dissect_h245_linesPerFrame },
8803         { "framesPerSecond", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8804                 dissect_h245_framesPerSecond },
8805         { "luminanceSampleRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8806                 dissect_h245_luminanceSampleRate },
8807         { "videoBadMBsCap", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8808                 dissect_h245_videoBadMBsCap },
8809         { NULL, 0, 0, NULL }
8810 };
8811 static int
8812 dissect_h245_H262VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8813 {
8814         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H262VideoCapability, ett_h245_H262VideoCapability, H262VideoCapability_sequence);
8815
8816         return offset;
8817 }
8818
8819
8820
8821
8822
8823 static per_sequence_t H262VideoMode_sequence[] = {
8824         { "profileAndLevel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8825                 dissect_h245_H262VideoMode_profileAndLevel },
8826         { "videoBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8827                 dissect_h245_videoBitRate },
8828         { "vbvBufferSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8829                 dissect_h245_vbvBufferSize },
8830         { "samplesPerLine", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8831                 dissect_h245_samplesPerLine },
8832         { "linesPerFrame", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8833                 dissect_h245_linesPerFrame },
8834         { "framesPerSecond", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8835                 dissect_h245_framesPerSecond },
8836         { "luminanceSampleRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8837                 dissect_h245_luminanceSampleRate },
8838         { NULL, 0, 0, NULL }
8839 };
8840 static int
8841 dissect_h245_H262VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8842 {
8843         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H262VideoMode, ett_h245_H262VideoMode, H262VideoMode_sequence);
8844
8845         return offset;
8846 }
8847
8848
8849
8850
8851 static int
8852 dissect_h245_sqcifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8853 {
8854         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8855                 tree, hf_h245_sqcifMPI_1_32, 1, 32,
8856                 NULL, NULL, FALSE);
8857
8858         return offset;
8859 }
8860
8861
8862
8863 static int
8864 dissect_h245_sqcifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8865 {
8866         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8867                 tree, hf_h245_sqcifMPI_1_2048, 1, 2048,
8868                 NULL, NULL, FALSE);
8869
8870         return offset;
8871 }
8872
8873
8874
8875
8876 static int
8877 dissect_h245_cif4MPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8878 {
8879         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8880                 tree, hf_h245_cif4MPI_1_32, 1, 32,
8881                 NULL, NULL, FALSE);
8882
8883         return offset;
8884 }
8885
8886
8887
8888
8889 static int
8890 dissect_h245_cif4MPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8891 {
8892         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8893                 tree, hf_h245_cif4MPI_1_2048, 1, 2048,
8894                 NULL, NULL, FALSE);
8895
8896         return offset;
8897 }
8898
8899
8900
8901
8902 static int
8903 dissect_h245_cif16MPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8904 {
8905         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8906                 tree, hf_h245_cif16MPI_1_32, 1, 32,
8907                 NULL, NULL, FALSE);
8908
8909         return offset;
8910 }
8911
8912
8913
8914
8915 static int
8916 dissect_h245_cif16MPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8917 {
8918         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8919                 tree, hf_h245_cif16MPI_1_2048, 1, 2048,
8920                 NULL, NULL, FALSE);
8921
8922         return offset;
8923 }
8924
8925
8926
8927 static int
8928 dissect_h245_maxBitRate_192400(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8929 {
8930         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8931                 tree, hf_h245_maxBitRate_192400, 1, 192400,
8932                 NULL, NULL, FALSE);
8933
8934         return offset;
8935 }
8936
8937
8938
8939
8940
8941 static int
8942 dissect_h245_hrd_B(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8943 {
8944         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8945                 tree, hf_h245_hrd_B, 0, 524287,
8946                 NULL, NULL, FALSE);
8947
8948         return offset;
8949 }
8950
8951
8952
8953
8954 static int
8955 dissect_h245_bppMaxKb(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8956 {
8957         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8958                 tree, hf_h245_bppMaxKb, 0, 65535,
8959                 NULL, NULL, FALSE);
8960
8961         return offset;
8962 }
8963
8964
8965
8966
8967 static int
8968 dissect_h245_slowSqcifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8969 {
8970         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8971                 tree, hf_h245_slowSqcifMPI, 1, 3600,
8972                 NULL, NULL, FALSE);
8973
8974         return offset;
8975 }
8976
8977
8978
8979
8980 static int
8981 dissect_h245_slowQcifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8982 {
8983         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8984                 tree, hf_h245_slowQcifMPI, 1, 3600,
8985                 NULL, NULL, FALSE);
8986
8987         return offset;
8988 }
8989
8990
8991
8992 static int
8993 dissect_h245_slowCifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8994 {
8995         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8996                 tree, hf_h245_slowCifMPI, 1, 3600,
8997                 NULL, NULL, FALSE);
8998
8999         return offset;
9000 }
9001
9002
9003
9004
9005 static int
9006 dissect_h245_slowCif4MPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9007 {
9008         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9009                 tree, hf_h245_slowCif4MPI, 1, 3600,
9010                 NULL, NULL, FALSE);
9011
9012         return offset;
9013 }
9014
9015
9016
9017
9018 static int
9019 dissect_h245_slowCif16MPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9020 {
9021         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9022                 tree, hf_h245_slowCif16MPI, 1, 3600,
9023                 NULL, NULL, FALSE);
9024
9025         return offset;
9026 }
9027
9028
9029
9030
9031
9032 static int
9033 dissect_h245_numberOfBPictures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9034 {
9035         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9036                 tree, hf_h245_numberOfBPictures, 1, 64,
9037                 NULL, NULL, FALSE);
9038
9039         return offset;
9040 }
9041
9042
9043
9044
9045 static int
9046 dissect_h245_presentationOrder(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9047 {
9048         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9049                 tree, hf_h245_presentationOrder, 1, 256,
9050                 NULL, NULL, FALSE);
9051
9052         return offset;
9053 }
9054
9055
9056
9057
9058 static int
9059 dissect_h245_offset_x(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9060 {
9061         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9062                 tree, hf_h245_offset_x, -262144, 262143,
9063                 NULL, NULL, FALSE);
9064
9065         return offset;
9066 }
9067
9068
9069
9070
9071
9072 static int
9073 dissect_h245_offset_y(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9074 {
9075         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9076                 tree, hf_h245_offset_y, -262144, 262143,
9077                 NULL, NULL, FALSE);
9078
9079         return offset;
9080 }
9081
9082
9083
9084
9085
9086 static int
9087 dissect_h245_scale_x(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9088 {
9089         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9090                 tree, hf_h245_scale_x, 1, 255,
9091                 NULL, NULL, FALSE);
9092
9093         return offset;
9094 }
9095
9096
9097
9098 static int
9099 dissect_h245_scale_y(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9100 {
9101         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9102                 tree, hf_h245_scale_y, 1, 255,
9103                 NULL, NULL, FALSE);
9104
9105         return offset;
9106 }
9107
9108
9109
9110
9111 static per_sequence_t TransperencyParameters_sequence[] = {
9112         { "presentationOrder", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9113                 dissect_h245_presentationOrder },
9114         { "offset-x", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9115                 dissect_h245_offset_x },
9116         { "offset-y", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9117                 dissect_h245_offset_y },
9118         { "scale-x", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9119                 dissect_h245_scale_x },
9120         { "scale-y", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9121                 dissect_h245_scale_y },
9122         { NULL, 0, 0, NULL }
9123 };
9124 static int
9125 dissect_h245_TransperencyParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9126 {
9127         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TransperencyParameters, ett_h245_TransperencyParameters, TransperencyParameters_sequence);
9128
9129         return offset;
9130 }
9131
9132
9133
9134
9135 static int
9136 dissect_h245_sqcifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9137 {
9138         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9139                 tree, hf_h245_sqcifAdditionalPictureMemory, 1, 256,
9140                 NULL, NULL, FALSE);
9141
9142         return offset;
9143 }
9144
9145
9146
9147
9148 static int
9149 dissect_h245_qcifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9150 {
9151         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9152                 tree, hf_h245_qcifAdditionalPictureMemory, 1, 256,
9153                 NULL, NULL, FALSE);
9154
9155         return offset;
9156 }
9157
9158
9159
9160
9161 static int
9162 dissect_h245_cifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9163 {
9164         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9165                 tree, hf_h245_cifAdditionalPictureMemory, 1, 256,
9166                 NULL, NULL, FALSE);
9167
9168         return offset;
9169 }
9170
9171
9172
9173
9174 static int
9175 dissect_h245_cif4AdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9176 {
9177         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9178                 tree, hf_h245_cif4AdditionalPictureMemory, 1, 256,
9179                 NULL, NULL, FALSE);
9180
9181         return offset;
9182 }
9183
9184
9185
9186 static int
9187 dissect_h245_cif16AdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9188 {
9189         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9190                 tree, hf_h245_cif16AdditionalPictureMemory, 1, 256,
9191                 NULL, NULL, FALSE);
9192
9193         return offset;
9194 }
9195
9196
9197
9198 static int
9199 dissect_h245_bigCpfAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9200 {
9201         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9202                 tree, hf_h245_bigCpfAdditionalPictureMemory, 1, 256,
9203                 NULL, NULL, FALSE);
9204
9205         return offset;
9206 }
9207
9208
9209
9210
9211 static per_sequence_t RefPictureSelection_additionalPictureMemory_sequence[] = {
9212         { "sqcifAdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9213                 dissect_h245_sqcifAdditionalPictureMemory },
9214         { "qcifAdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9215                 dissect_h245_qcifAdditionalPictureMemory },
9216         { "cifAdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9217                 dissect_h245_cifAdditionalPictureMemory },
9218         { "cif4AdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9219                 dissect_h245_cif4AdditionalPictureMemory },
9220         { "cif16AdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9221                 dissect_h245_cif16AdditionalPictureMemory },
9222         { "bigCpfAdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9223                 dissect_h245_bigCpfAdditionalPictureMemory},
9224         { NULL, 0, 0, NULL }
9225 };
9226 static int
9227 dissect_h245_RefPictureSelection_additionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9228 {
9229         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_additionalPictureMemory, ett_h245_RefPictureSelection_additionalPictureMemory, RefPictureSelection_additionalPictureMemory_sequence);
9230
9231         return offset;
9232 }
9233
9234
9235
9236
9237 static int
9238 dissect_h245_mpuHorizMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9239 {
9240         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9241                 tree, hf_h245_mpuHorizMBs, 1, 128,
9242                 NULL, NULL, FALSE);
9243
9244         return offset;
9245 }
9246
9247
9248
9249
9250 static int
9251 dissect_h245_mpuVertMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9252 {
9253         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9254                 tree, hf_h245_mpuVertMBs, 1, 72,
9255                 NULL, NULL, FALSE);
9256
9257         return offset;
9258 }
9259
9260
9261
9262
9263 static int
9264 dissect_h245_mpuTotalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9265 {
9266         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9267                 tree, hf_h245_mpuTotalNumber, 1, 65536,
9268                 NULL, NULL, FALSE);
9269
9270         return offset;
9271 }
9272
9273
9274
9275 static per_sequence_t RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters_sequence[] = {
9276         { "mpuHorizMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9277                 dissect_h245_mpuHorizMBs },
9278         { "mpuVertMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9279                 dissect_h245_mpuVertMBs},
9280         { "mpuTotalNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9281                 dissect_h245_mpuTotalNumber},
9282         { NULL, 0, 0, NULL }
9283 };
9284 static int
9285 dissect_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9286 {
9287         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters_sequence);
9288
9289         return offset;
9290 }
9291
9292
9293
9294
9295
9296
9297 static per_sequence_t RefPictureSelection_enhancedReferencePicSelect_sequence[] = {
9298         { "subPictureRemovalParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9299                 dissect_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters },
9300         { NULL, 0, 0, NULL }
9301 };
9302 static int
9303 dissect_h245_RefPictureSelection_enhancedReferencePicSelect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9304 {
9305         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_enhancedReferencePicSelect, ett_h245_RefPictureSelection_enhancedReferencePicSelect, RefPictureSelection_enhancedReferencePicSelect_sequence);
9306
9307         return offset;
9308 }
9309
9310
9311
9312
9313
9314 static per_sequence_t RefPictureSelection_sequence[] = {
9315         { "additionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9316                 dissect_h245_RefPictureSelection_additionalPictureMemory },
9317         { "videoMux", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9318                 dissect_h245_videoMux },
9319         { "videoBackChannelSend", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9320                 dissect_h245_RefPictureSelection_videoBackChannelSend },
9321         { "enhancedReferencePicSelect", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9322                 dissect_h245_RefPictureSelection_enhancedReferencePicSelect },
9323         { NULL, 0, 0, NULL }
9324 };
9325 static int
9326 dissect_h245_RefPictureSelection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9327 {
9328         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection, ett_h245_RefPictureSelection, RefPictureSelection_sequence);
9329
9330         return offset;
9331 }
9332
9333
9334
9335 static int
9336 dissect_h245_clockConversionCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9337 {
9338         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9339                 tree, hf_h245_clockConversionCode, 1000, 1001,
9340                 NULL, NULL, FALSE);
9341
9342         return offset;
9343 }
9344
9345
9346
9347
9348 static int
9349 dissect_h245_clockDivisor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9350 {
9351         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9352                 tree, hf_h245_clockDivisor, 1, 127,
9353                 NULL, NULL, FALSE);
9354
9355         return offset;
9356 }
9357
9358
9359
9360
9361 static per_sequence_t CustomPictureClockFrequency_sequence[] = {
9362         { "clockConversionCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9363                 dissect_h245_clockConversionCode },
9364         { "clockDivisor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9365                 dissect_h245_clockDivisor },
9366         { "sqcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9367                 dissect_h245_sqcifMPI_1_2048 },
9368         { "qcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9369                 dissect_h245_qcifMPI_1_2048 },
9370         { "cifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9371                 dissect_h245_cifMPI_1_2048 },
9372         { "cif4MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9373                 dissect_h245_cif4MPI_1_2048 },
9374         { "cif16MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9375                 dissect_h245_cif16MPI_1_2048 },
9376         { NULL, 0, 0, NULL }
9377 };
9378 static int
9379 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9380 {
9381         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureClockFrequency, ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
9382
9383         return offset;
9384 }
9385
9386
9387
9388
9389 static int
9390 dissect_h245_maxCustomPictureWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9391 {
9392         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9393                 tree, hf_h245_maxCustomPictureWidth, 1, 2048,
9394                 NULL, NULL, FALSE);
9395
9396         return offset;
9397 }
9398
9399
9400 static int
9401 dissect_h245_minCustomPictureWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9402 {
9403         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9404                 tree, hf_h245_minCustomPictureWidth, 1, 2048,
9405                 NULL, NULL, FALSE);
9406
9407         return offset;
9408 }
9409
9410
9411
9412
9413 static int
9414 dissect_h245_minCustomPictureHeight(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9415 {
9416         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9417                 tree, hf_h245_minCustomPictureHeight, 1, 2048,
9418                 NULL, NULL, FALSE);
9419
9420         return offset;
9421 }
9422
9423
9424 static int
9425 dissect_h245_maxCustomPictureHeight(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9426 {
9427         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9428                 tree, hf_h245_maxCustomPictureHeight, 1, 2048,
9429                 NULL, NULL, FALSE);
9430
9431         return offset;
9432 }
9433
9434
9435
9436
9437
9438 static int
9439 dissect_h245_standardMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9440 {
9441         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9442                 tree, hf_h245_standardMPI, 1, 31,
9443                 NULL, NULL, FALSE);
9444
9445         return offset;
9446 }
9447
9448
9449
9450
9451 static int
9452 dissect_h245_customMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9453 {
9454         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9455                 tree, hf_h245_customMPI, 1, 2048,
9456                 NULL, NULL, FALSE);
9457
9458         return offset;
9459 }
9460
9461
9462
9463
9464 static per_sequence_t CustomPictureFormat_mPI_customPCF_sequence[] = {
9465         { "clockConversionCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9466                 dissect_h245_clockConversionCode },
9467         { "clockDivisor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9468                 dissect_h245_clockDivisor },
9469         { "customMPI", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9470                 dissect_h245_customMPI },
9471         { NULL, 0, 0, NULL }
9472 };
9473 static int
9474 dissect_h245_CustomPictureFormat_mPI_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9475 {
9476         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_mPI_customPCF, ett_h245_CustomPictureFormat_mPI_customPCF, CustomPictureFormat_mPI_customPCF_sequence);
9477
9478         return offset;
9479 }
9480
9481
9482
9483 static int dissect_h245_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
9484
9485 static per_sequence_t CustomPictureFormat_mPI_sequence[] = {
9486         { "standardMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9487                 dissect_h245_standardMPI},
9488         { "customPCF", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9489                 dissect_h245_customPCF },
9490         { NULL, 0, 0, NULL }
9491 };
9492 static int
9493 dissect_h245_CustomPictureFormat_mPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9494 {
9495         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_mPI, ett_h245_CustomPictureFormat_mPI, CustomPictureFormat_mPI_sequence);
9496
9497         return offset;
9498 }
9499
9500
9501
9502
9503 static int
9504 dissect_h245_width(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9505 {
9506         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9507                 tree, hf_h245_width, 1, 255,
9508                 NULL, NULL, FALSE);
9509
9510         return offset;
9511 }
9512
9513
9514
9515 static int
9516 dissect_h245_height(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9517 {
9518         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9519                 tree, hf_h245_height, 1, 255,
9520                 NULL, NULL, FALSE);
9521
9522         return offset;
9523 }
9524
9525
9526
9527
9528 static per_sequence_t CustomPictureFormat_pixelAspectInformation_extendedPAR_sequence[] = {
9529         { "width", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9530                 dissect_h245_width },
9531         { "height", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9532                 dissect_h245_height},
9533         { NULL, 0, 0, NULL }
9534 };
9535 static int
9536 dissect_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9537 {
9538         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, CustomPictureFormat_pixelAspectInformation_extendedPAR_sequence);
9539
9540         return offset;
9541 }
9542
9543
9544
9545
9546 static int
9547 dissect_h245_pictureRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9548 {
9549         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9550                 tree, hf_h245_pictureRate, 0, 15,
9551                 NULL, NULL, FALSE);
9552
9553         return offset;
9554 }
9555
9556
9557
9558
9559 static per_sequence_t IS11172VideoMode_sequence[] = {
9560         { "constrainedBitstream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9561                 dissect_h245_constrainedBitstream },
9562         { "videoBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9563                 dissect_h245_videoBitRate },
9564         { "vbvBufferSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9565                 dissect_h245_vbvBufferSize },
9566         { "samplesPerLine", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9567                 dissect_h245_samplesPerLine },
9568         { "linesPerFrame", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9569                 dissect_h245_linesPerFrame },
9570         { "pictureRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9571                 dissect_h245_pictureRate},
9572         { "luminanceSampleRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9573                 dissect_h245_luminanceSampleRate },
9574         { NULL, 0, 0, NULL }
9575 };
9576 static int
9577 dissect_h245_IS11172VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9578 {
9579         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172VideoMode, ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9580
9581         return offset;
9582 }
9583
9584
9585
9586 static per_sequence_t IS11172VideoCapability_sequence[] = {
9587         { "constrainedBitstream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9588                 dissect_h245_constrainedBitstream },
9589         { "videoBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9590                 dissect_h245_videoBitRate },
9591         { "vbvBufferSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9592                 dissect_h245_vbvBufferSize },
9593         { "samplesPerLine", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9594                 dissect_h245_samplesPerLine },
9595         { "linesPerFrame", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9596                 dissect_h245_linesPerFrame },
9597         { "pictureRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9598                 dissect_h245_pictureRate },
9599         { "luminanceSampleRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9600                 dissect_h245_luminanceSampleRate },
9601         { "videoBadMBsCap", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9602                 dissect_h245_videoBadMBsCap },
9603         { NULL, 0, 0, NULL }
9604 };
9605 static int
9606 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9607 {
9608         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172VideoCapability, ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
9609
9610         return offset;
9611 }
9612
9613
9614
9615
9616 static int
9617 dissect_h245_g711Alaw64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9618 {
9619         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9620                 tree, hf_h245_g711Alaw64k, 1, 256,
9621                 NULL, NULL, FALSE);
9622
9623         return offset;
9624 }
9625
9626
9627
9628 static int
9629 dissect_h245_g711Alaw56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9630 {
9631         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9632                 tree, hf_h245_g711Alaw56k, 1, 256,
9633                 NULL, NULL, FALSE);
9634
9635         return offset;
9636 }
9637
9638
9639
9640 static int
9641 dissect_h245_g711Ulaw64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9642 {
9643         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9644                 tree, hf_h245_g711Ulaw64k, 1, 256,
9645                 NULL, NULL, FALSE);
9646
9647         return offset;
9648 }
9649
9650
9651
9652 static int
9653 dissect_h245_g711Ulaw56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9654 {
9655         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9656                 tree, hf_h245_g711Ulaw56k, 1, 256,
9657                 NULL, NULL, FALSE);
9658
9659         return offset;
9660 }
9661
9662
9663
9664
9665 static int
9666 dissect_h245_g722_64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9667 {
9668         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9669                 tree, hf_h245_g722_64k, 1, 256,
9670                 NULL, NULL, FALSE);
9671
9672         return offset;
9673 }
9674
9675
9676
9677 static int
9678 dissect_h245_g722_56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9679 {
9680         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9681                 tree, hf_h245_g722_56k, 1, 256,
9682                 NULL, NULL, FALSE);
9683
9684         return offset;
9685 }
9686
9687
9688
9689
9690 static int
9691 dissect_h245_g722_48k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9692 {
9693         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9694                 tree, hf_h245_g722_48k, 1, 256,
9695                 NULL, NULL, FALSE);
9696
9697         return offset;
9698 }
9699
9700
9701
9702
9703
9704 static int
9705 dissect_h245_maxAl_sduAudioFrames(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9706 {
9707         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9708                 tree, hf_h245_maxAl_sduAudioFrames, 1, 256,
9709                 NULL, NULL, FALSE);
9710
9711         return offset;
9712 }
9713
9714
9715
9716 static per_sequence_t AudioCapability_g7231_sequence[] = {
9717         { "maxAl-sduAudioFrames", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
9718                 dissect_h245_maxAl_sduAudioFrames },
9719         { "silenceSuppression", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
9720                 dissect_h245_silenceSuppression },
9721         { NULL, 0, 0, NULL }
9722 };
9723 static int
9724 dissect_h245_AudioCapability_g7231(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9725 {
9726         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioCapability_g7231, ett_h245_AudioCapability_g7231, AudioCapability_g7231_sequence);
9727
9728         return offset;
9729 }
9730
9731
9732
9733
9734 static int
9735 dissect_h245_g728(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9736 {
9737         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9738                 tree, hf_h245_g728, 1, 256,
9739                 NULL, NULL, FALSE);
9740
9741         return offset;
9742 }
9743
9744
9745
9746 static int
9747 dissect_h245_g729(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9748 {
9749         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9750                 tree, hf_h245_g729, 1, 256,
9751                 NULL, NULL, FALSE);
9752
9753         return offset;
9754 }
9755
9756
9757
9758 static int
9759 dissect_h245_g729AnnexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9760 {
9761         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9762                 tree, hf_h245_g729AnnexA, 1, 256,
9763                 NULL, NULL, FALSE);
9764
9765         return offset;
9766 }
9767
9768
9769
9770
9771 static int
9772 dissect_h245_g729wAnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9773 {
9774         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9775                 tree, hf_h245_g729wAnnexB, 1, 256,
9776                 NULL, NULL, FALSE);
9777
9778         return offset;
9779 }
9780
9781
9782
9783
9784 static int
9785 dissect_h245_g729AnnexAwAnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9786 {
9787         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9788                 tree, hf_h245_g729AnnexAwAnnexB, 1, 256,
9789                 NULL, NULL, FALSE);
9790
9791         return offset;
9792 }
9793
9794
9795
9796
9797 static int
9798 dissect_h245_audioUnit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9799 {
9800         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9801                 tree, hf_h245_audioUnit, 1, 256,
9802                 NULL, NULL, FALSE);
9803
9804         return offset;
9805 }
9806
9807
9808
9809
9810 static per_sequence_t G729Extensions_sequence[] = {
9811         { "audioUnit", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9812                 dissect_h245_audioUnit },
9813         { "annexA", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9814                 dissect_h245_annexA },
9815         { "annexB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9816                 dissect_h245_annexB },
9817         { "annexD", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9818                 dissect_h245_annexD },
9819         { "annexE", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9820                 dissect_h245_annexE },
9821         { "annexF", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9822                 dissect_h245_annexF },
9823         { "annexG", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9824                 dissect_h245_annexG },
9825         { "annexH", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9826                 dissect_h245_annexH },
9827         { NULL, 0, 0, NULL }
9828 };
9829 static int
9830 dissect_h245_G729Extensions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9831 {
9832         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G729Extensions, ett_h245_G729Extensions, G729Extensions_sequence);
9833
9834         return offset;
9835 }
9836
9837
9838
9839
9840 static int
9841 dissect_h245_highRateMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9842 {
9843         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9844                 tree, hf_h245_highRateMode0, 27, 78,
9845                 NULL, NULL, FALSE);
9846
9847         return offset;
9848 }
9849
9850
9851 static int
9852 dissect_h245_highRateMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9853 {
9854         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9855                 tree, hf_h245_highRateMode1, 27, 78,
9856                 NULL, NULL, FALSE);
9857
9858         return offset;
9859 }
9860
9861
9862
9863
9864
9865 static int
9866 dissect_h245_lowRateMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9867 {
9868         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9869                 tree, hf_h245_lowRateMode0, 23, 66,
9870                 NULL, NULL, FALSE);
9871
9872         return offset;
9873 }
9874
9875
9876 static int
9877 dissect_h245_lowRateMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9878 {
9879         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9880                 tree, hf_h245_lowRateMode1, 23, 66,
9881                 NULL, NULL, FALSE);
9882
9883         return offset;
9884 }
9885
9886
9887
9888
9889 static int
9890 dissect_h245_sidMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9891 {
9892         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9893                 tree, hf_h245_sidMode0, 6, 17,
9894                 NULL, NULL, FALSE);
9895
9896         return offset;
9897 }
9898
9899
9900 static int
9901 dissect_h245_sidMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9902 {
9903         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9904                 tree, hf_h245_sidMode1, 6, 17,
9905                 NULL, NULL, FALSE);
9906
9907         return offset;
9908 }
9909
9910
9911
9912
9913 static per_sequence_t G7231AnnexCCapability_g723AnnexCAudioMode_sequence[] = {
9914         { "highRateMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9915                 dissect_h245_highRateMode0 },
9916         { "highRateMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9917                 dissect_h245_highRateMode1 },
9918         { "lowRateMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9919                 dissect_h245_lowRateMode0 },
9920         { "lowRateMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9921                 dissect_h245_lowRateMode1 },
9922         { "sidMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9923                 dissect_h245_sidMode0 },
9924         { "sidMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9925                 dissect_h245_sidMode1 },
9926         { NULL, 0, 0, NULL }
9927 };
9928 static int
9929 dissect_h245_G7231AnnexCCapability_g723AnnexCAudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9930 {
9931         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode, ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode, G7231AnnexCCapability_g723AnnexCAudioMode_sequence);
9932
9933         return offset;
9934 }
9935
9936
9937
9938
9939 static per_sequence_t G7231AnnexCCapability_sequence[] = {
9940         { "maxAl-sduAudioFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9941                 dissect_h245_maxAl_sduAudioFrames },
9942         { "silenceSuppression", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9943                 dissect_h245_silenceSuppression },
9944         { "g723AnnexCAudioMode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9945                 dissect_h245_G7231AnnexCCapability_g723AnnexCAudioMode },
9946         { NULL, 0, 0, NULL }
9947 };
9948 static int
9949 dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9950 {
9951         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCCapability, ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
9952
9953         return offset;
9954 }
9955
9956
9957
9958 static per_sequence_t G7231AnnexCMode_g723AnnexCAudioMode_sequence[] = {
9959         { "highRateMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9960                         dissect_h245_highRateMode0 },
9961         { "highRateMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9962                         dissect_h245_highRateMode1 },
9963         { "lowRateMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9964                         dissect_h245_lowRateMode0 },
9965         { "lowRateMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9966                         dissect_h245_lowRateMode0 },
9967         { "sidMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9968                         dissect_h245_sidMode0 },
9969         { "sidMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9970                         dissect_h245_sidMode1 },
9971         { NULL, 0, 0, NULL }
9972 };
9973 static int
9974 dissect_h245_G7231AnnexCMode_g723AnnexCAudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9975 {
9976         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCMode_g723AnnexCAudioMode, ett_h245_G7231AnnexCMode_g723AnnexCAudioMode, G7231AnnexCMode_g723AnnexCAudioMode_sequence);
9977
9978         return offset;
9979 }
9980
9981
9982
9983
9984 static per_sequence_t G7231AnnexCMode_sequence[] = {
9985         { "maxAl-sduAudioFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9986                 dissect_h245_maxAl_sduAudioFrames },
9987         { "silenceSupression", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9988                 dissect_h245_silenceSuppression },
9989         { "g723AnnexCAudioMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9990                 dissect_h245_G7231AnnexCMode_g723AnnexCAudioMode },
9991         { NULL, 0, 0, NULL }
9992 };
9993 static int
9994 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9995 {
9996         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCMode, ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9997
9998         return offset;
9999 }
10000
10001
10002
10003
10004 static int
10005 dissect_h245_audioUnitSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10006 {
10007         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10008                 tree, hf_h245_audioUnitSize, 1, 256,
10009                 NULL, NULL, FALSE);
10010
10011         return offset;
10012 }
10013
10014
10015
10016
10017
10018 static per_sequence_t GSMAudioCapability_sequence[] = {
10019         { "audioUnitSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10020                 dissect_h245_audioUnitSize },
10021         { "comfortNoice", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10022                 dissect_h245_comfortNoise },
10023         { "scrambled", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10024                 dissect_h245_scrambled },
10025         { NULL, 0, 0, NULL }
10026 };
10027 static int
10028 dissect_h245_GSMAudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10029 {
10030         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GSMAudioCapability, ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
10031
10032         return offset;
10033 }
10034
10035
10036
10037
10038
10039 static int
10040 dissect_h245_maxBitRate_4294967295UL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10041 {
10042         /* XXX unit is 100bit/s */
10043         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10044                 tree, hf_h245_maxBitRate_4294967295UL, 0, 4294967295UL,
10045                 NULL, NULL, FALSE);
10046
10047         return offset;
10048 }
10049
10050
10051
10052
10053
10054 static int
10055 dissect_h245_numberOfCodewords(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10056 {
10057         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10058                 tree, hf_h245_numberOfCodewords, 1, 65536,
10059                 NULL, NULL, FALSE);
10060
10061         return offset;
10062 }
10063
10064
10065
10066
10067 static int
10068 dissect_h245_maximumStringLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10069 {
10070         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10071                 tree, hf_h245_maximumStringLength, 1, 256,
10072                 NULL, NULL, FALSE);
10073
10074         return offset;
10075 }
10076
10077
10078
10079
10080
10081 static per_sequence_t V42bis_sequence[] = {
10082         { "numberOfCodewords", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10083                 dissect_h245_numberOfCodewords },
10084         { "maximumStringLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10085                 dissect_h245_maximumStringLength },
10086         { NULL, 0, 0, NULL }
10087 };
10088 static int
10089 dissect_h245_V42bis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10090 {
10091         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V42bis, ett_h245_V42bis, V42bis_sequence);
10092
10093         return offset;
10094 }
10095
10096
10097
10098 static const value_string CompressionType_vals[] = {
10099         {  0, "v42bis" },
10100         {  0, NULL }
10101 };
10102 static per_choice_t CompressionType_choice[] = {
10103         {  0, "v42bis", ASN1_EXTENSION_ROOT,
10104                 dissect_h245_V42bis },
10105         {  0, NULL, 0, NULL }
10106 };
10107 static int
10108 dissect_h245_CompressionType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10109 {
10110         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CompressionType, ett_h245_CompressionType, CompressionType_choice, "CompressionType", NULL);
10111
10112         return offset;
10113 }
10114
10115
10116
10117
10118
10119 static const value_string DataProtocolCapability_v76wCompression_vals[] = {
10120         {  0, "transmitCompression" },
10121         {  1, "receiveCompression" },
10122         {  2, "transmitAndReceiveCompression" },
10123         {  0, NULL }
10124 };
10125 static per_choice_t DataProtocolCapability_v76wCompression_choice[] = {
10126         {  0, "transmitCompression", ASN1_EXTENSION_ROOT,
10127                 dissect_h245_CompressionType },
10128         {  1, "receiveCompression", ASN1_EXTENSION_ROOT,
10129                 dissect_h245_CompressionType },
10130         {  2, "transmitAndReceiveCompression", ASN1_EXTENSION_ROOT,
10131                 dissect_h245_CompressionType },
10132         {  0, NULL, 0, NULL }
10133 };
10134 static int
10135 dissect_h245_DataProtocolCapability_v76wCompression(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10136 {
10137         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataProtocolCapability_v76wCompression, ett_h245_DataProtocolCapability_v76wCompression, DataProtocolCapability_v76wCompression_choice, "v76wCompression", NULL);
10138
10139         return offset;
10140 }
10141
10142
10143
10144
10145
10146 static int
10147 dissect_h245_version(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10148 {
10149         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10150                 tree, hf_h245_version, 0, 255,
10151                 NULL, NULL, FALSE);
10152
10153         return offset;
10154 }
10155
10156
10157
10158 static int dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
10159 static per_sequence_t T38FaxProfile_sequence[] = {
10160         { "fillBitRemoval", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10161                 dissect_h245_fillBitRemoval },
10162         { "transcodingJBIG", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10163                 dissect_h245_transcodingJBIG },
10164         { "transcodingMMR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10165                 dissect_h245_transcodingMMR },
10166         { "version", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10167                 dissect_h245_version },
10168         { "t38FaxRateManagement", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10169                 dissect_h245_T38FaxRateManagement },
10170         { "t38FaxUdpOptions", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
10171                 dissect_h245_T38FaxUdpOptions },
10172         { "t38FaxTcpOptions", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
10173                 dissect_h245_T38FaxTcpOptions },
10174         { NULL, 0, 0, NULL }
10175 };
10176 int
10177 dissect_h245_T38FaxProfile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10178 {
10179         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxProfile, ett_h245_T38FaxProfile, T38FaxProfile_sequence);
10180
10181         return offset;
10182 }
10183
10184
10185
10186
10187 static int
10188 dissect_h245_standard_0_127(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10189 {
10190         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10191                 tree, hf_h245_standard_0_127, 0, 127,
10192                 NULL, NULL, FALSE);
10193
10194         return offset;
10195 }
10196
10197
10198
10199
10200 static int
10201 dissect_h245_booleanArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10202 {
10203         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10204                 tree, hf_h245_booleanArray, 0, 255,
10205                 NULL, NULL, FALSE);
10206
10207         return offset;
10208 }
10209
10210
10211
10212
10213 static int
10214 dissect_h245_unsignedMin(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10215 {
10216         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10217                 tree, hf_h245_unsignedMin, 0, 65535,
10218                 NULL, NULL, FALSE);
10219
10220         return offset;
10221 }
10222
10223
10224 static int
10225 dissect_h245_unsignedMax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10226 {
10227         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10228                 tree, hf_h245_unsignedMax, 0, 65535,
10229                 NULL, NULL, FALSE);
10230
10231         return offset;
10232 }
10233
10234
10235
10236
10237 static int
10238 dissect_h245_unsigned32Min(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10239 {
10240         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10241                 tree, hf_h245_unsigned32Min, 0, 4294967295UL,
10242                 NULL, NULL, FALSE);
10243
10244         return offset;
10245 }
10246
10247
10248 static int
10249 dissect_h245_unsigned32Max(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10250 {
10251         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10252                 tree, hf_h245_unsigned32Max, 0, 4294967295UL,
10253                 NULL, NULL, FALSE);
10254
10255         return offset;
10256 }
10257
10258
10259
10260
10261 static int
10262 dissect_h245_dynamicRTPPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10263 {
10264         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10265                 tree, hf_h245_dynamicRTPPayloadType, 96, 127,
10266                 NULL, NULL, FALSE);
10267
10268         return offset;
10269 }
10270
10271
10272
10273
10274 static per_sequence_t AudioToneCapability_sequence[] = {
10275         { "dynamicRTPPayloadType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10276                 dissect_h245_dynamicRTPPayloadType },
10277         { NULL, 0, 0, NULL }
10278 };
10279 static int
10280 dissect_h245_AudioToneCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10281 {
10282         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioToneCapability, ett_h245_AudioToneCapability, AudioToneCapability_sequence);
10283
10284         return offset;
10285 }
10286
10287
10288
10289
10290 static per_sequence_t NoPTAudioToneCapability_sequence[] = {
10291         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
10292 };
10293 static int
10294 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10295 {
10296         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NoPTAudioToneCapability, ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
10297
10298         return offset;
10299 }
10300
10301
10302
10303
10304
10305 static int
10306 dissect_h245_portNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10307 {
10308         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10309                 tree, hf_h245_portNumber, 0, 65535,
10310                 NULL, NULL, FALSE);
10311
10312         return offset;
10313 }
10314
10315
10316
10317
10318 static int
10319 dissect_h245_resourceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10320 {
10321         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10322                 tree, hf_h245_resourceID, 0, 65535,
10323                 NULL, NULL, FALSE);
10324
10325         return offset;
10326 }
10327
10328
10329
10330
10331 static const value_string FlowControlCommand_scope_vals[] = {
10332         {  0, "logicalChannelNumber" },
10333         {  1, "resourceID" },
10334         {  2, "wholeMultiplex" },
10335         {  0, NULL }
10336 };
10337 static per_choice_t FlowControlCommand_scope_choice[] = {
10338         {  0, "logicalChannelNumber", ASN1_NO_EXTENSIONS,
10339                         dissect_h245_LogicalChannelNumber },
10340         {  1, "resourceID", ASN1_NO_EXTENSIONS,
10341                         dissect_h245_resourceID },
10342         {  2, "wholeMultiplex", ASN1_NO_EXTENSIONS,
10343                         dissect_h245_NULL },
10344         {  0, NULL, 0, NULL }
10345 };
10346 static int
10347 dissect_h245_FlowControlCommand_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10348 {
10349         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand_scope, ett_h245_FlowControlCommand_scope, FlowControlCommand_scope_choice, "scope", NULL);
10350
10351         return offset;
10352 }
10353
10354
10355
10356
10357
10358
10359 static const value_string JitterIndication_scope_vals[] = {
10360         {  0, "logicalChannelNumber" },
10361         {  1, "resourceID" },
10362         {  2, "wholeMultiplex" },
10363         {  0, NULL }
10364 };
10365 static per_choice_t JitterIndication_scope_choice[] = {
10366         {  0, "logicalChannelNumber", ASN1_NO_EXTENSIONS,
10367                         dissect_h245_LogicalChannelNumber },
10368         {  1, "resourceID", ASN1_NO_EXTENSIONS,
10369                         dissect_h245_resourceID },
10370         {  2, "wholeMultiplex", ASN1_NO_EXTENSIONS,
10371                         dissect_h245_NULL },
10372         {  0, NULL, 0, NULL }
10373 };
10374 static int
10375 dissect_h245_JitterIndication_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10376 {
10377         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_JitterIndication_scope, ett_h245_JitterIndication_scope, JitterIndication_scope_choice, "scope", NULL);
10378
10379         return offset;
10380 }
10381
10382
10383
10384
10385
10386 static const value_string FlowControlIndication_scope_vals[] = {
10387         {  0, "logicalChannelNumber" },
10388         {  1, "resouceID" },
10389         {  2, "wholeMultiplex" },
10390         {  0, NULL }
10391 };
10392 static per_choice_t FlowControlIndication_scope_choice[] = {
10393         {  0, "logicalChannelNumber", ASN1_NO_EXTENSIONS,
10394                         dissect_h245_LogicalChannelNumber },
10395         {  1, "resourceID", ASN1_NO_EXTENSIONS,
10396                         dissect_h245_resourceID },
10397         {  2, "wholeMultiplex", ASN1_NO_EXTENSIONS,
10398                         dissect_h245_NULL },
10399         {  0, NULL, 0, NULL }
10400 };
10401 static int
10402 dissect_h245_FlowControlIndication_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10403 {
10404         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication_scope, ett_h245_FlowControlIndication_scope, FlowControlIndication_scope_choice, "scope", NULL);
10405
10406         return offset;
10407 }
10408
10409
10410
10411
10412 static per_sequence_t NewATMVCIndication_sequence[] = {
10413         { "resourceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10414                 dissect_h245_resourceID },
10415         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10416                 dissect_h245_ATM_BitRate },
10417         { "bitRateLockedToPCRClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10418                 dissect_h245_bitRateLockedToPCRClock },
10419         { "bitRateLockedToNetworkClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10420                 dissect_h245_bitRateLockedToNetworkClock },
10421         { "aal", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10422                 dissect_h245_NewATMVCIndication_aal },
10423         { "multiplex", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10424                 dissect_h245_NewATMVCIndication_multiplex },
10425         { "reverseParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10426                 dissect_h245_NewATMVCIndication_reverseParameters },
10427         { NULL, 0, 0, NULL }
10428 };
10429 static int
10430 dissect_h245_NewATMVCIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10431 {
10432         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication, ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
10433
10434         return offset;
10435 }
10436
10437
10438
10439
10440 static int
10441 dissect_h245_subChannelID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10442 {
10443         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10444                 tree, hf_h245_subChannelID, 0, 8191,
10445                 NULL, NULL, FALSE);
10446
10447         return offset;
10448 }
10449
10450
10451
10452
10453 static int
10454 dissect_h245_pcr_pid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10455 {
10456         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10457                 tree, hf_h245_pcr_pid, 0, 8191,
10458                 NULL, NULL, FALSE);
10459
10460         return offset;
10461 }
10462
10463
10464
10465
10466 static int
10467 dissect_h245_controlFieldOctets(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10468 {
10469         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10470                 tree, hf_h245_controlFieldOctets, 0, 2,
10471                 NULL, NULL, FALSE);
10472
10473         return offset;
10474 }
10475
10476
10477
10478
10479 static int
10480 dissect_h245_sendBufferSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10481 {
10482         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10483                 tree, hf_h245_sendBufferSize, 0, 16777215,
10484                 NULL, NULL, FALSE);
10485
10486         return offset;
10487 }
10488
10489
10490
10491
10492 static per_sequence_t H223LogicalChannelParameters_adaptionLayerType_al3_sequence[] = {
10493         { "controlFieldOctets", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
10494                 dissect_h245_controlFieldOctets },
10495         { "sendBufferSize", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
10496                 dissect_h245_sendBufferSize },
10497         { NULL, 0, 0, NULL }
10498 };
10499 static int
10500 dissect_h245_H223LogicalChannelParameters_adaptionLayerType_al3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10501 {
10502         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3, ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3, H223LogicalChannelParameters_adaptionLayerType_al3_sequence);
10503
10504         return offset;
10505 }
10506
10507
10508
10509 static per_sequence_t H223ModeParameters_adaptationLayerType_al3_sequence[] = {
10510         { "controlFieldOctets", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
10511                 dissect_h245_controlFieldOctets },
10512         { "sendBufferSize", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
10513                 dissect_h245_sendBufferSize },
10514         { NULL, 0, 0, NULL }
10515 };
10516 static int
10517 dissect_h245_H223ModeParameters_adaptationLayerType_al3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10518 {
10519         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters_adaptationLayerType_al3, ett_h245_H223ModeParameters_adaptationLayerType_al3, H223ModeParameters_adaptationLayerType_al3_sequence);
10520
10521         return offset;
10522 }
10523
10524
10525
10526
10527 static int
10528 dissect_h245_rcpcCodeRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10529 {
10530         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10531                 tree, hf_h245_rcpcCodeRate, 8, 32,
10532                 NULL, NULL, FALSE);
10533
10534         return offset;
10535 }
10536
10537
10538
10539
10540 static int
10541 dissect_h245_rsCodeCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10542 {
10543         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10544                 tree, hf_h245_rsCodeCorrection, 0, 127,
10545                 NULL, NULL, FALSE);
10546
10547         return offset;
10548 }
10549
10550
10551
10552
10553 static int
10554 dissect_h245_finite_0_16(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10555 {
10556         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10557                 tree, hf_h245_finite_0_16, 0, 16,
10558                 NULL, NULL, FALSE);
10559
10560         return offset;
10561 }
10562
10563
10564
10565
10566
10567 static const value_string H223AnnexCArqParameters_numberOfRetransmissions_vals[] = {
10568         {  0, "finite" },
10569         {  1, "infinite" },
10570         {  0, NULL }
10571 };
10572 static per_choice_t H223AnnexCArqParameters_numberOfRetransmissions_choice[] = {
10573         {  0, "finite", ASN1_EXTENSION_ROOT,
10574                         dissect_h245_finite_0_16 },
10575         {  1, "infinite", ASN1_EXTENSION_ROOT,
10576                         dissect_h245_NULL },
10577         {  0, NULL, 0, NULL }
10578 };
10579 static int
10580 dissect_h245_H223AnnexCArqParameters_numberOfRetransmissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10581 {
10582         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AnnexCArqParameters_numberOfRetransmissions, ett_h245_H223AnnexCArqParameters_numberOfRetransmissions, H223AnnexCArqParameters_numberOfRetransmissions_choice, "numberOfRetransmissions", NULL);
10583
10584         return offset;
10585 }
10586
10587
10588
10589
10590 static per_sequence_t H223AnnexCArqParameters_sequence[] = {
10591         { "numberOfRetransmissions", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10592                 dissect_h245_H223AnnexCArqParameters_numberOfRetransmissions },
10593         { "sendBufferSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10594                 dissect_h245_sendBufferSize },
10595         { NULL, 0, 0, NULL }
10596 };
10597 static int
10598 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10599 {
10600         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AnnexCArqParameters, ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
10601
10602         return offset;
10603 }
10604
10605
10606
10607
10608
10609 static const value_string H223AL1MParameters_arqType_vals[] = {
10610         {  0, "noArq" },
10611         {  1, "typeIArq" },
10612         {  2, "typeIIArq" },
10613         {  0, NULL }
10614 };
10615 static per_choice_t H223AL1MParameters_arqType_choice[] = {
10616         {  0, "noArq", ASN1_EXTENSION_ROOT,
10617                         dissect_h245_NULL },
10618         {  1, "typeIArq", ASN1_EXTENSION_ROOT,
10619                         dissect_h245_H223AnnexCArqParameters },
10620         {  2, "typeIIArq", ASN1_EXTENSION_ROOT,
10621                         dissect_h245_H223AnnexCArqParameters },
10622         {  0, NULL, 0, NULL }
10623 };
10624 static int
10625 dissect_h245_H223AL1MParameters_arqType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10626 {
10627         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_arqType, ett_h245_H223AL1MParameters_arqType, H223AL1MParameters_arqType_choice, "arqType", NULL);
10628
10629         return offset;
10630 }
10631
10632
10633
10634
10635 static const value_string H223AL3MParameters_arqType_vals[] = {
10636         {  0, "noArq" },
10637         {  1, "typeIArq" },
10638         {  2, "typeIIArq" },
10639         {  0, NULL }
10640 };
10641 static per_choice_t H223AL3MParameters_arqType_choice[] = {
10642         {  0, "noArq", ASN1_EXTENSION_ROOT,
10643                         dissect_h245_NULL },
10644         {  1, "typeIArq", ASN1_EXTENSION_ROOT,
10645                         dissect_h245_H223AnnexCArqParameters },
10646         {  2, "typeIIArq", ASN1_EXTENSION_ROOT,
10647                         dissect_h245_H223AnnexCArqParameters },
10648         {  0, NULL, 0, NULL }
10649 };
10650 static int
10651 dissect_h245_H223AL3MParameters_arqType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10652 {
10653         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_arqType, ett_h245_H223AL3MParameters_arqType, H223AL3MParameters_arqType_choice, "arqType", NULL);
10654
10655         return offset;
10656 }
10657
10658
10659
10660
10661
10662 static per_sequence_t H223AL1MParameters_sequence[] = {
10663         { "transferMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10664                 dissect_h245_H223AL1MParameters_transferMode },
10665         { "headerFEC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10666                 dissect_h245_H223AL1MParameters_headerFEC },
10667         { "crcLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10668                 dissect_h245_H223AL1MParameters_crcLength },
10669         { "rcpcCodeRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10670                 dissect_h245_rcpcCodeRate },
10671         { "arqType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10672                 dissect_h245_H223AL1MParameters_arqType },
10673         { "alpduInterleaving", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10674                 dissect_h245_alpduInterleaving },
10675         { "alsduSplitting", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10676                 dissect_h245_alsduSplitting },
10677         { "rsCodeCorrection", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
10678                 dissect_h245_rsCodeCorrection },
10679         { NULL, 0, 0, NULL }
10680 };
10681 static int
10682 dissect_h245_H223AL1MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10683 {
10684         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters, ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
10685
10686         return offset;
10687 }
10688
10689
10690
10691
10692 static per_sequence_t H223AL3MParameters_sequence[] = {
10693         { "headerFormat", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10694                 dissect_h245_H223AL3MParameters_headerFormat },
10695         { "crcLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10696                 dissect_h245_H223AL3MParameters_crcLength },
10697         { "rcpcCodeRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10698                 dissect_h245_rcpcCodeRate },
10699         { "arqType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10700                 dissect_h245_H223AL3MParameters_arqType },
10701         { "alpduInterleaving", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10702                 dissect_h245_alpduInterleaving },
10703         { "rsCodeCorrection", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
10704                 dissect_h245_rsCodeCorrection },
10705         { NULL, 0, 0, NULL }
10706 };
10707 static int
10708 dissect_h245_H223AL3MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10709 {
10710         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters, ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
10711
10712         return offset;
10713 }
10714
10715
10716
10717
10718
10719 static int
10720 dissect_h245_windowSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10721 {
10722         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10723                 tree, hf_h245_windowSize, 1, 127,
10724                 NULL, NULL, FALSE);
10725
10726         return offset;
10727 }
10728
10729
10730
10731
10732 static per_sequence_t V76LogicalChannelParameters_mode_eRM_sequence[] = {
10733         { "windowSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10734                 dissect_h245_windowSize },
10735         { "recovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10736                 dissect_h245_V76LogicalChannelParameters_mode_eRM_recovery },
10737         { NULL, 0, 0, NULL }
10738 };
10739 static int
10740 dissect_h245_V76LogicalChannelParameters_mode_eRM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10741 {
10742         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode_eRM, ett_h245_V76LogicalChannelParameters_mode_eRM, V76LogicalChannelParameters_mode_eRM_sequence);
10743
10744         return offset;
10745 }
10746
10747
10748
10749 static const value_string V76LogicalChannelParameters_mode_vals[] = {
10750         {  0, "eRM" },
10751         {  1, "uNERM" },
10752         {  0, NULL }
10753 };
10754 static per_choice_t V76LogicalChannelParameters_mode_choice[] = {
10755         {  0, "eRM", ASN1_EXTENSION_ROOT,
10756                         dissect_h245_V76LogicalChannelParameters_mode_eRM },
10757         {  1, "uNERM", ASN1_EXTENSION_ROOT,
10758                         dissect_h245_NULL },
10759         {  0, NULL, 0, NULL }
10760 };
10761 static int
10762 dissect_h245_V76LogicalChannelParameters_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10763 {
10764         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode, ett_h245_V76LogicalChannelParameters_mode, V76LogicalChannelParameters_mode_choice, "mode", NULL);
10765
10766         return offset;
10767 }
10768
10769
10770
10771
10772 static int
10773 dissect_h245_n401(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10774 {
10775         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10776                 tree, hf_h245_n401, 1, 4095,
10777                 NULL, NULL, FALSE);
10778
10779         return offset;
10780 }
10781
10782
10783
10784
10785
10786 static per_sequence_t V76HDLCParameters_sequence[] = {
10787         { "crcLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10788                 dissect_h245_CRCLength },
10789         { "n401", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10790                 dissect_h245_n401 },
10791         { "loopbackTestProcedure", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10792                 dissect_h245_loopbackTestProcedure },
10793         { NULL, 0, 0, NULL }
10794 };
10795 static int
10796 dissect_h245_V76HDLCParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10797 {
10798         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76HDLCParameters, ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
10799
10800         return offset;
10801 }
10802
10803
10804
10805
10806 static per_sequence_t V76LogicalChannelParameters_sequence[] = {
10807         { "hdlcParameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10808                 dissect_h245_V76HDLCParameters },
10809         { "suspendResume", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10810                 dissect_h245_V76LogicalChannelParameters_suspendResume },
10811         { "uIH", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10812                 dissect_h245_uIH },
10813         { "mode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10814                 dissect_h245_V76LogicalChannelParameters_mode },
10815         { "v75Parameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10816                 dissect_h245_V75Parameters },
10817         { NULL, 0, 0, NULL }
10818 };
10819 static int
10820 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10821 {
10822         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters, ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
10823
10824         return offset;
10825 }
10826
10827
10828
10829 static int
10830 dissect_h245_sessionID_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10831 {
10832         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10833                 tree, hf_h245_sessionID_0_255, 0, 255,
10834                 NULL, NULL, FALSE);
10835
10836         return offset;
10837 }
10838
10839
10840
10841 static int
10842 dissect_h245_sessionID_1_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10843 {
10844         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10845                 tree, hf_h245_sessionID_1_255, 1, 255,
10846                 NULL, NULL, FALSE);
10847
10848         return offset;
10849 }
10850
10851
10852
10853
10854 static int
10855 dissect_h245_associatedSessionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10856 {
10857         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10858                 tree, hf_h245_associatedSessionID, 1, 255,
10859                 NULL, NULL, FALSE);
10860
10861         return offset;
10862 }
10863
10864
10865
10866
10867 static int
10868 dissect_h245_payloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10869 {
10870         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10871                 hf_h245_payloadType,  0,  127,
10872                 NULL, NULL, FALSE);
10873
10874         return offset;
10875 }
10876
10877
10878
10879
10880 static int
10881 dissect_h245_protectedSessionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10882 {
10883         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10884                 hf_h245_protectedSessionID,  1,  255,
10885                 NULL, NULL, FALSE);
10886
10887         return offset;
10888 }
10889
10890
10891
10892 static int
10893 dissect_h245_protectedPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10894 {
10895         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10896                 hf_h245_protectedPayloadType,  0,  127,
10897                 NULL, NULL, FALSE);
10898
10899         return offset;
10900 }
10901
10902
10903
10904
10905 static per_sequence_t FECData_rfc2733_mode_separateStream_differentPort_sequence[] = {
10906         { "protectedSessionID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10907                 dissect_h245_protectedSessionID },
10908         { "protectedPayloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
10909                 dissect_h245_protectedPayloadType },
10910         { NULL, 0, 0, NULL }
10911 };
10912 static int
10913 dissect_h245_FECData_rfc2733_mode_separateStream_differentPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10914 {
10915         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733_mode_separateStream_differentPort, ett_h245_FECData_rfc2733_mode_separateStream_differentPort, FECData_rfc2733_mode_separateStream_differentPort_sequence);
10916
10917         return offset;
10918 }
10919
10920
10921
10922
10923 static per_sequence_t FECData_rfc2733_mode_separateStream_samePort_sequence[] = {
10924         { "protectedPayloadType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10925                 dissect_h245_protectedPayloadType },
10926         { NULL, 0, 0, NULL }
10927 };
10928 static int
10929 dissect_h245_FECData_rfc2733_mode_separateStream_samePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10930 {
10931         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733_mode_separateStream_samePort, ett_h245_FECData_rfc2733_mode_separateStream_samePort, FECData_rfc2733_mode_separateStream_samePort_sequence);
10932
10933         return offset;
10934 }
10935
10936
10937
10938 static const value_string FECData_rfc2733_mode_separateStream_vals[] = {
10939         {  0, "differentPort" },
10940         {  1, "samePort" },
10941         {  0, NULL }
10942 };
10943 static per_choice_t FECData_rfc2733_mode_separateStream_choice[] = {
10944         {  0, "differentPort", ASN1_EXTENSION_ROOT,
10945                 dissect_h245_FECData_rfc2733_mode_separateStream_differentPort },
10946         {  1, "samePort", ASN1_EXTENSION_ROOT,
10947                 dissect_h245_FECData_rfc2733_mode_separateStream_samePort },
10948         {  0, NULL, 0, NULL }
10949 };
10950 static int
10951 dissect_h245_FECData_rfc2733_mode_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10952 {
10953         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733_mode_separateStream, ett_h245_FECData_rfc2733_mode_separateStream, FECData_rfc2733_mode_separateStream_choice, "separateStream", NULL);
10954
10955         return offset;
10956 }
10957
10958
10959
10960
10961 static const value_string FECData_rfc2733_mode_vals[] = {
10962         {  0, "redundancyEncoding" },
10963         {  1, "separateStream" },
10964         {  0, NULL }
10965 };
10966 static per_choice_t FECData_rfc2733_mode_choice[] = {
10967         {  0, "redundancyEncoding", ASN1_EXTENSION_ROOT,
10968                         dissect_h245_NULL },
10969         {  1, "separateStream", ASN1_EXTENSION_ROOT,
10970                         dissect_h245_FECData_rfc2733_mode_separateStream },
10971         {  0, NULL, 0, NULL }
10972 };
10973 static int
10974 dissect_h245_FECData_rfc2733_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10975 {
10976         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733_mode, ett_h245_FECData_rfc2733_mode, FECData_rfc2733_mode_choice, "mode", NULL);
10977
10978         return offset;
10979 }
10980
10981
10982
10983
10984 static per_sequence_t FECData_rfc2733_sequence[] = {
10985         { "mode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10986                 dissect_h245_FECData_rfc2733_mode },
10987         { NULL, 0, 0, NULL }
10988 };
10989 static int
10990 dissect_h245_FECData_rfc2733(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10991 {
10992         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733, ett_h245_FECData_rfc2733, FECData_rfc2733_sequence);
10993
10994         return offset;
10995 }
10996
10997
10998
10999
11000 static const value_string FECData_vals[] = {
11001         {  0, "rfc2733" },
11002         {  0, NULL }
11003 };
11004 static per_choice_t FECData_choice[] = {
11005         {  0, "rfc2733", ASN1_NO_EXTENSIONS,
11006                 dissect_h245_FECData_rfc2733 },
11007         {  0, NULL, 0, NULL }
11008 };
11009 static int
11010 dissect_h245_FECData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11011 {
11012         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData, ett_h245_FECData, FECData_choice, "FECData", NULL);
11013
11014         return offset;
11015 }
11016
11017
11018
11019
11020 static per_sequence_t FECMode_rfc2733Mode_mode_separateStream_differentPort_sequence[] = {
11021         { "protectedSessionID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11022                 dissect_h245_protectedSessionID },
11023         { "protectedPayloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
11024                 dissect_h245_protectedPayloadType },
11025         { NULL, 0, 0, NULL }
11026 };
11027 static int
11028 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11029 {
11030         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort, ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort, FECMode_rfc2733Mode_mode_separateStream_differentPort_sequence);
11031
11032         return offset;
11033 }
11034
11035
11036
11037
11038 static int
11039 dissect_h245_tsapIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11040 {
11041         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11042                 hf_h245_tsapIdentifier,  0,  65535,
11043                 &ipv4_port, NULL, FALSE);
11044
11045         return offset;
11046 }
11047
11048
11049
11050 static int
11051 dissect_h245_synchFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11052 {
11053         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11054                 hf_h245_synchFlag,  0,  255,
11055                 NULL, NULL, FALSE);
11056
11057         return offset;
11058 }
11059
11060
11061
11062
11063 static int
11064 dissect_h245_finite_1_65535(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11065 {
11066         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11067                 hf_h245_finite_1_65535,  1,  65535,
11068                 NULL, NULL, FALSE);
11069
11070         return offset;
11071 }
11072
11073
11074
11075
11076 static const value_string MultiplexElement_repeatCount_vals[] = {
11077         {  0, "finite" },
11078         {  1, "untilClosingFlag" },
11079         {  0, NULL }
11080 };
11081 static per_choice_t MultiplexElement_repeatCount_choice[] = {
11082         {  0, "finite", ASN1_NO_EXTENSIONS,
11083                         dissect_h245_finite_1_65535 },
11084         {  1, "untilClosingFlag", ASN1_NO_EXTENSIONS,
11085                         dissect_h245_NULL },
11086         {  0, NULL, 0, NULL }
11087 };
11088 static int
11089 dissect_h245_MultiplexElement_repeatCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11090 {
11091         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexElement_repeatCount, ett_h245_MultiplexElement_repeatCount, MultiplexElement_repeatCount_choice, "repeatCount", NULL);
11092
11093         return offset;
11094 }
11095
11096
11097
11098
11099 static int
11100 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11101 {
11102         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11103                 hf_h245_MultiplexTableEntryNumber,  1,  15,
11104                 NULL, NULL, FALSE);
11105
11106         return offset;
11107 }
11108
11109
11110
11111
11112 static per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11113         { "multiplexTableEntryNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11114                 dissect_h245_MultiplexTableEntryNumber },
11115         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11116                 dissect_h245_MultiplexEntryRejectionDescriptions_cause },
11117         { NULL, 0, 0, NULL }
11118 };
11119 static int
11120 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11121 {
11122         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryRejectionDescriptions, ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11123
11124         return offset;
11125 }
11126
11127
11128
11129
11130 static per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11131         { "multiplexTableEntryNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11132                 dissect_h245_MultiplexTableEntryNumber },
11133         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11134                 dissect_h245_RequestMultiplexEntryRejectionDescriptions_cause},
11135         { NULL, 0, 0, NULL }
11136 };
11137 static int
11138 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11139 {
11140         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRejectionDescriptions, ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11141
11142         return offset;
11143 }
11144
11145
11146
11147
11148 static int
11149 dissect_h245_dataModeBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11150 {
11151         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11152                 hf_h245_dataModeBitRate,  0,  4294967295UL,
11153                 NULL, NULL, FALSE);
11154
11155         return offset;
11156 }
11157
11158
11159
11160 static int
11161 dissect_h245_sessionDependency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11162 {
11163         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11164                 hf_h245_sessionDependency,  1,  255,
11165                 NULL, NULL, FALSE);
11166
11167         return offset;
11168 }
11169
11170
11171
11172 static int
11173 dissect_h245_sRandom(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11174 {
11175         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11176                 hf_h245_sRandom,  1,  4294967295UL,
11177                 NULL, NULL, FALSE);
11178
11179         return offset;
11180 }
11181
11182
11183
11184 static int
11185 dissect_h245_McuNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11186 {
11187         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11188                 hf_h245_McuNumber,  0,  192,
11189                 NULL, NULL, FALSE);
11190
11191         return offset;
11192 }
11193
11194
11195
11196
11197 static int
11198 dissect_h245_TerminalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11199 {
11200         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11201                 hf_h245_TerminalNumber,  0,  192,
11202                 NULL, NULL, FALSE);
11203
11204         return offset;
11205 }
11206
11207
11208
11209
11210 static per_sequence_t TerminalLabel_sequence[] = {
11211         { "mcuNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11212                 dissect_h245_McuNumber },
11213         { "terminalNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11214                 dissect_h245_TerminalNumber },
11215         { NULL, 0, 0, NULL }
11216 };
11217 static int
11218 dissect_h245_TerminalLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11219 {
11220         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalLabel, ett_h245_TerminalLabel, TerminalLabel_sequence);
11221
11222         return offset;
11223 }
11224
11225
11226
11227
11228
11229 static int
11230 dissect_h245_maxNumberOfAdditionalConnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11231 {
11232         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11233                 hf_h245_maxNumberOfAdditionalConnections,  1,  65535,
11234                 NULL, NULL, FALSE);
11235
11236         return offset;
11237 }
11238
11239
11240
11241
11242 static per_sequence_t MultilinkRequest_callInformation_sequence[] = {
11243         { "maxNumberOfAdditionalConnections", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11244                 dissect_h245_maxNumberOfAdditionalConnections },
11245         { NULL, 0, 0, NULL }
11246 };
11247 static int
11248 dissect_h245_MultilinkRequest_callInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11249 {
11250         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_callInformation, ett_h245_MultilinkRequest_callInformation, MultilinkRequest_callInformation_sequence);
11251
11252         return offset;
11253 }
11254
11255
11256
11257
11258
11259 static int
11260 dissect_h245_requestedInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11261 {
11262         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11263                 hf_h245_requestedInterval,  0,  65535,
11264                 NULL, NULL, FALSE);
11265
11266         return offset;
11267 }
11268
11269
11270
11271
11272 static const value_string MultilinkRequest_maximumHeaderInterval_requestType_vals[] = {
11273         {  0, "currentIntervalInformation" },
11274         {  1, "requestedInterval" },
11275         {  0, NULL }
11276 };
11277 static per_choice_t MultilinkRequest_maximumHeaderInterval_requestType_choice[] = {
11278         {  0, "currentIntervalInformation", ASN1_EXTENSION_ROOT,
11279                         dissect_h245_NULL },
11280         {  1, "requestedInterval", ASN1_EXTENSION_ROOT,
11281                         dissect_h245_requestedInterval },
11282         {  0, NULL, 0, NULL }
11283 };
11284 static int
11285 dissect_h245_MultilinkRequest_maximumHeaderInterval_requestType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11286 {
11287         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_maximumHeaderInterval_requestType, ett_h245_MultilinkRequest_maximumHeaderInterval_requestType, MultilinkRequest_maximumHeaderInterval_requestType_choice, "requestType", NULL);
11288
11289         return offset;
11290 }
11291
11292
11293
11294
11295 static per_sequence_t MultilinkRequest_maximumHeaderInterval_sequence[] = {
11296         { "requestType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11297                 dissect_h245_MultilinkRequest_maximumHeaderInterval_requestType },
11298         { NULL, 0, 0, NULL }
11299 };
11300 static int
11301 dissect_h245_MultilinkRequest_maximumHeaderInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11302 {
11303         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_maximumHeaderInterval, ett_h245_MultilinkRequest_maximumHeaderInterval, MultilinkRequest_maximumHeaderInterval_sequence);
11304
11305         return offset;
11306 }
11307
11308
11309
11310
11311 static int
11312 dissect_h245_callAssociationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11313 {
11314         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11315                 hf_h245_callAssociationNumber,  0,  4294967295UL,
11316                 NULL, NULL, FALSE);
11317
11318         return offset;
11319 }
11320
11321
11322
11323
11324 static int
11325 dissect_h245_currentInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11326 {
11327         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11328                 hf_h245_currentInterval,  0,  65535,
11329                 NULL, NULL, FALSE);
11330
11331         return offset;
11332 }
11333
11334
11335
11336 static per_sequence_t MultilinkResponse_maximumHeaderInterval_sequence[] = {
11337         { "currentInterval", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11338                 dissect_h245_currentInterval },
11339         { NULL, 0, 0, NULL }
11340 };
11341 static int
11342 dissect_h245_MultilinkResponse_maximumHeaderInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11343 {
11344         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_maximumHeaderInterval, ett_h245_MultilinkResponse_maximumHeaderInterval, MultilinkResponse_maximumHeaderInterval_sequence);
11345
11346         return offset;
11347 }
11348
11349
11350
11351
11352 static int
11353 dissect_h245_infoNotAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11354 {
11355         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11356                 hf_h245_infoNotAvailable,  1,  65535,
11357                 NULL, NULL, FALSE);
11358
11359         return offset;
11360 }
11361
11362
11363
11364
11365 static int
11366 dissect_h245_channelTag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11367 {
11368         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11369                 hf_h245_channelTag,  0,  4294967295UL,
11370                 NULL, NULL, FALSE);
11371
11372         return offset;
11373 }
11374
11375
11376
11377
11378 static int
11379 dissect_h245_ConnectionIDsequenceNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11380 {
11381         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11382                 hf_h245_ConnectionIDsequenceNumber,  0,  4294967295UL,
11383                 NULL, NULL, FALSE);
11384
11385         return offset;
11386 }
11387
11388
11389
11390
11391
11392 static per_sequence_t ConnectionIdentifier_sequence[] = {
11393         { "channelTag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11394                 dissect_h245_channelTag },
11395         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11396                 dissect_h245_ConnectionIDsequenceNumber },
11397         { NULL, 0, 0, NULL }
11398 };
11399 static int
11400 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11401 {
11402         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConnectionIdentifier, ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
11403
11404         return offset;
11405 }
11406
11407
11408
11409
11410 static per_sequence_t MultilinkRequest_removeConnection_sequence[] = {
11411         { "connectionIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11412                 dissect_h245_ConnectionIdentifier },
11413         { NULL, 0, 0, NULL }
11414 };
11415 static int
11416 dissect_h245_MultilinkRequest_removeConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11417 {
11418         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_removeConnection, ett_h245_MultilinkRequest_removeConnection, MultilinkRequest_removeConnection_sequence);
11419
11420         return offset;
11421 }
11422
11423
11424
11425
11426 static per_sequence_t MultilinkResponse_removeConnection_sequence[] = {
11427         { "connectionIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11428                 dissect_h245_ConnectionIdentifier },
11429         { NULL, 0, 0, NULL }
11430 };
11431 static int
11432 dissect_h245_MultilinkResponse_removeConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11433 {
11434         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_removeConnection, ett_h245_MultilinkResponse_removeConnection, MultilinkResponse_removeConnection_sequence);
11435
11436         return offset;
11437 }
11438
11439
11440
11441
11442 static per_sequence_t MultilinkIndication_excessiveError_sequence[] = {
11443         { "connectionIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11444                 dissect_h245_ConnectionIdentifier },
11445         { NULL, 0, 0, NULL }
11446 };
11447 static int
11448 dissect_h245_MultilinkIndication_excessiveError(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11449 {
11450         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication_excessiveError, ett_h245_MultilinkIndication_excessiveError, MultilinkIndication_excessiveError_sequence);
11451
11452         return offset;
11453 }
11454
11455
11456
11457
11458 static int
11459 dissect_h245_MaximumBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11460 {
11461         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11462                 hf_h245_MaximumBitRate,  0,  4294967295UL,
11463                 NULL, NULL, FALSE);
11464
11465         return offset;
11466 }
11467
11468
11469
11470 static per_sequence_t LogicalChannelRateRequest_sequence[] = {
11471         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11472                 dissect_h245_SequenceNumber },
11473         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11474                 dissect_h245_LogicalChannelNumber },
11475         { "maximumBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11476                 dissect_h245_MaximumBitRate },
11477         { NULL, 0, 0, NULL }
11478 };
11479 static int
11480 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11481 {
11482         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRequest, ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
11483
11484         return offset;
11485 }
11486
11487
11488
11489 static per_sequence_t LogicalChannelRateAck_sequence[] = {
11490         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11491                 dissect_h245_SequenceNumber },
11492         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11493                 dissect_h245_LogicalChannelNumber },
11494         { "maximumBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11495                 dissect_h245_MaximumBitRate },
11496         { NULL, 0, 0, NULL }
11497 };
11498 static int
11499 dissect_h245_LogicalChannelRateAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11500 {
11501         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateAck, ett_h245_LogicalChannelRateAck, LogicalChannelRateAck_sequence);
11502
11503         return offset;
11504 }
11505
11506
11507
11508
11509 static per_sequence_t LogicalChannelRateReject_sequence[] = {
11510         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11511                         dissect_h245_SequenceNumber },
11512         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11513                         dissect_h245_LogicalChannelNumber },
11514         { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11515                         dissect_h245_LogicalChannelRateRejectReason },
11516         { "currentMaximumBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
11517                         dissect_h245_MaximumBitRate },
11518         { NULL, 0, 0, NULL }
11519 };
11520 static int
11521 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11522 {
11523         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateReject, ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
11524
11525         return offset;
11526 }
11527
11528
11529
11530
11531
11532 static per_sequence_t LogicalChannelRateRelease_sequence[] = {
11533         { NULL, 0, 0, NULL }
11534 };
11535 static int
11536 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11537 {
11538         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRelease, ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
11539
11540         return offset;
11541 }
11542
11543
11544
11545
11546 static int
11547 dissect_h245_maximumBitRate_0_16777215(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11548 {
11549         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11550                 hf_h245_maximumBitRate_0_16777215,  0,  16777215,
11551                 NULL, NULL, FALSE);
11552
11553         return offset;
11554 }
11555
11556
11557
11558 static const value_string FlowControlCommand_restriction_vals[] = {
11559         {  0, "maximumBitRate" },
11560         {  1, "noRestriction" },
11561         {  0, NULL }
11562 };
11563 static per_choice_t FlowControlCommand_restriction_choice[] = {
11564         {  0, "maximumBitRate", ASN1_NO_EXTENSIONS,
11565                         dissect_h245_maximumBitRate_0_16777215 },
11566         {  1, "noRestriction", ASN1_NO_EXTENSIONS,
11567                         dissect_h245_NULL },
11568         {  0, NULL, 0, NULL }
11569 };
11570 static int
11571 dissect_h245_FlowControlCommand_restriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11572 {
11573         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand_restriction, ett_h245_FlowControlCommand_restriction, FlowControlCommand_restriction_choice, "restriction", NULL);
11574
11575         return offset;
11576 }
11577
11578
11579
11580
11581 static const value_string FlowControlIndication_restriction_vals[] = {
11582         {  0, "maximumBitRate" },
11583         {  1, "noRestriction" },
11584         {  0, NULL }
11585 };
11586 static per_choice_t FlowControlIndication_restriction_choice[] = {
11587         {  0, "maximumBitRate", ASN1_NO_EXTENSIONS,
11588                         dissect_h245_maximumBitRate_0_16777215 },
11589         {  1, "noRestrictions", ASN1_NO_EXTENSIONS,
11590                         dissect_h245_NULL },
11591         {  0, NULL, 0, NULL }
11592 };
11593 static int
11594 dissect_h245_FlowControlIndication_restriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11595 {
11596         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication_restriction, ett_h245_FlowControlIndication_restriction, FlowControlIndication_restriction_choice, "restriction", NULL);
11597
11598         return offset;
11599 }
11600
11601
11602
11603
11604 static per_sequence_t FlowControlCommand_sequence[] = {
11605         { "scope", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11606                 dissect_h245_FlowControlCommand_scope },
11607         { "restriction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11608                 dissect_h245_FlowControlCommand_restriction },
11609         { NULL, 0, 0, NULL }
11610 };
11611 static int
11612 dissect_h245_FlowControlCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11613 {
11614         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand, ett_h245_FlowControlCommand, FlowControlCommand_sequence);
11615
11616         return offset;
11617 }
11618
11619
11620
11621 static per_sequence_t FlowControlIndication_sequence[] = {
11622         { "scope", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11623                 dissect_h245_FlowControlIndication_scope },
11624         { "restriction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11625                 dissect_h245_FlowControlIndication_restriction },
11626         { NULL, 0, 0, NULL }
11627 };
11628 static int
11629 dissect_h245_FlowControlIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11630 {
11631         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication, ett_h245_FlowControlIndication, FlowControlIndication_sequence);
11632
11633         return offset;
11634 }
11635
11636
11637
11638
11639 static int
11640 dissect_h245_firstGOB_0_17(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11641 {
11642         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11643                 hf_h245_firstGOB_0_17,  0,  17,
11644                 NULL, NULL, FALSE);
11645
11646         return offset;
11647 }
11648
11649
11650
11651 static int
11652 dissect_h245_numberOfGOBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11653 {
11654         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11655                 hf_h245_numberOfGOBs,  1,  18,
11656                 NULL, NULL, FALSE);
11657
11658         return offset;
11659 }
11660
11661
11662
11663
11664 static per_sequence_t MiscellaneousCommand_type_videoFastUpdateGOB_sequence[] = {
11665         { "firstGOB", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
11666                 dissect_h245_firstGOB_0_17 },
11667         { "numberOfGOBs", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
11668                 dissect_h245_numberOfGOBs },
11669         { NULL, 0, 0, NULL }
11670 };
11671 static int
11672 dissect_h245_MiscellaneousCommand_type_videoFastUpdateGOB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11673 {
11674         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB, ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB, MiscellaneousCommand_type_videoFastUpdateGOB_sequence);
11675
11676         return offset;
11677 }
11678
11679
11680
11681
11682 static int
11683 dissect_h245_videoTemporalSpatialTradeOff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11684 {
11685         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11686                 hf_h245_videoTemporalSpatialTradeOff,  0,  31,
11687                 NULL, NULL, FALSE);
11688
11689         return offset;
11690 }
11691
11692
11693
11694 static int
11695 dissect_h245_firstGOB_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11696 {
11697         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11698                 hf_h245_firstGOB_0_255,  0,  255,
11699                 NULL, NULL, FALSE);
11700
11701         return offset;
11702 }
11703
11704
11705
11706 static int
11707 dissect_h245_firstMB_1_8192(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11708 {
11709         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11710                 hf_h245_firstMB_1_8192,  1,  8192,
11711                 NULL, NULL, FALSE);
11712
11713         return offset;
11714 }
11715
11716
11717
11718 static int
11719 dissect_h245_firstMB_1_9216(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11720 {
11721         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11722                 hf_h245_firstMB_1_9216,  1,  9216,
11723                 NULL, NULL, FALSE);
11724
11725         return offset;
11726 }
11727
11728
11729
11730
11731 static int
11732 dissect_h245_numberOfMBs_1_8192(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11733 {
11734         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11735                 hf_h245_numberOfMBs_1_8192,  1,  8192,
11736                 NULL, NULL, FALSE);
11737
11738         return offset;
11739 }
11740
11741
11742
11743
11744 static int
11745 dissect_h245_numberOfMBs_1_9216(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11746 {
11747         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11748                 hf_h245_numberOfMBs_1_9216,  1,  9216,
11749                 NULL, NULL, FALSE);
11750
11751         return offset;
11752 }
11753
11754
11755
11756
11757 static per_sequence_t MiscellaneousCommand_type_videoFastUpdateMB_sequence[] = {
11758         { "firstGOB", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
11759                 dissect_h245_firstGOB_0_255 },
11760         { "firstMB", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
11761                 dissect_h245_firstMB_1_8192 },
11762         { "numberOfMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11763                 dissect_h245_numberOfMBs_1_8192 },
11764         { NULL, 0, 0, NULL }
11765 };
11766 static int
11767 dissect_h245_MiscellaneousCommand_type_videoFastUpdateMB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11768 {
11769         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoFastUpdateMB, ett_h245_MiscellaneousCommand_type_videoFastUpdateMB, MiscellaneousCommand_type_videoFastUpdateMB_sequence);
11770
11771         return offset;
11772 }
11773
11774
11775
11776
11777 static int
11778 dissect_h245_maxH223MUXPDUsize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11779 {
11780         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11781                 hf_h245_maxH223MUXPDUsize,  1,  65535,
11782                 NULL, NULL, FALSE);
11783
11784         return offset;
11785 }
11786
11787
11788
11789
11790 static int
11791 dissect_h245_temporalReference_0_1023(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11792 {
11793         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11794                 hf_h245_temporalReference_0_1023,  0,  1023,
11795                 NULL, NULL, FALSE);
11796
11797         return offset;
11798 }
11799
11800
11801
11802
11803
11804
11805 static int
11806 dissect_h245_temporalReference_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11807 {
11808         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11809                 hf_h245_temporalReference_0_255,  0,  255,
11810                 NULL, NULL, FALSE);
11811
11812         return offset;
11813 }
11814
11815
11816
11817
11818 static per_sequence_t MiscellaneousIndication_type_videoNotDecodedMBs_sequence[] = {
11819         { "firstMB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11820                 dissect_h245_firstMB_1_8192 },
11821         { "numberOfMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11822                 dissect_h245_numberOfMBs_1_8192 },
11823         { "temporalReference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11824                 dissect_h245_temporalReference_0_255 },
11825         { NULL, 0, 0, NULL }
11826 };
11827 static int
11828 dissect_h245_MiscellaneousIndication_type_videoNotDecodedMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11829 {
11830         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs, ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs, MiscellaneousIndication_type_videoNotDecodedMBs_sequence);
11831
11832         return offset;
11833 }
11834
11835
11836
11837
11838
11839 static per_sequence_t MiscellaneousCommand_type_videoBadMBs_sequence[] = {
11840         { "firstMB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11841                 dissect_h245_firstMB_1_9216 },
11842         { "numberOfMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11843                 dissect_h245_numberOfMBs_1_9216 },
11844         { "temporalReference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11845                 dissect_h245_temporalReference_0_1023 },
11846         { NULL, 0, 0, NULL }
11847 };
11848 static int
11849 dissect_h245_MiscellaneousCommand_type_videoBadMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11850 {
11851         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoBadMBs, ett_h245_MiscellaneousCommand_type_videoBadMBs, MiscellaneousCommand_type_videoBadMBs_sequence);
11852
11853         return offset;
11854 }
11855
11856
11857
11858
11859 static int
11860 dissect_h245_pictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11861 {
11862         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11863                 hf_h245_pictureNumber,  0,  1023,
11864                 NULL, NULL, FALSE);
11865
11866         return offset;
11867 }
11868
11869
11870
11871
11872 static int
11873 dissect_h245_longTermPictureIndex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11874 {
11875         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11876                 hf_h245_longTermPictureIndex,  0,  255,
11877                 NULL, NULL, FALSE);
11878
11879         return offset;
11880 }
11881
11882
11883
11884
11885 static const value_string PictureReference_vals[] = {
11886         {  0, "pictureNumber" },
11887         {  1, "longTermPictureIndex" },
11888         {  0, NULL }
11889 };
11890 static per_choice_t PictureReference_choice[] = {
11891         {  0, "pictureNumber", ASN1_EXTENSION_ROOT,
11892                 dissect_h245_pictureNumber },
11893         {  1, "longTermPictureIndex", ASN1_EXTENSION_ROOT,
11894                 dissect_h245_longTermPictureIndex },
11895         {  0, NULL, 0, NULL }
11896 };
11897 static int
11898 dissect_h245_PictureReference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11899 {
11900         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_PictureReference, ett_h245_PictureReference, PictureReference_choice, "PictureReference", NULL);
11901
11902         return offset;
11903 }
11904
11905
11906
11907
11908 static per_sequence_t MiscellaneousCommand_type_lostPartialPicture_sequence[] = {
11909         { "pictureReference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11910                 dissect_h245_PictureReference },
11911         { "firstMB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11912                 dissect_h245_firstMB_1_9216 },
11913         { "numberOfMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11914                 dissect_h245_numberOfMBs_1_9216 },
11915         { NULL, 0, 0, NULL }
11916 };
11917 static int
11918 dissect_h245_MiscellaneousCommand_type_lostPartialPicture(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11919 {
11920         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_lostPartialPicture, ett_h245_MiscellaneousCommand_type_lostPartialPicture, MiscellaneousCommand_type_lostPartialPicture_sequence);
11921
11922         return offset;
11923 }
11924
11925
11926
11927
11928 static int
11929 dissect_h245_sampleSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11930 {
11931         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11932                 hf_h245_sampleSize,  1,  255,
11933                 NULL, NULL, FALSE);
11934
11935         return offset;
11936 }
11937
11938
11939
11940 static int
11941 dissect_h245_samplesPerFrame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11942 {
11943         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11944                 hf_h245_samplesPerFrame,  1,  255,
11945                 NULL, NULL, FALSE);
11946
11947         return offset;
11948 }
11949
11950
11951
11952 static per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
11953         { "sampleSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11954                 dissect_h245_sampleSize },
11955         { "samplesPerFrame", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11956                 dissect_h245_samplesPerFrame },
11957         { NULL, 0, 0, NULL }
11958 };
11959 static int
11960 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11961 {
11962         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationIndication, ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
11963
11964         return offset;
11965 }
11966
11967
11968
11969
11970 static per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
11971         { "sampleSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11972                 dissect_h245_sampleSize },
11973         { "samplesPerFrame", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11974                 dissect_h245_samplesPerFrame },
11975         { "status", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11976                 dissect_h245_MobileMultilinkReconfigurationCommand_status },
11977         { NULL, 0, 0, NULL }
11978 };
11979 static int
11980 dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11981 {
11982         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationCommand, ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
11983
11984         return offset;
11985 }
11986
11987
11988
11989
11990 static int
11991 dissect_h245_sbeNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11992 {
11993         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11994                 hf_h245_sbeNumber,  0,  9,
11995                 NULL, NULL, FALSE);
11996
11997         return offset;
11998 }
11999
12000
12001
12002
12003
12004
12005
12006 static int
12007 dissect_h245_subPictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12008 {
12009         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12010                 hf_h245_subPictureNumber,  0,  255,
12011                 NULL, NULL, FALSE);
12012
12013         return offset;
12014 }
12015
12016
12017
12018
12019 static per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
12020         { "terminalNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12021                 dissect_h245_TerminalNumber },
12022         { "subPictureNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12023                 dissect_h245_subPictureNumber },
12024         { NULL, 0, 0, NULL }
12025 };
12026 static int
12027 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12028 {
12029         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalYouAreSeeingInSubPictureNumber, ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
12030
12031         return offset;
12032 }
12033
12034
12035
12036 static int
12037 dissect_h245_compositionNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12038 {
12039         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12040                 hf_h245_compositionNumber,  0,  255,
12041                 NULL, NULL, FALSE);
12042
12043         return offset;
12044 }
12045
12046
12047
12048
12049 static per_sequence_t VideoIndicateCompose_sequence[] = {
12050         { "compositionNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12051                 dissect_h245_compositionNumber },
12052         { NULL, 0, 0, NULL }
12053 };
12054 static int
12055 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12056 {
12057         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VideoIndicateCompose, ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
12058
12059         return offset;
12060 }
12061
12062
12063
12064
12065 static const value_string ConferenceIndication_vals[] = {
12066         {  0, "sbeNumber" },
12067         {  1, "terminalNumberAssign" },
12068         {  2, "terminalJoinedConference" },
12069         {  3, "terminalLeftConference" },
12070         {  4, "seenByAtLeastOneOther" },
12071         {  5, "cancelSeenByAtLeastOneOther" },
12072         {  6, "seenByAll" },
12073         {  7, "cancelSeenByAll" },
12074         {  8, "terminalAreYouSeeing" },
12075         {  9, "requestForFloor" },
12076         { 10, "withdrawChairToken" },
12077         { 11, "floorRequested" },
12078         { 12, "terminalAreYouSeeingInSubPictureNumber" },
12079         { 13, "videoIndicateCompose" },
12080         {  0, NULL }
12081 };
12082 static per_choice_t ConferenceIndication_choice[] = {
12083         {  0, "sbeNumber", ASN1_EXTENSION_ROOT,
12084                         dissect_h245_sbeNumber },
12085         {  1, "terminalNumberAssign", ASN1_EXTENSION_ROOT,
12086                         dissect_h245_TerminalLabel },
12087         {  2, "terminalJoinedConference", ASN1_EXTENSION_ROOT,
12088                         dissect_h245_TerminalLabel },
12089         {  3, "terminalLeftConference", ASN1_EXTENSION_ROOT,
12090                         dissect_h245_TerminalLabel },
12091         {  4, "seenByAtLeastOneOther", ASN1_EXTENSION_ROOT,
12092                         dissect_h245_NULL },
12093         {  5, "cancelSeenByAtLeastOneOther", ASN1_EXTENSION_ROOT,
12094                         dissect_h245_NULL },
12095         {  6, "seenByAll", ASN1_EXTENSION_ROOT,
12096                         dissect_h245_NULL },
12097         {  7, "cancelSeenByAll", ASN1_EXTENSION_ROOT,
12098                         dissect_h245_NULL },
12099         {  8, "terminalAreYouSeeing", ASN1_EXTENSION_ROOT,
12100                         dissect_h245_TerminalLabel },
12101         {  9, "requestForFloor", ASN1_EXTENSION_ROOT,
12102                         dissect_h245_NULL },
12103         { 10, "withdrawChairToken", ASN1_NOT_EXTENSION_ROOT,
12104                         dissect_h245_NULL },
12105         { 11, "floorRequested", ASN1_NOT_EXTENSION_ROOT,
12106                         dissect_h245_TerminalLabel },
12107         { 12, "terminalAreYouSeeingInSubPictureNumber", ASN1_NOT_EXTENSION_ROOT,
12108                         dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
12109         { 13, "videoIndicateCompose", ASN1_NOT_EXTENSION_ROOT,
12110                         dissect_h245_VideoIndicateCompose },
12111         {  0, NULL, 0, NULL }
12112 };
12113 static int
12114 dissect_h245_ConferenceIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12115 {
12116         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceIndication, ett_h245_ConferenceIndication, ConferenceIndication_choice, "ConferenceIndication", NULL);
12117
12118         return offset;
12119 }
12120
12121
12122
12123
12124 static int
12125 dissect_h245_estimatedReceivedJitterMantissa(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12126 {
12127         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12128                 hf_h245_estimatedReceivedJitterMantissa,  0,  3,
12129                 NULL, NULL, FALSE);
12130
12131         return offset;
12132 }
12133
12134
12135
12136
12137 static int
12138 dissect_h245_estimatedReceivedJitterExponent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12139 {
12140         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12141                 hf_h245_estimatedReceivedJitterExponent,  0,  7,
12142                 NULL, NULL, FALSE);
12143
12144         return offset;
12145 }
12146
12147
12148
12149 static int
12150 dissect_h245_skippedFrameCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12151 {
12152         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12153                 hf_h245_skippedFrameCount,  0,  15,
12154                 NULL, NULL, FALSE);
12155
12156         return offset;
12157 }
12158
12159
12160
12161
12162 static int
12163 dissect_h245_additionalDecoderBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12164 {
12165         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12166                 hf_h245_additionalDecoderBuffer,  0,  262143,
12167                 NULL, NULL, FALSE);
12168
12169         return offset;
12170 }
12171
12172
12173
12174
12175 static per_sequence_t JitterIndication_sequence[] = {
12176         { "scope", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12177                 dissect_h245_JitterIndication_scope },
12178         { "estimatedReceivedJitterMantissa", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12179                 dissect_h245_estimatedReceivedJitterMantissa },
12180         { "estimatedReceivedJitterExponent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12181                 dissect_h245_estimatedReceivedJitterExponent },
12182         { "skippedFrameCount", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12183                 dissect_h245_skippedFrameCount },
12184         { "additionalDecoderBuffer", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12185                 dissect_h245_additionalDecoderBuffer },
12186         { NULL, 0, 0, NULL }
12187 };
12188 static int
12189 dissect_h245_JitterIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12190 {
12191         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_JitterIndication, ett_h245_JitterIndication, JitterIndication_sequence);
12192
12193         return offset;
12194 }
12195
12196
12197
12198
12199 static int
12200 dissect_h245_skew(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12201 {
12202         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12203                 hf_h245_skew,  0,  4095,
12204                 NULL, NULL, FALSE);
12205
12206         return offset;
12207 }
12208
12209
12210
12211 static per_sequence_t H223SkewIndication_sequence[] = {
12212         { "logicalChannelNumber1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12213                         dissect_h245_LogicalChannelNumber },
12214         { "logicalChannelNumber2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12215                         dissect_h245_LogicalChannelNumber },
12216         { "skew", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12217                         dissect_h245_skew },
12218         { NULL, 0, 0, NULL }
12219 };
12220 static int
12221 dissect_h245_H223SkewIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12222 {
12223         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223SkewIndication, ett_h245_H223SkewIndication, H223SkewIndication_sequence);
12224
12225         return offset;
12226 }
12227
12228
12229
12230
12231 static int
12232 dissect_h245_maximumSkew(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12233 {
12234         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12235                 hf_h245_maximumSkew,  0,  4095,
12236                 NULL, NULL, FALSE);
12237
12238         return offset;
12239 }
12240
12241
12242
12243
12244 static per_sequence_t H2250MaximumSkewIndication_sequence[] = {
12245         { "logicalChannelNumber1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12246                         dissect_h245_LogicalChannelNumber },
12247         { "logicalChannelNumber2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12248                         dissect_h245_LogicalChannelNumber },
12249         { "maximumSkew", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12250                         dissect_h245_maximumSkew },
12251         { NULL, 0, 0, NULL }
12252 };
12253 static int
12254 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12255 {
12256         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250MaximumSkewIndication, ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
12257
12258         return offset;
12259 }
12260
12261
12262
12263
12264 static int
12265 dissect_h245_duration(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12266 {
12267         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12268                 hf_h245_duration,  1,  65535,
12269                 NULL, NULL, FALSE);
12270
12271         return offset;
12272 }
12273
12274
12275
12276 static per_sequence_t UserInputIndication_signalUpdate_sequence[] = {
12277         { "duration", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12278                 dissect_h245_duration },
12279         { "rtp", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12280                 dissect_h245_UserInputIndication_signalUpdate_rtp },
12281         { NULL, 0, 0, NULL }
12282 };
12283 static int
12284 dissect_h245_UserInputIndication_signalUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12285 {
12286         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signalUpdate, ett_h245_UserInputIndication_signalUpdate, UserInputIndication_signalUpdate_sequence);
12287
12288         return offset;
12289 }
12290
12291
12292
12293
12294 static int
12295 dissect_h245_timestamp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12296 {
12297         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12298                 hf_h245_timestamp,  0,  4294967295UL,
12299                 NULL, NULL, FALSE);
12300
12301         return offset;
12302 }
12303
12304
12305
12306 static int
12307 dissect_h245_expirationTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12308 {
12309         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12310                 hf_h245_expirationTime,  0,  4294967295UL,
12311                 NULL, NULL, FALSE);
12312
12313         return offset;
12314 }
12315
12316
12317
12318
12319 static per_sequence_t UserInputIndication_signal_rtp_sequence[] = {
12320         { "timestamp", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12321                 dissect_h245_timestamp },
12322         { "expirationTime", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12323                 dissect_h245_expirationTime },
12324         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12325                 dissect_h245_LogicalChannelNumber },
12326         { NULL, 0, 0, NULL }
12327 };
12328 static int
12329 dissect_h245_UserInputIndication_signal_rtp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12330 {
12331         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signal_rtp, ett_h245_UserInputIndication_signal_rtp, UserInputIndication_signal_rtp_sequence);
12332
12333         return offset;
12334 }
12335
12336
12337
12338
12339
12340
12341 static per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
12342         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
12343 };
12344 static int
12345 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12346 {
12347         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationRelease, ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
12348
12349         return offset;
12350 }
12351
12352
12353
12354
12355
12356 static per_sequence_t MultilinkIndication_crcDesired_sequence[] = {
12357         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
12358 };
12359 static int
12360 dissect_h245_MultilinkIndication_crcDesired(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12361 {
12362         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication_crcDesired, ett_h245_MultilinkIndication_crcDesired, MultilinkIndication_crcDesired_sequence);
12363
12364         return offset;
12365 }
12366
12367
12368
12369
12370
12371 static int
12372 dissect_h245_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12373 {
12374         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_object, object);
12375         return offset;
12376 }
12377
12378
12379
12380 static int
12381 dissect_h245_protocolIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12382 {
12383         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_protocolIdentifier, NULL);
12384         return offset;
12385 }
12386
12387
12388
12389
12390 static int
12391 dissect_h245_algorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12392 {
12393         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_algorithm, NULL);
12394         return offset;
12395 }
12396
12397
12398
12399
12400 static int
12401 dissect_h245_antiSpamAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12402 {
12403         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_antiSpamAlgorithm, NULL);
12404         return offset;
12405 }
12406
12407
12408
12409
12410 static int
12411 dissect_h245_standard_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12412 {
12413         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_standard_object, NULL);
12414         return offset;
12415 }
12416
12417
12418
12419 static int
12420 dissect_h245_oid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12421 {
12422         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_oid, NULL);
12423         return offset;
12424 }
12425
12426
12427
12428
12429 static int
12430 dissect_h245_escrowID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12431 {
12432         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_escrowID, NULL);
12433         return offset;
12434 }
12435
12436
12437
12438
12439 static int
12440 dissect_h245_field(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12441 {
12442         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_field, NULL);
12443         return offset;
12444 }
12445
12446
12447
12448
12449 /* dissect_h245_NonStandardIdentifier is used for H.245 */
12450
12451 static const value_string NonStandardIdentifier_vals[] = {
12452         { 0,    "object" },
12453         { 1,    "h221NonStandard" },
12454         { 0, NULL }
12455 };
12456 static per_choice_t NonStandardIdentifier_choice[] = {
12457         { 0,    "object", ASN1_NO_EXTENSIONS,
12458                 dissect_h245_object },
12459         { 1,    "h221NonStandard", ASN1_NO_EXTENSIONS,
12460                 dissect_h245_h221NonStandard },
12461         { 0, NULL, 0, NULL }
12462 };
12463 static int
12464 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12465 {
12466         guint32 value;
12467
12468         *object = '\0';
12469         h221NonStandard = 0;
12470
12471         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NonStandardIdentifier, ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice, "NonStandardIdentifier", &value);
12472
12473         switch (value) {
12474                 case 0 :  /* object */
12475                         nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, object);
12476                         break;
12477                 case 1 :  /* h221NonStandard */
12478                         nsp_handle = dissector_get_port_handle(nsp_h221_dissector_table, h221NonStandard);
12479                         break;
12480                 default :
12481                         nsp_handle = NULL;
12482     }
12483
12484         return offset;
12485 }
12486
12487 static int
12488 dissect_h245_NonStandardParameterData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12489 {
12490         guint32 value_offset, value_len;
12491         tvbuff_t *next_tvb;
12492
12493         if (nsp_handle) {
12494                 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, -1, -1, -1, &value_offset, &value_len);
12495                 next_tvb = tvb_new_subset(tvb, value_offset, value_len, value_len);
12496                 call_dissector(nsp_handle, next_tvb, pinfo, tree);
12497         } else {
12498                 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_NonStandardParameterData, -1, -1, NULL, NULL);
12499         }
12500         return offset;
12501 }
12502
12503
12504
12505
12506 static int
12507 dissect_h245_nlpidData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12508 {
12509         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nlpidData, -1, -1, NULL, NULL);
12510         return offset;
12511 }
12512
12513
12514
12515
12516 static int
12517 dissect_h245_nonCollapsingRaw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12518 {
12519         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nonCollapsingRaw, -1, -1, NULL, NULL);
12520         return offset;
12521 }
12522
12523
12524
12525 static int
12526 dissect_h245_uuid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12527 {
12528         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_uuid, 16, 16, NULL, NULL);
12529         return offset;
12530 }
12531
12532
12533
12534
12535 static int
12536 dissect_h245_octetString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12537 {
12538         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_octetString, -1, -1, NULL, NULL);
12539         return offset;
12540 }
12541
12542
12543
12544
12545 static int
12546 dissect_h245_externalReference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12547 {
12548         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_externalReference, 1, 255, NULL, NULL);
12549         return offset;
12550 }
12551
12552
12553
12554
12555 static int
12556 dissect_h245_nsapAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12557 {
12558         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nsapAddress, 1, 20, NULL, NULL);
12559         return offset;
12560 }
12561
12562
12563
12564
12565 static int
12566 dissect_h245_subaddress_1_20(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12567 {
12568         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_subaddress_1_20, 1, 20, NULL, NULL);
12569         return offset;
12570 }
12571
12572
12573
12574
12575 static int
12576 dissect_h245_programDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12577 {
12578         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_programDescriptors, -1, -1, NULL, NULL);
12579         return offset;
12580 }
12581
12582
12583
12584 static int
12585 dissect_h245_streamDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12586 {
12587         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_streamDescriptors, -1, -1, NULL, NULL);
12588         return offset;
12589 }
12590
12591
12592
12593
12594 static int
12595 dissect_h245_ipv4network(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
12596 {
12597         /* byte aligned */
12598         if(offset&0x07){
12599                 offset=(offset&0xfffffff8)+8;
12600         }
12601         tvb_memcpy(tvb, (char *)&ipv4_address, offset>>3, 4);
12602         proto_tree_add_ipv4(tree, hf_h245_ipv4network, tvb, offset>>3, 4, ipv4_address);
12603
12604         offset+=32;
12605         return offset;
12606 }
12607
12608
12609
12610 static int
12611 dissect_h245_ipxNode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12612 {
12613         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipxNode, 6, 6, NULL, NULL);
12614         return offset;
12615 }
12616
12617
12618
12619 static int
12620 dissect_h245_ipxNetnum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12621 {
12622         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipxNetnum, 4, 4, NULL, NULL);
12623         return offset;
12624 }
12625
12626
12627
12628
12629 static int
12630 dissect_h245_ipv6network(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12631 {
12632         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipv6network, 16, 16, NULL, NULL);
12633         return offset;
12634 }
12635
12636
12637
12638 static int
12639 dissect_h245_netBios(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12640 {
12641         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_netBios, 16, 16, NULL, NULL);
12642         return offset;
12643 }
12644
12645
12646
12647
12648 static int
12649 dissect_h245_nsap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12650 {
12651         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nsap, 1, 20, NULL, NULL);
12652         return offset;
12653 }
12654
12655
12656
12657
12658 static int
12659 dissect_h245_h235Key(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12660 {
12661         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_h235Key, 1, 65535, NULL, NULL);
12662         return offset;
12663 }
12664
12665
12666
12667 static int
12668 dissect_h245_value(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12669 {
12670         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_value, 1, 65535, NULL, NULL);
12671         return offset;
12672 }
12673
12674
12675
12676
12677 static int
12678 dissect_h245_certificateResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12679 {
12680         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_certificateResponse, 1, 65535, NULL, NULL);
12681         return offset;
12682 }
12683
12684
12685
12686
12687 static int
12688 dissect_h245_TerminalID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12689 {
12690         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_TerminalID, 1, 128, NULL, NULL);
12691         return offset;
12692 }
12693
12694
12695
12696 static int
12697 dissect_h245_ConferenceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12698 {
12699         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ConferenceID, 1, 32, NULL, NULL);
12700         return offset;
12701 }
12702
12703
12704
12705 static int
12706 dissect_h245_Password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12707 {
12708         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_Password, 1, 32, NULL, NULL);
12709         return offset;
12710 }
12711
12712
12713
12714
12715 static int
12716 dissect_h245_encryptionSE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12717 {
12718         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_encryptionSE, -1, -1, NULL, NULL);
12719         return offset;
12720 }
12721
12722
12723
12724 static int
12725 dissect_h245_conferenceIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12726 {
12727         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_conferenceIdentifier, 1, 16, NULL, NULL);
12728         return offset;
12729 }
12730
12731
12732
12733
12734 static int
12735 dissect_h245_returnedFunction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12736 {
12737         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_returnedFunction, -1, -1, NULL, NULL);
12738         return offset;
12739 }
12740
12741
12742
12743
12744 static int
12745 dissect_h245_productNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12746 {
12747         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_productNumber, 1, 256, NULL, NULL);
12748         return offset;
12749 }
12750
12751
12752
12753
12754 static int
12755 dissect_h245_versionNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12756 {
12757         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_versionNumber, 1, 256, NULL, NULL);
12758         return offset;
12759 }
12760
12761
12762
12763
12764
12765 static per_sequence_t H222LogicalChannelParameters_sequence[] = {
12766         { "resourceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12767                 dissect_h245_resourceID },
12768         { "subChannelID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12769                 dissect_h245_subChannelID },
12770         { "pcr-pid", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12771                 dissect_h245_pcr_pid },
12772         { "programDescriptors", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12773                 dissect_h245_programDescriptors },
12774         { "streamDescriptors", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12775                 dissect_h245_streamDescriptors },
12776         { NULL, 0, 0, NULL }
12777 };
12778 static int
12779 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12780 {
12781         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H222LogicalChannelParameters, ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
12782
12783         return offset;
12784 }
12785
12786
12787
12788
12789
12790 static per_sequence_t UnicastAddress_iPAddress_sequence[] = {
12791         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12792                 dissect_h245_ipv4network },
12793         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12794                 dissect_h245_tsapIdentifier },
12795         { NULL, 0, 0, NULL }
12796 };
12797 static int
12798 dissect_h245_UnicastAddress_iPAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12799 {
12800         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPAddress, ett_h245_UnicastAddress_iPAddress, UnicastAddress_iPAddress_sequence);
12801
12802         return offset;
12803 }
12804
12805
12806
12807 static per_sequence_t UnicastAddress_iPXAddress_sequence[] = {
12808         { "node", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12809                 dissect_h245_ipxNode },
12810         { "netnum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12811                 dissect_h245_ipxNetnum },
12812         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12813                 dissect_h245_tsapIdentifier },
12814         { NULL, 0, 0, NULL }
12815 };
12816 static int
12817 dissect_h245_UnicastAddress_iPXAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12818 {
12819         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPXAddress, ett_h245_UnicastAddress_iPXAddress, UnicastAddress_iPXAddress_sequence);
12820
12821         return offset;
12822 }
12823
12824
12825
12826
12827 static per_sequence_t UnicastAddress_iP6Address_sequence[] = {
12828         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12829                 dissect_h245_ipv6network },
12830         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12831                 dissect_h245_tsapIdentifier },
12832         { NULL, 0, 0, NULL }
12833 };
12834 static int
12835 dissect_h245_UnicastAddress_iP6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12836 {
12837         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iP6Address, ett_h245_UnicastAddress_iP6Address, UnicastAddress_iP6Address_sequence);
12838
12839         return offset;
12840 }
12841
12842
12843
12844
12845
12846 static per_sequence_t VendorIdentification_sequence[] = {
12847         { "vendor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12848                 dissect_h245_NonStandardIdentifier },
12849         { "productNumber", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12850                 dissect_h245_productNumber },
12851         { "versionNumber", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12852                 dissect_h245_versionNumber },
12853         { NULL, 0, 0, NULL }
12854 };
12855 static int
12856 dissect_h245_VendorIdentification(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12857 {
12858         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VendorIdentification, ett_h245_VendorIdentification, VendorIdentification_sequence);
12859
12860         return offset;
12861 }
12862
12863
12864
12865
12866 static per_sequence_t MulticastAddress_iPAddress_sequence[] = {
12867         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12868                 dissect_h245_ipv4network },
12869         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12870                 dissect_h245_tsapIdentifier },
12871         { NULL, 0, 0, NULL }
12872 };
12873 static int
12874 dissect_h245_MulticastAddress_iPAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12875 {
12876         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MulticastAddress_iPAddress, ett_h245_MulticastAddress_iPAddress, MulticastAddress_iPAddress_sequence);
12877
12878         return offset;
12879 }
12880
12881
12882
12883
12884 static per_sequence_t MulticastAddress_iP6Address_sequence[] = {
12885         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12886                 dissect_h245_ipv6network },
12887         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12888                 dissect_h245_tsapIdentifier },
12889         { NULL, 0, 0, NULL }
12890 };
12891 static int
12892 dissect_h245_MulticastAddress_iP6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12893 {
12894         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MulticastAddress_iP6Address, ett_h245_MulticastAddress_iP6Address, MulticastAddress_iP6Address_sequence);
12895
12896         return offset;
12897 }
12898
12899
12900
12901
12902
12903 static per_sequence_t Criteria_sequence[] = {
12904         { "field", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12905                 dissect_h245_field },
12906         { "value", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12907                 dissect_h245_value },
12908         { NULL, 0, 0, NULL }
12909 };
12910 static int
12911 dissect_h245_Criteria(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12912 {
12913         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Criteria, ett_h245_Criteria, Criteria_sequence);
12914
12915         return offset;
12916 }
12917
12918
12919
12920
12921 static per_sequence_t ConferenceResponse_mCterminalIDResponse_sequence[] = {
12922         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12923                 dissect_h245_TerminalLabel },
12924         { "terminalID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12925                 dissect_h245_TerminalID },
12926         { NULL, 0, 0, NULL }
12927 };
12928 static int
12929 dissect_h245_ConferenceResponse_mCterminalIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12930 {
12931         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_mCterminalIDResponse, ett_h245_ConferenceResponse_mCterminalIDResponse, ConferenceResponse_mCterminalIDResponse_sequence);
12932
12933         return offset;
12934 }
12935
12936
12937
12938
12939 static per_sequence_t ConferenceResponse_conferenceIDResponse_sequence[] = {
12940         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12941                 dissect_h245_TerminalLabel },
12942         { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12943                 dissect_h245_ConferenceID },
12944         { NULL, 0, 0, NULL }
12945 };
12946 static int
12947 dissect_h245_ConferenceResponse_conferenceIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12948 {
12949         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_conferenceIDResponse, ett_h245_ConferenceResponse_conferenceIDResponse, ConferenceResponse_conferenceIDResponse_sequence);
12950
12951         return offset;
12952 }
12953
12954
12955
12956
12957 static per_sequence_t ConferenceResponse_passwordResponse_sequence[] = {
12958         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12959                 dissect_h245_TerminalLabel },
12960         { "password", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12961                 dissect_h245_Password },
12962         { NULL, 0, 0, NULL }
12963 };
12964 static int
12965 dissect_h245_ConferenceResponse_passwordResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12966 {
12967         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_passwordResponse, ett_h245_ConferenceResponse_passwordResponse, ConferenceResponse_passwordResponse_sequence);
12968
12969         return offset;
12970 }
12971
12972
12973
12974
12975
12976 static per_sequence_t ConferenceResponse_extensionAddressResponse_sequence[] = {
12977         { "extensionAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12978                 dissect_h245_TerminalID },
12979         { NULL, 0, 0, NULL }
12980 };
12981 static int
12982 dissect_h245_ConferenceResponse_extensionAddressResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12983 {
12984         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_extensionAddressResponse, ett_h245_ConferenceResponse_extensionAddressResponse, ConferenceResponse_extensionAddressResponse_sequence);
12985
12986         return offset;
12987 }
12988
12989
12990
12991
12992 static per_sequence_t ConferenceResponse_chairTokenOwnerResponse_sequence[] = {
12993         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12994                 dissect_h245_TerminalLabel },
12995         { "terminalID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12996                 dissect_h245_TerminalID },
12997         { NULL, 0, 0, NULL }
12998 };
12999 static int
13000 dissect_h245_ConferenceResponse_chairTokenOwnerResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13001 {
13002         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_chairTokenOwnerResponse, ett_h245_ConferenceResponse_chairTokenOwnerResponse, ConferenceResponse_chairTokenOwnerResponse_sequence);
13003
13004         return offset;
13005 }
13006
13007
13008
13009
13010 static per_sequence_t ConferenceResponse_terminalCertificateResponse_sequence[] = {
13011         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13012                 dissect_h245_TerminalLabel },
13013         { "certificateResponse", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13014                 dissect_h245_certificateResponse },
13015         { NULL, 0, 0, NULL }
13016 };
13017 static int
13018 dissect_h245_ConferenceResponse_terminalCertificateResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13019 {
13020         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_terminalCertificateResponse, ett_h245_ConferenceResponse_terminalCertificateResponse, ConferenceResponse_terminalCertificateResponse_sequence);
13021
13022         return offset;
13023 }
13024
13025
13026
13027
13028 static per_sequence_t TerminalInformation_sequence[] = {
13029         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13030                 dissect_h245_TerminalLabel },
13031         { "terminalID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13032                 dissect_h245_TerminalID },
13033         { NULL, 0, 0, NULL }
13034 };
13035 static int
13036 dissect_h245_TerminalInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13037 {
13038         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalInformation, ett_h245_TerminalInformation, TerminalInformation_sequence);
13039
13040         return offset;
13041 }
13042
13043
13044
13045 static per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
13046         { "conferenceIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13047                 dissect_h245_conferenceIdentifier },
13048         { NULL, 0, 0, NULL }
13049 };
13050 static int
13051 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13052 {
13053         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_SubstituteConferenceIDCommand, ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
13054
13055         return offset;
13056 }
13057
13058
13059
13060
13061 static const value_string ConferenceCommand_vals[] = {
13062         {  0, "broadcastMyLogicalChannel" },
13063         {  1, "cancelBroadcastMyLogicalChannel" },
13064         {  2, "makeTerminalBroadcaster" },
13065         {  3, "cancelMakeTerminalBroadcaster" },
13066         {  4, "sendThisSource" },
13067         {  5, "cancelSendThisSource" },
13068         {  6, "dropConference" },
13069         {  7, "substituteConferenceIDCommand" },
13070         {  0, NULL }
13071 };
13072 static per_choice_t ConferenceCommand_choice[] = {
13073         {  0, "broadcastMyLogicalChannel", ASN1_EXTENSION_ROOT,
13074                 dissect_h245_LogicalChannelNumber },
13075         {  1, "cancelBroadcastMyLogicalChannel", ASN1_EXTENSION_ROOT,
13076                 dissect_h245_LogicalChannelNumber },
13077         {  2, "makeTerminalBroadcaster", ASN1_EXTENSION_ROOT,
13078                 dissect_h245_TerminalLabel },
13079         {  3, "cancelMakeTerminalBroadcaster", ASN1_EXTENSION_ROOT,
13080                 dissect_h245_NULL },
13081         {  4, "sendThisSource", ASN1_EXTENSION_ROOT,
13082                 dissect_h245_TerminalLabel },
13083         {  5, "cancelSendThisSource", ASN1_EXTENSION_ROOT,
13084                 dissect_h245_NULL },
13085         {  6, "dropConference", ASN1_EXTENSION_ROOT,
13086                 dissect_h245_NULL },
13087         {  7, "substituteConferenceIDCommand", ASN1_NOT_EXTENSION_ROOT,
13088                 dissect_h245_SubstituteConferenceIDCommand },
13089         {  0, NULL, 0, NULL }
13090 };
13091 static int
13092 dissect_h245_ConferenceCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13093 {
13094         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceCommand, ett_h245_ConferenceCommand, ConferenceCommand_choice, "ConferenceCommand", NULL);
13095
13096         return offset;
13097 }
13098
13099
13100
13101
13102 static per_sequence_t FunctionNotSupported_sequence[] = {
13103         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13104                 dissect_h245_FunctionNotSupported_cause },
13105         { "returnedFunction", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13106                 dissect_h245_returnedFunction },
13107         { NULL, 0, 0, NULL }
13108 };
13109 static int
13110 dissect_h245_FunctionNotSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13111 {
13112         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FunctionNotSupported, ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
13113
13114         return offset;
13115 }
13116
13117
13118
13119
13120 /* dissect_h245_NonStandardParameter is used for H.245 */
13121
13122 static per_sequence_t NonStandardParameter_sequence[] = {
13123         { "nonStandardIdentifier", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13124                 dissect_h245_NonStandardIdentifier },
13125         { "data", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13126                 dissect_h245_NonStandardParameterData },
13127         { NULL, 0, 0, NULL }
13128 };
13129 int
13130 dissect_h245_NonStandardParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13131 {
13132         nsp_handle = NULL;
13133
13134         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardParameter, ett_h245_NonStandardParameter, NonStandardParameter_sequence);
13135
13136         return offset;
13137 }
13138
13139 static const value_string DataProtocolCapability_vals[] = {
13140         {  0, "nonStandard" },
13141         {  1, "v14buffered" },
13142         {  2, "v42lapm" },
13143         {  3, "hdlcFrameTunnelling" },
13144         {  4, "h310SeparateVCStack" },
13145         {  5, "h310SingleVCStack" },
13146         {  6, "transparent" },
13147         {  7, "segmentationAndReassembly" },
13148         {  8, "hdlcFrameTunnelingwSAR" },
13149         {  9, "v120" },
13150         { 10, "separateLANStack" },
13151         { 11, "v76wCompression" },
13152         { 12, "tcp" },
13153         { 13, "udp" },
13154         {  0, NULL }
13155 };
13156 static per_choice_t DataProtocolCapability_choice[] = {
13157         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13158                         dissect_h245_NonStandardParameter },
13159         {  1, "v14buffered", ASN1_EXTENSION_ROOT,
13160                         dissect_h245_NULL },
13161         {  2, "v42lapm", ASN1_EXTENSION_ROOT,
13162                         dissect_h245_NULL },
13163         {  3, "hdlcFrameTunnelling", ASN1_EXTENSION_ROOT,
13164                         dissect_h245_NULL },
13165         {  4, "h310SeparateVCStack", ASN1_EXTENSION_ROOT,
13166                         dissect_h245_NULL },
13167         {  5, "h310SingleVCStack", ASN1_EXTENSION_ROOT,
13168                         dissect_h245_NULL },
13169         {  6, "transparent", ASN1_EXTENSION_ROOT,
13170                         dissect_h245_NULL },
13171         {  7, "segmentationAndReassembly", ASN1_NOT_EXTENSION_ROOT,
13172                         dissect_h245_NULL },
13173         {  8, "hdlcFrameTunnelingwSAR", ASN1_NOT_EXTENSION_ROOT,
13174                         dissect_h245_NULL },
13175         {  9, "v120", ASN1_NOT_EXTENSION_ROOT,
13176                         dissect_h245_NULL },
13177         { 10, "separateLANStack", ASN1_NOT_EXTENSION_ROOT,
13178                         dissect_h245_NULL },
13179         { 11, "v76wCompression", ASN1_NOT_EXTENSION_ROOT,
13180                         dissect_h245_DataProtocolCapability_v76wCompression },
13181         { 12, "tcp", ASN1_NOT_EXTENSION_ROOT,
13182                         dissect_h245_NULL },
13183         { 13, "udp", ASN1_NOT_EXTENSION_ROOT,
13184                         dissect_h245_NULL },
13185         {  0, NULL, 0, NULL }
13186 };
13187 int
13188 dissect_h245_DataProtocolCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13189 {
13190         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataProtocolCapability, ett_h245_DataProtocolCapability, DataProtocolCapability_choice, "DataProtocolCapability", NULL);
13191
13192         return offset;
13193 }
13194
13195
13196
13197
13198 static const value_string MediaEncryptionAlgorithm_vals[] = {
13199         {  0, "nonStandard" },
13200         {  1, "algorithm" },
13201         {  0, NULL }
13202 };
13203 static per_choice_t MediaEncryptionAlgorithm_choice[] = {
13204         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13205                 dissect_h245_NonStandardParameter },
13206         {  1, "algorithm", ASN1_EXTENSION_ROOT,
13207                 dissect_h245_algorithm },
13208         {  0, NULL, 0, NULL }
13209 };
13210 static int
13211 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13212 {
13213         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MediaEncryptionAlgorithm, ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice, "MediaEncryptionAlgorithm", NULL);
13214
13215         return offset;
13216 }
13217
13218
13219
13220
13221 static const value_string UserInputCapability_vals[] = {
13222         {  0, "nonStandard" },
13223         {  1, "basicString" },
13224         {  2, "iA5String" },
13225         {  3, "generalString" },
13226         {  4, "dtmf" },
13227         {  5, "hookflash" },
13228         {  6, "extendedAlphanumeric" },
13229         {  0, NULL }
13230 };
13231 static per_choice_t UserInputCapability_choice[] = {
13232         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13233                         dissect_h245_NonStandardParameter },
13234         {  1, "basicString", ASN1_EXTENSION_ROOT,
13235                         dissect_h245_NULL },
13236         {  2, "iA5String", ASN1_EXTENSION_ROOT,
13237                         dissect_h245_NULL },
13238         {  3, "generalString", ASN1_EXTENSION_ROOT,
13239                         dissect_h245_NULL },
13240         {  4, "dtmf", ASN1_EXTENSION_ROOT,
13241                         dissect_h245_NULL },
13242         {  5, "hookflash", ASN1_EXTENSION_ROOT,
13243                         dissect_h245_NULL },
13244         {  6, "extendedAlphanumeric", ASN1_NOT_EXTENSION_ROOT,
13245                         dissect_h245_NULL },
13246         {  0, NULL, 0, NULL }
13247 };
13248 static int
13249 dissect_h245_UserInputCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13250 {
13251         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputCapability, ett_h245_UserInputCapability, UserInputCapability_choice, "UserInputCapability", NULL);
13252
13253         return offset;
13254 }
13255
13256
13257
13258 static int
13259 dissect_h245_domainBased(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13260 {
13261         offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_domainBased, 1, 64);
13262
13263         return offset;
13264 }
13265
13266
13267
13268
13269 static const value_string CapabilityIdentifier_vals[] = {
13270         {  0, "standard" },
13271         {  1, "h221NonStandard" },
13272         {  2, "uuid" },
13273         {  3, "domainBased" },
13274         {  0, NULL }
13275 };
13276 static per_choice_t CapabilityIdentifier_choice[] = {
13277         {  0, "standard", ASN1_EXTENSION_ROOT,
13278                 dissect_h245_standard_object },
13279         {  1, "h221NonStandard", ASN1_EXTENSION_ROOT,
13280                 dissect_h245_NonStandardParameter },
13281         {  2, "uuid", ASN1_EXTENSION_ROOT,
13282                 dissect_h245_uuid },
13283         {  3, "domainBased", ASN1_EXTENSION_ROOT,
13284                 dissect_h245_domainBased },
13285         {  0, NULL, 0, NULL }
13286 };
13287 static int
13288 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13289 {
13290         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CapabilityIdentifier, ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice, "CapabilityIdentifier", NULL);
13291
13292         return offset;
13293 }
13294
13295
13296
13297
13298 static const value_string ParameterIdentifier_vals[] = {
13299         {  0, "standard" },
13300         {  1, "h221NonStandard" },
13301         {  2, "uuid" },
13302         {  3, "domainBased" },
13303         {  0, NULL }
13304 };
13305 static per_choice_t ParameterIdentifier_choice[] = {
13306         {  0, "standard", ASN1_EXTENSION_ROOT,
13307                 dissect_h245_standard_0_127 },
13308         {  1, "h221NonStandard", ASN1_EXTENSION_ROOT,
13309                 dissect_h245_NonStandardParameter },
13310         {  2, "uuid", ASN1_EXTENSION_ROOT,
13311                 dissect_h245_uuid },
13312         {  3, "domainBased", ASN1_EXTENSION_ROOT,
13313                 dissect_h245_domainBased },
13314         {  0, NULL, 0, NULL }
13315 };
13316 static int
13317 dissect_h245_ParameterIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13318 {
13319         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ParameterIdentifier, ett_h245_ParameterIdentifier, ParameterIdentifier_choice, "ParameterIdentifier", NULL);
13320
13321         return offset;
13322 }
13323
13324
13325 static const value_string H223LogicalChannelParameters_adaptationLayerType_vals[] = {
13326         {  0, "nonStandard" },
13327         {  1, "al1Framed" },
13328         {  2, "al1NotFramed" },
13329         {  3, "al2WithoutSequenceNumbers" },
13330         {  4, "al2WithSequenceNumbers" },
13331         {  5, "al3" },
13332         {  6, "al1M" },
13333         {  7, "al2M" },
13334         {  8, "al3M" },
13335         {  0, NULL }
13336 };
13337 static per_choice_t H223LogicalChannelParameters_adaptationLayerType_choice[] = {
13338         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13339                         dissect_h245_NonStandardParameter },
13340         {  1, "al1Framed", ASN1_EXTENSION_ROOT,
13341                         dissect_h245_NULL },
13342         {  2, "al1NotFramed", ASN1_EXTENSION_ROOT,
13343                         dissect_h245_NULL },
13344         {  3, "al2WithoutSequenceNumbers", ASN1_EXTENSION_ROOT,
13345                         dissect_h245_NULL },
13346         {  4, "al2WithSequenceNumbers", ASN1_EXTENSION_ROOT,
13347                         dissect_h245_NULL },
13348         {  5, "al3", ASN1_EXTENSION_ROOT,
13349                         dissect_h245_H223LogicalChannelParameters_adaptionLayerType_al3 },
13350         {  6, "al1M", ASN1_NOT_EXTENSION_ROOT,
13351                 dissect_h245_H223AL1MParameters },
13352         {  7, "al2M", ASN1_NOT_EXTENSION_ROOT,
13353                 dissect_h245_H223AL2MParameters },
13354         {  8, "al3M", ASN1_NOT_EXTENSION_ROOT,
13355                 dissect_h245_H223AL3MParameters },
13356         {  0, NULL, 0, NULL }
13357 };
13358 static int
13359 dissect_h245_H223LogicalChannelParameters_adaptationLayerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13360 {
13361         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters_adaptationLayerType, ett_h245_H223LogicalChannelParameters_adaptationLayerType, H223LogicalChannelParameters_adaptationLayerType_choice, "adaptationLayerType", NULL);
13362
13363         return offset;
13364 }
13365
13366
13367
13368
13369
13370 static const value_string MulticastAddress_vals[] = {
13371         {  0, "iPAddress" },
13372         {  1, "iP6Address" },
13373         {  2, "nsap" },
13374         {  3, "nonStandardAddress" },
13375         {  0, NULL }
13376 };
13377 static per_choice_t MulticastAddress_choice[] = {
13378         {  0, "iPAddress", ASN1_EXTENSION_ROOT,
13379                 dissect_h245_MulticastAddress_iPAddress },
13380         {  1, "iP6Address", ASN1_EXTENSION_ROOT,
13381                 dissect_h245_MulticastAddress_iP6Address },
13382         {  2, "nsap", ASN1_NOT_EXTENSION_ROOT,
13383                 dissect_h245_nsap },
13384         {  3, "nonStandardAddress", ASN1_NOT_EXTENSION_ROOT,
13385                 dissect_h245_NonStandardParameter },
13386         {  0, NULL, 0, NULL }
13387 };
13388 static int
13389 dissect_h245_MulticastAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13390 {
13391         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MulticastAddress, ett_h245_MulticastAddress, MulticastAddress_choice, "MulticastAddress", NULL);
13392
13393         return offset;
13394 }
13395
13396
13397
13398
13399 static const value_string H223ModeParameters_adaptationLayerType_vals[] = {
13400         {  0, "nonStandard" },
13401         {  1, "al1Framed" },
13402         {  2, "al1NotFramed" },
13403         {  3, "al2WithoutSequenceNumbers" },
13404         {  4, "al2WithSequenceNumbers" },
13405         {  5, "al3" },
13406         {  6, "al1M" },
13407         {  7, "al2M" },
13408         {  8, "al3M" },
13409         {  0, NULL }
13410 };
13411 static per_choice_t H223ModeParameters_adaptationLayerType_choice[] = {
13412         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13413                         dissect_h245_NonStandardParameter },
13414         {  1, "al1Framed", ASN1_EXTENSION_ROOT,
13415                         dissect_h245_NULL },
13416         {  2, "al1NotFramed", ASN1_EXTENSION_ROOT,
13417                         dissect_h245_NULL },
13418         {  3, "al2WithoutSequenceNumbers", ASN1_EXTENSION_ROOT,
13419                         dissect_h245_NULL },
13420         {  4, "al2WithSequenceNumbers", ASN1_EXTENSION_ROOT,
13421                         dissect_h245_NULL },
13422         {  5, "al3", ASN1_EXTENSION_ROOT,
13423                         dissect_h245_H223ModeParameters_adaptationLayerType_al3 },
13424         {  6, "al1M", ASN1_NOT_EXTENSION_ROOT,
13425                         dissect_h245_H223AL1MParameters },
13426         {  7, "al2M", ASN1_NOT_EXTENSION_ROOT,
13427                         dissect_h245_H223AL2MParameters },
13428         {  8, "al3M", ASN1_NOT_EXTENSION_ROOT,
13429                         dissect_h245_H223AL3MParameters },
13430         {  0, NULL, 0, NULL }
13431 };
13432 static int
13433 dissect_h245_H223ModeParameters_adaptationLayerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13434 {
13435         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters_adaptationLayerType, ett_h245_H223ModeParameters_adaptationLayerType, H223ModeParameters_adaptationLayerType_choice, "Type", NULL);
13436
13437         return offset;
13438 }
13439
13440
13441
13442
13443 static const value_string EncryptionMode_vals[] = {
13444         {  0, "nonStandard" },
13445         {  1, "h233Encryption" },
13446         {  0, NULL }
13447 };
13448 static per_choice_t EncryptionMode_choice[] = {
13449         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13450                 dissect_h245_NonStandardParameter },
13451         {  1, "h233Encryption", ASN1_EXTENSION_ROOT,
13452                 dissect_h245_NULL },
13453         {  0, NULL, 0, NULL }
13454 };
13455 static int
13456 dissect_h245_EncryptionMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13457 {
13458         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EncryptionMode, ett_h245_EncryptionMode, EncryptionMode_choice, "EncryptionMode", NULL);
13459
13460         return offset;
13461 }
13462
13463
13464
13465
13466 static per_sequence_t NonStandardMessage_sequence[] = {
13467         { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13468                 dissect_h245_NonStandardParameter },
13469         { NULL, 0, 0, NULL }
13470 };
13471 static int
13472 dissect_h245_NonStandardMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13473 {
13474         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardMessage, ett_h245_NonStandardMessage, NonStandardMessage_sequence);
13475
13476         return offset;
13477 }
13478
13479
13480
13481
13482
13483 static const value_string MultilinkIndication_vals[] = {
13484         {  0, "nonStandard" },
13485         {  1, "crcDesired" },
13486         {  2, "excessiveError" },
13487         {  0, NULL }
13488 };
13489 static per_choice_t MultilinkIndication_choice[] = {
13490         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13491                 dissect_h245_NonStandardMessage },
13492         {  1, "crcDesired", ASN1_EXTENSION_ROOT,
13493                 dissect_h245_MultilinkIndication_crcDesired },
13494         {  2, "excessiveError", ASN1_EXTENSION_ROOT,
13495                 dissect_h245_MultilinkIndication_excessiveError },
13496         {  0, NULL, 0, NULL }
13497 };
13498 static int
13499 dissect_h245_MultilinkIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13500 {
13501         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication, ett_h245_MultilinkIndication, MultilinkIndication_choice, "MultilinkIndication", NULL);
13502
13503         return offset;
13504 }
13505
13506
13507
13508
13509 static const value_string DialingInformationNetworkType_vals[] = {
13510         {  0, "nonStandard" },
13511         {  1, "n-isdn" },
13512         {  2, "gstn" },
13513         {  3, "mobile" },
13514         {  0, NULL }
13515 };
13516 static per_choice_t DialingInformationNetworkType_choice[] = {
13517         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13518                 dissect_h245_NonStandardMessage },
13519         {  1, "n-isdn", ASN1_EXTENSION_ROOT,
13520                 dissect_h245_NULL },
13521         {  2, "gstn", ASN1_EXTENSION_ROOT,
13522                 dissect_h245_NULL },
13523         {  3, "mobile", ASN1_NOT_EXTENSION_ROOT,
13524                 dissect_h245_NULL },
13525         {  0, NULL, 0, NULL }
13526 };
13527 static int
13528 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13529 {
13530         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DialingInformationNetworkType, ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice, "DialingInformationNetworkType", NULL);
13531
13532         return offset;
13533 }
13534
13535
13536
13537
13538 static per_sequence_t QOSCapability_sequence[] = {
13539         { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13540                 dissect_h245_NonStandardParameter },
13541         { "rsvpParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13542                 dissect_h245_RSVPParameters },
13543         { "atmParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13544                 dissect_h245_ATMParameters },
13545         { NULL, 0, 0, NULL }
13546 };
13547 static int
13548 dissect_h245_QOSCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13549 {
13550         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_QOSCapability, ett_h245_QOSCapability, QOSCapability_sequence);
13551
13552         return offset;
13553 }
13554
13555
13556
13557
13558 static per_sequence_t DataApplicationCapability_application_t84_sequence[] = {
13559         { "t84Protocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13560                 dissect_h245_DataProtocolCapability },
13561         { "t84Profile", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13562                 dissect_h245_T84Profile },
13563         { NULL, 0, 0, NULL }
13564 };
13565 static int
13566 dissect_h245_DataApplicationCapability_application_t84(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13567 {
13568         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_t84, ett_h245_DataApplicationCapability_application_t84, DataApplicationCapability_application_t84_sequence);
13569
13570         return offset;
13571 }
13572
13573
13574
13575
13576
13577 static per_sequence_t DataApplicationCapability_application_nlpid_sequence[] = {
13578         { "nlpidProtocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13579                 dissect_h245_DataProtocolCapability },
13580         { "nlpidData", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13581                 dissect_h245_nlpidData },
13582         { NULL, 0, 0, NULL }
13583 };
13584 static int
13585 dissect_h245_DataApplicationCapability_application_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13586 {
13587         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_nlpid, ett_h245_DataApplicationCapability_application_nlpid, DataApplicationCapability_application_nlpid_sequence);
13588
13589         return offset;
13590 }
13591
13592
13593
13594
13595 static per_sequence_t DataApplicationCapability_application_t38fax_sequence[] = {
13596         { "t38FaxProtocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13597                 dissect_h245_DataProtocolCapability },
13598         { "t38FaxProfile", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13599                 dissect_h245_T38FaxProfile },
13600         { NULL, 0, 0, NULL }
13601 };
13602 static int
13603 dissect_h245_DataApplicationCapability_application_t38fax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13604 {
13605         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_t38fax, ett_h245_DataApplicationCapability_application_t38fax, DataApplicationCapability_application_t38fax_sequence);
13606
13607         return offset;
13608 }
13609
13610
13611
13612
13613 static per_sequence_t AuthenticationCapability_sequence[] = {
13614         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13615                 dissect_h245_NonStandardParameter },
13616         { "antiSpamAlgorithm", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
13617                 dissect_h245_antiSpamAlgorithm },
13618         { NULL, 0, 0, NULL }
13619 };
13620 static int
13621 dissect_h245_AuthenticationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13622 {
13623         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AuthenticationCapability, ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
13624
13625         return offset;
13626 }
13627
13628
13629
13630 static per_sequence_t IntegrityCapability_sequence[] = {
13631         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13632                 dissect_h245_NonStandardParameter },
13633         { NULL, 0, 0, NULL }
13634 };
13635 static int
13636 dissect_h245_IntegrityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13637 {
13638         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IntegrityCapability, ett_h245_IntegrityCapability, IntegrityCapability_sequence);
13639
13640         return offset;
13641 }
13642
13643
13644
13645
13646 static per_sequence_t H223LogicalChannelParameters_sequence[] = {
13647         { "adaptationLayerType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13648                 dissect_h245_H223LogicalChannelParameters_adaptationLayerType },
13649         { "segmentableFlag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13650                 dissect_h245_segmentableFlag },
13651         { NULL, 0, 0, NULL }
13652 };
13653 static int
13654 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13655 {
13656         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters, ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
13657
13658         return offset;
13659 }
13660
13661
13662
13663
13664 static per_sequence_t RequestChannelClose_sequence[] = {
13665         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13666                 dissect_h245_LogicalChannelNumber },
13667         { "qosCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
13668                 dissect_h245_QOSCapability },
13669         { "reason", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13670                 dissect_h245_RequestChannelClose_reason },
13671         { NULL, 0, 0, NULL }
13672 };
13673 static int
13674 dissect_h245_RequestChannelClose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13675 {
13676         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelClose, ett_h245_RequestChannelClose, RequestChannelClose_sequence);
13677
13678         return offset;
13679 }
13680
13681
13682
13683
13684 static per_sequence_t DataMode_application_nlpid_sequence[] = {
13685         { "nlpidProtocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13686                 dissect_h245_DataProtocolCapability },
13687         { "nlpidData", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13688                 dissect_h245_nlpidData },
13689         { NULL, 0, 0, NULL }
13690 };
13691 static int
13692 dissect_h245_DataMode_application_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13693 {
13694         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode_application_nlpid, ett_h245_DataMode_application_nlpid, DataMode_application_nlpid_sequence);
13695
13696         return offset;
13697 }
13698
13699
13700
13701
13702
13703 static per_sequence_t DataMode_application_t38fax_sequence[] = {
13704         { "t38FaxProtocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13705                 dissect_h245_DataProtocolCapability },
13706         { "t38FaxProfile", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13707                 dissect_h245_T38FaxProfile },
13708         { NULL, 0, 0, NULL }
13709 };
13710 static int
13711 dissect_h245_DataMode_application_t38fax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13712 {
13713         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode_application_t38fax, ett_h245_DataMode_application_t38fax, DataMode_application_t38fax_sequence);
13714
13715         return offset;
13716 }
13717
13718
13719
13720
13721 static per_sequence_t EncryptionCommand_encryptionAlgorithmID_sequence[] = {
13722         { "h233AlgorithmIdentifier", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13723                 dissect_h245_SequenceNumber },
13724         { "associatedAlgorithm", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13725                 dissect_h245_NonStandardParameter },
13726         { NULL, 0, 0, NULL }
13727 };
13728 static int
13729 dissect_h245_EncryptionCommand_encryptionAlgorithmID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13730 {
13731         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionCommand_encryptionAlgorithmID, ett_h245_EncryptionCommand_encryptionAlgorithmID, EncryptionCommand_encryptionAlgorithmID_sequence);
13732
13733         return offset;
13734 }
13735
13736
13737
13738
13739
13740 static const value_string EncryptionCommand_vals[] = {
13741         {  0, "encryptionSE" },
13742         {  1, "encryptionIVRequest" },
13743         {  2, "encryptionAlgorithmID" },
13744         {  0, NULL }
13745 };
13746 static per_choice_t EncryptionCommand_choice[] = {
13747         {  0, "encryptionSE", ASN1_EXTENSION_ROOT,
13748                 dissect_h245_encryptionSE },
13749         {  1, "encryptionIVRequest", ASN1_EXTENSION_ROOT,
13750                 dissect_h245_NULL },
13751         {  2, "encryptionAlgorithmID", ASN1_EXTENSION_ROOT,
13752                 dissect_h245_EncryptionCommand_encryptionAlgorithmID },
13753         {  0, NULL, 0, NULL }
13754 };
13755 static int
13756 dissect_h245_EncryptionCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13757 {
13758         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EncryptionCommand, ett_h245_EncryptionCommand, EncryptionCommand_choice, "EncryptionCommand", NULL);
13759
13760         return offset;
13761 }
13762
13763
13764
13765
13766 static const value_string EndSessionCommand_vals[] = {
13767         {  0,   "nonStandard" },
13768         {  1,   "disconnect" },
13769         {  2,   "gstnOptions" },
13770         {  3,   "isdnOptions" },
13771         {  0, NULL }
13772 };
13773 static per_choice_t EndSessionCommand_choice[] = {
13774         {  0,   "nonStandard",                  ASN1_EXTENSION_ROOT,
13775                 dissect_h245_NonStandardParameter },
13776         {  1,   "disconnect",                   ASN1_EXTENSION_ROOT,
13777                 dissect_h245_NULL },
13778         {  2,   "gstnOptions",                  ASN1_EXTENSION_ROOT,
13779                 dissect_h245_EndSessionCommand_gstnOptions },
13780         {  3,   "isdnOptions",                  ASN1_NOT_EXTENSION_ROOT,
13781                 dissect_h245_EndSessionCommand_isdnOptions },
13782         {  0, NULL, 0, NULL }
13783 };
13784 static int
13785 dissect_h245_EndSessionCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13786 {
13787         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_type, ett_h245_EndSessionCommand, EndSessionCommand_choice, "EndSessionCommand", NULL);
13788
13789         return offset;
13790 }
13791
13792
13793
13794
13795
13796
13797 static int
13798 dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13799 static per_sequence_t VBDCapability_sequence[] = {
13800         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13801                 dissect_h245_AudioCapability },
13802         { NULL, 0, 0, NULL }
13803 };
13804 static int
13805 dissect_h245_VBDCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13806 {
13807         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VBDCapability, ett_h245_VBDCapability, VBDCapability_sequence);
13808
13809         return offset;
13810 }
13811
13812
13813
13814
13815
13816
13817
13818
13819 static int
13820 dissect_h245_nonStandardData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13821 {
13822         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_nonStandardData, ett_h245_nonStandardData, dissect_h245_NonStandardParameter);
13823         return offset;
13824 }
13825
13826
13827
13828
13829
13830 static int
13831 dissect_h245_supersedes_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13832 {
13833         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_supersedes, ett_h245_supersedes, dissect_h245_ParameterIdentifier );
13834         return offset;
13835 }
13836
13837
13838
13839
13840 static const value_string ParameterValue_vals[] = {
13841         {  0, "logical" },
13842         {  1, "booleanArray" },
13843         {  2, "unsignedMin" },
13844         {  3, "unsignedMax" },
13845         {  4, "unsigned32Min" },
13846         {  5, "unsigned32Max" },
13847         {  6, "octetString" },
13848         {  7, "genericParameter" },
13849         {  0, NULL }
13850 };
13851 static int dissect_h245_genericParameter_sequence_of(tvbuff_t *, int, packet_info *, proto_tree *);
13852 static per_choice_t ParameterValue_choice[] = {
13853         {  0, "logical", ASN1_EXTENSION_ROOT,
13854                         dissect_h245_NULL },
13855         {  1, "booleanArray", ASN1_EXTENSION_ROOT,
13856                         dissect_h245_booleanArray },
13857         {  2, "unsignedMin", ASN1_EXTENSION_ROOT,
13858                         dissect_h245_unsignedMin },
13859         {  3, "unsignedMax", ASN1_EXTENSION_ROOT,
13860                         dissect_h245_unsignedMax },
13861         {  4, "unsigned32Min", ASN1_EXTENSION_ROOT,
13862                         dissect_h245_unsigned32Min },
13863         {  5, "unsigned32Max", ASN1_EXTENSION_ROOT,
13864                         dissect_h245_unsigned32Max },
13865         {  6, "octetString", ASN1_EXTENSION_ROOT,
13866                         dissect_h245_octetString },
13867         {  7, "genericParameter", ASN1_EXTENSION_ROOT,
13868                         dissect_h245_genericParameter_sequence_of },
13869         {  0, NULL, 0, NULL }
13870 };
13871 static int
13872 dissect_h245_ParameterValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13873 {
13874         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ParameterValue, ett_h245_ParameterValue, ParameterValue_choice, "ParameterValue", NULL);
13875
13876         return offset;
13877 }
13878
13879
13880
13881 static per_sequence_t GenericParameter_sequence[] = {
13882         { "parameterIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13883                 dissect_h245_ParameterIdentifier },
13884         { "parameterValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13885                 dissect_h245_ParameterValue },
13886         { "supersedes", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13887                 dissect_h245_supersedes_sequence_of },
13888         { NULL, 0, 0, NULL }
13889 };
13890 static int
13891 dissect_h245_GenericParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13892 {
13893         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GenericParameter, ett_h245_GenericParameter, GenericParameter_sequence);
13894
13895         return offset;
13896 }
13897
13898
13899
13900
13901
13902 static int
13903 dissect_h245_genericParameter_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13904 {
13905         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_genericParameter, ett_h245_genericParameter, dissect_h245_GenericParameter );
13906         return offset;
13907 }
13908
13909
13910
13911 static int
13912 dissect_h245_collapsing_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13913 {
13914         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_collapsing, ett_h245_collapsing, dissect_h245_GenericParameter );
13915         return offset;
13916 }
13917
13918
13919 static int
13920 dissect_h245_nonCollapsing_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13921 {
13922         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_nonCollapsing, ett_h245_nonCollapsing, dissect_h245_GenericParameter );
13923         return offset;
13924 }
13925
13926
13927 /* XXX */
13928 static int dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13929
13930 static int
13931 dissect_h245_secondary_REE_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13932 {
13933         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_secondary_REE, ett_h245_secondary_REE, dissect_h245_RedundancyEncodingElement );
13934         return offset;
13935 }
13936
13937
13938
13939
13940 /* XXX */
13941 static int dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13942
13943 static int
13944 dissect_h245_elements_MPSE_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13945 {
13946         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_elements_MPSE, ett_h245_elements_MPSE, dissect_h245_MultiplePayloadStreamElement );
13947         return offset;
13948 }
13949
13950
13951
13952
13953 /* XXX */
13954 static int dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13955
13956 static int
13957 dissect_h245_secondary_REDTME_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13958 {
13959         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_secondary_REDTME, ett_h245_secondary_REDTME, dissect_h245_RedundancyEncodingDTModeElement );
13960         return offset;
13961 }
13962
13963
13964
13965
13966 /* XXX*/
13967 static int dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13968
13969 static int
13970 dissect_h245_elements_MPSEM_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13971 {
13972         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_elements_MPSEM, ett_h245_elements_MPSEM, dissect_h245_MultiplePayloadStreamElementMode );
13973         return offset;
13974 }
13975
13976
13977
13978
13979 static int
13980 dissect_h245_TerminalInformationSO_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13981 {
13982         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_TerminalInformationSO, ett_h245_TerminalInformationSO, dissect_h245_TerminalInformation );
13983         return offset;
13984 }
13985
13986
13987
13988
13989 static int
13990 dissect_h245_lostPicture_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13991 {
13992         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_lostPicture, ett_h245_lostPicture, dissect_h245_PictureReference );
13993         return offset;
13994 }
13995
13996
13997
13998
13999 static int
14000 dissect_h245_recoveryReferencePicture_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14001 {
14002         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_recoveryReferencePicture, ett_h245_recoveryReferencePicture, dissect_h245_PictureReference );
14003         return offset;
14004 }
14005
14006
14007
14008
14009
14010
14011
14012 static per_sequence_t ConferenceCapability_sequence[] = {
14013         { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14014                 dissect_h245_nonStandardData_sequence_of },
14015         { "chairControlCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14016                 dissect_h245_chairControlCapability },
14017         { "videoIndicateMixingCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14018                 dissect_h245_videoIndicateMixingCapability },
14019         { "multipointVisualizationCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
14020                 dissect_h245_multipointVisualizationCapability },
14021         { NULL, 0, 0, NULL }
14022 };
14023 static int
14024 dissect_h245_ConferenceCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14025 {
14026         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceCapability, ett_h245_ConferenceCapability, ConferenceCapability_sequence);
14027
14028         return offset;
14029 }
14030
14031
14032
14033
14034 static per_sequence_t GenericCapability_sequence[] = {
14035         { "capabilityIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14036                 dissect_h245_CapabilityIdentifier },
14037         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14038                 dissect_h245_maxBitRate_4294967295UL },
14039         { "collapsing", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14040                 dissect_h245_collapsing_sequence_of },
14041         { "nonCollapsing", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14042                 dissect_h245_nonCollapsing_sequence_of },
14043         { "nonCollapsingRaw", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14044                 dissect_h245_nonCollapsingRaw },
14045         { "transport", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14046                 dissect_h245_DataProtocolCapability },
14047         { NULL, 0, 0, NULL }
14048 };
14049 static int
14050 dissect_h245_GenericCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14051 {
14052         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GenericCapability, ett_h245_GenericCapability, GenericCapability_sequence);
14053
14054         return offset;
14055 }
14056
14057
14058
14059
14060
14061 static const value_string DataApplicationCapability_application_vals[] = {
14062         {  0, "nonStandard" },
14063         {  1, "t120" },
14064         {  2, "dsm-cc" },
14065         {  3, "userData" },
14066         {  4, "t84" },
14067         {  5, "t434" },
14068         {  6, "h224" },
14069         {  7, "nlpid" },
14070         {  8, "dsvdControl" },
14071         {  9, "h222DataPartitioning" },
14072         { 10, "t30fax" },
14073         { 11, "t140" },
14074         { 12, "t38fax" },
14075         { 13, "genericDataCapability" },
14076         {  0, NULL }
14077 };
14078 static per_choice_t DataApplicationCapability_application_choice[] = {
14079         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
14080                 dissect_h245_NonStandardParameter },
14081         {  1, "t120", ASN1_EXTENSION_ROOT,
14082                 dissect_h245_DataProtocolCapability },
14083         {  2, "dsm-cc", ASN1_EXTENSION_ROOT,
14084                 dissect_h245_DataProtocolCapability },
14085         {  3, "userData", ASN1_EXTENSION_ROOT,
14086                 dissect_h245_DataProtocolCapability },
14087         {  4, "t84", ASN1_EXTENSION_ROOT,
14088                 dissect_h245_DataApplicationCapability_application_t84 },
14089         {  5, "t434", ASN1_EXTENSION_ROOT,
14090                 dissect_h245_DataProtocolCapability },
14091         {  6, "h224", ASN1_EXTENSION_ROOT,
14092                 dissect_h245_DataProtocolCapability },
14093         {  7, "nlpid", ASN1_EXTENSION_ROOT,
14094                 dissect_h245_DataApplicationCapability_application_nlpid },
14095         {  8, "dsvdControl", ASN1_EXTENSION_ROOT,
14096                 dissect_h245_NULL },
14097         {  9, "h222DataPartitioning", ASN1_EXTENSION_ROOT,
14098                 dissect_h245_DataProtocolCapability },
14099         { 10, "t30fax", ASN1_NOT_EXTENSION_ROOT,
14100                 dissect_h245_DataProtocolCapability },
14101         { 11, "t140", ASN1_NOT_EXTENSION_ROOT,
14102                 dissect_h245_DataProtocolCapability },
14103         { 12, "t38fax", ASN1_NOT_EXTENSION_ROOT,
14104                 dissect_h245_DataApplicationCapability_application_t38fax },
14105         { 13, "genericDataCapability", ASN1_NOT_EXTENSION_ROOT,
14106                 dissect_h245_GenericCapability },
14107         {  0, NULL, 0, NULL }
14108 };
14109 static int
14110 dissect_h245_DataApplicationCapability_application(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14111 {
14112         guint32 value;
14113
14114         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application, ett_h245_DataApplicationCapability_application, DataApplicationCapability_application_choice, "application", &value);
14115
14116         codec_type = val_to_str(value, DataApplicationCapability_application_vals, "<unknown>");
14117
14118         return offset;
14119 }
14120
14121
14122
14123
14124 static const value_string DataMode_application_vals[] = {
14125         {  0, "nonStandard" },
14126         {  1, "t120" },
14127         {  2, "dsm-cc" },
14128         {  3, "userData" },
14129         {  4, "t84" },
14130         {  5, "t434" },
14131         {  6, "h224" },
14132         {  7, "nlpid" },
14133         {  8, "dsvdControl" },
14134         {  9, "h222DataPartitioning" },
14135         { 10, "t30fax" },
14136         { 11, "t140" },
14137         { 12, "t38fax" },
14138         { 13, "genericDataMode" },
14139         {  0, NULL }
14140 };
14141 static per_choice_t DataMode_application_choice[] = {
14142         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
14143                 dissect_h245_NonStandardParameter },
14144         {  1, "t120", ASN1_EXTENSION_ROOT,
14145                 dissect_h245_DataProtocolCapability },
14146         {  2, "dsm-cc", ASN1_EXTENSION_ROOT,
14147                 dissect_h245_DataProtocolCapability },
14148         {  3, "userData", ASN1_EXTENSION_ROOT,
14149                 dissect_h245_DataProtocolCapability },
14150         {  4, "t84", ASN1_EXTENSION_ROOT,
14151                 dissect_h245_DataProtocolCapability },
14152         {  5, "t434", ASN1_EXTENSION_ROOT,
14153                 dissect_h245_DataProtocolCapability },
14154         {  6, "h224", ASN1_EXTENSION_ROOT,
14155                 dissect_h245_DataProtocolCapability },
14156         {  7, "nlpid", ASN1_EXTENSION_ROOT,
14157                 dissect_h245_DataMode_application_nlpid },
14158         {  8, "dsvdControl", ASN1_EXTENSION_ROOT,
14159                 dissect_h245_NULL },
14160         {  9, "h222DataPartitioning", ASN1_EXTENSION_ROOT,
14161                 dissect_h245_DataProtocolCapability },
14162         { 10, "t30fax", ASN1_NOT_EXTENSION_ROOT,
14163                 dissect_h245_DataProtocolCapability },
14164         { 11, "t140", ASN1_NOT_EXTENSION_ROOT,
14165                 dissect_h245_DataProtocolCapability },
14166         { 12, "t38fax", ASN1_NOT_EXTENSION_ROOT,
14167                 dissect_h245_DataMode_application_t38fax },
14168         { 13, "genericDataMode", ASN1_NOT_EXTENSION_ROOT,
14169                 dissect_h245_GenericCapability },
14170         {  0, NULL, 0, NULL }
14171 };
14172 static int
14173 dissect_h245_DataMode_application(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14174 {
14175         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataMode_application, ett_h245_DataMode_application, DataMode_application_choice, "application", NULL);
14176
14177         return offset;
14178 }
14179
14180
14181
14182
14183
14184 static per_sequence_t MultiplePayloadStream_sequence[] = {
14185         { "elements", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14186                 dissect_h245_elements_MPSE_sequence_of },
14187         { NULL, 0, 0, NULL }
14188 };
14189 static int
14190 dissect_h245_MultiplePayloadStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14191 {
14192         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStream, ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
14193
14194         return offset;
14195 }
14196
14197
14198
14199
14200
14201 static per_sequence_t MultiplePayloadStreamMode_sequence[] = {
14202         { "elements", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14203                 dissect_h245_elements_MPSEM_sequence_of },
14204         { NULL, 0, 0, NULL }
14205 };
14206 static int
14207 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14208 {
14209         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamMode, ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
14210
14211         return offset;
14212 }
14213
14214
14215
14216
14217
14218 static per_sequence_t DataMode_sequence[] = {
14219         { "application", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14220                 dissect_h245_DataMode_application },
14221         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14222                 dissect_h245_dataModeBitRate },
14223         { NULL, 0, 0, NULL }
14224 };
14225 static int
14226 dissect_h245_DataMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14227 {
14228         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode, ett_h245_DataMode, DataMode_sequence);
14229
14230         return offset;
14231 }
14232
14233
14234
14235
14236
14237 static per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
14238         { "terminalInformation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14239                 dissect_h245_TerminalInformationSO_sequence_of },
14240         { NULL, 0, 0, NULL }
14241 };
14242 static int
14243 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14244 {
14245         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestAllTerminalIDsResponse, ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
14246
14247         return offset;
14248 }
14249
14250
14251
14252
14253
14254 static per_sequence_t DataApplicationCapability_sequence[] = {
14255         { "application", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14256                 dissect_h245_DataApplicationCapability_application },
14257         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14258                 dissect_h245_maxBitRate_4294967295UL },
14259         { NULL, 0, 0, NULL }
14260 };
14261 static int
14262 dissect_h245_DataApplicationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14263 {
14264         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability, ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
14265
14266         return offset;
14267 }
14268
14269
14270 static int
14271 dissect_h245_iPSourceRouteAddress_route(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
14272 {
14273 NOT_DECODED_YET("iPSourceRouteAddress");
14274 /* XXX
14275         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_iPSourceRouteAddress_route, ett_h245_iPSourceRouteAddress_route, dissect_h245_ );
14276 */
14277         return offset;
14278 }
14279
14280
14281
14282 static per_sequence_t UnicastAddress_iPSourceRouteAddress_sequence[] = {
14283         { "routing", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14284                 dissect_h245_UnicastAddress_iPSourceRouteAddress_routing },
14285         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14286                 dissect_h245_ipv4network },
14287         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14288                 dissect_h245_tsapIdentifier },
14289         { "route", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14290                 dissect_h245_iPSourceRouteAddress_route },
14291         { NULL, 0, 0, NULL }
14292 };
14293 static int
14294 dissect_h245_UnicastAddress_iPSourceRouteAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14295 {
14296         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPSourceRouteAddress, ett_h245_UnicastAddress_iPSourceRouteAddress, UnicastAddress_iPSourceRouteAddress_sequence);
14297
14298         return offset;
14299 }
14300
14301
14302
14303 static const value_string UnicastAddress_vals[] = {
14304         {  0, "iPAddress" },
14305         {  1, "iPXAddress" },
14306         {  2, "iP6Address" },
14307         {  3, "netBios" },
14308         {  4, "iPSourceRouteAddress" },
14309         {  5, "nsap" },
14310         {  6, "nonStandardAddress" },
14311         {  0, NULL }
14312 };
14313 static per_choice_t UnicastAddress_choice[] = {
14314         {  0, "iPAddress", ASN1_EXTENSION_ROOT,
14315                 dissect_h245_UnicastAddress_iPAddress },
14316         {  1, "iPXAddress", ASN1_EXTENSION_ROOT,
14317                 dissect_h245_UnicastAddress_iPXAddress },
14318         {  2, "iP6Address", ASN1_EXTENSION_ROOT,
14319                 dissect_h245_UnicastAddress_iP6Address },
14320         {  3, "netBios", ASN1_EXTENSION_ROOT,
14321                 dissect_h245_netBios },
14322         {  4, "iPSourceRouteAddress", ASN1_EXTENSION_ROOT,
14323                 dissect_h245_UnicastAddress_iPSourceRouteAddress },
14324         {  5, "nsap", ASN1_NOT_EXTENSION_ROOT,
14325                 dissect_h245_nsap },
14326         {  6, "nonStandardAddress", ASN1_NOT_EXTENSION_ROOT,
14327                 dissect_h245_NonStandardParameter },
14328         {  0, NULL, 0, NULL }
14329 };
14330 static int
14331 dissect_h245_UnicastAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14332 {
14333         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UnicastAddress, ett_h245_UnicastAddress, UnicastAddress_choice, "UnicastAddress", NULL);
14334
14335         return offset;
14336 }
14337
14338
14339
14340
14341 static const value_string TransportAddress_vals[] = {
14342         {  0, "unicastAddress" },
14343         {  1, "multicastAddress" },
14344         {  0, NULL }
14345 };
14346 static per_choice_t TransportAddress_choice[] = {
14347         {  0, "unicastAddress", ASN1_EXTENSION_ROOT,
14348                 dissect_h245_UnicastAddress },
14349         {  1, "multicastAddress", ASN1_EXTENSION_ROOT,
14350                 dissect_h245_MulticastAddress },
14351         {  0, NULL, 0, NULL }
14352 };
14353 static int
14354 dissect_h245_localAreaAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14355 {
14356         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_localAreaAddress, ett_h245_TransportAddress, TransportAddress_choice, "localAreaAddress", NULL);
14357
14358         return offset;
14359 }
14360 static int
14361 dissect_h245_mediaChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14362 {
14363         ipv4_address=0;
14364         ipv4_port=0;
14365
14366         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_mediaChannel, ett_h245_TransportAddress, TransportAddress_choice, "mediaChannel", NULL);
14367
14368         if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtp_handle){
14369                 address src_addr;
14370                 conversation_t *conv=NULL;
14371
14372                 src_addr.type=AT_IPv4;
14373                 src_addr.len=4;
14374                 src_addr.data=(char *)&ipv4_address;
14375
14376                 conv=find_conversation(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14377                 if(!conv){
14378                         conv=conversation_new(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR2|NO_PORT2);
14379                         conversation_set_dissector(conv, rtp_handle);
14380                 }
14381         }
14382         return offset;
14383 }
14384 static int
14385 dissect_h245_mediaControlChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14386 {
14387         ipv4_address=0;
14388         ipv4_port=0;
14389
14390         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_mediaControlChannel, ett_h245_TransportAddress, TransportAddress_choice, "mediaControlChannel", NULL);
14391
14392         if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtcp_handle){
14393                 address src_addr;
14394                 conversation_t *conv=NULL;
14395
14396                 src_addr.type=AT_IPv4;
14397                 src_addr.len=4;
14398                 src_addr.data=(char *)&ipv4_address;
14399
14400                 conv=find_conversation(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14401                 if(!conv){
14402                         conv=conversation_new(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR2|NO_PORT2);
14403                         conversation_set_dissector(conv, rtcp_handle);
14404                 }
14405         }
14406         return offset;
14407 }
14408 static int
14409 dissect_h245_signalAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14410 {
14411         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_signalAddress, ett_h245_TransportAddress, TransportAddress_choice, "signalAddress", NULL);
14412
14413         return offset;
14414 }
14415
14416
14417
14418 static per_sequence_t MCLocationIndication_sequence[] = {
14419         { "signalAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14420                 dissect_h245_signalAddress },
14421         { NULL, 0, 0, NULL }
14422 };
14423 static int
14424 dissect_h245_MCLocationIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14425 {
14426         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MCLocationIndication, ett_h245_MCLocationIndication, MCLocationIndication_sequence);
14427
14428         return offset;
14429 }
14430
14431
14432
14433 static per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
14434         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14435                 dissect_h245_nonStandardData_sequence_of },
14436         { "sessionID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14437                 dissect_h245_sessionID_1_255 },
14438         { "mediaChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14439                 dissect_h245_mediaChannel },
14440         { "mediaControlChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14441                 dissect_h245_mediaControlChannel },
14442         { "dynamicRTPPayloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14443                 dissect_h245_dynamicRTPPayloadType },
14444         { "flowControlToZero", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14445                 dissect_h245_flowControlToZero },
14446         { "portNumber", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
14447                 dissect_h245_portNumber },
14448         { NULL, 0, 0, NULL }
14449 };
14450 static int
14451 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14452 {
14453         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelAckParameters, ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
14454
14455         return offset;
14456 }
14457
14458
14459
14460
14461 static const value_string forwardMultiplexAckParameters_vals[] = {
14462         {  0, "h2250LogicalChannelAckParameters" },
14463         {  0, NULL }
14464 };
14465 static per_choice_t forwardMultiplexAckParameters_choice[] = {
14466         {  0, "h2250LogicalChannelAckParameters", ASN1_EXTENSION_ROOT,
14467                 dissect_h245_H2250LogicalChannelAckParameters },
14468         {  0, NULL, 0, NULL }
14469 };
14470 static int
14471 dissect_h245_forwardMultiplexAckParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14472 {
14473         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_forwardMultiplexAckParameters, ett_h245_forwardMultiplexAckParameters, forwardMultiplexAckParameters_choice, "forwardMultiplexAckParameters", NULL);
14474
14475         return offset;
14476 }
14477
14478
14479
14480
14481
14482 static int
14483 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14484 {
14485         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_AlternativeCapabilitySet, ett_h245_AlternativeCapabilitySet, dissect_h245_CapabilityTableEntryNumber, 1, 256 );
14486         return offset;
14487 }
14488
14489
14490
14491
14492 static int dissect_h245_rtpPayloadType_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14493
14494 static per_sequence_t MediaPacketizationCapability_sequence[] = {
14495         { "h261aVideoPacketization", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14496                 dissect_h245_h261aVideoPacketization },
14497         { "rtpPayloadType", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
14498                 dissect_h245_rtpPayloadType_sequence_of },
14499         { NULL, 0, 0, NULL }
14500 };
14501 static int
14502 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14503 {
14504         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaPacketizationCapability, ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
14505
14506         return offset;
14507 }
14508
14509
14510
14511
14512 static int
14513 dissect_h245_qOSCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14514 {
14515         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_qOSCapabilities, ett_h245_qOSCapabilities, dissect_h245_QOSCapability, 1, 256 );
14516         return offset;
14517 }
14518
14519
14520
14521 static int
14522 dissect_h245_mediaChannelCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14523 {
14524         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_mediaChannelCapabilities, ett_h245_mediaChannelCapabilities, dissect_h245_MediaChannelCapability, 1, 256 );
14525         return offset;
14526 }
14527
14528
14529 static per_sequence_t TransportCapability_sequence[] = {
14530         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14531                 dissect_h245_NonStandardParameter },
14532         { "qOSCapabilities", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14533                 dissect_h245_qOSCapabilities },
14534         { "mediaChannelCapabilities", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14535                 dissect_h245_mediaChannelCapabilities },
14536         { NULL, 0, 0, NULL }
14537 };
14538 static int
14539 dissect_h245_TransportCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14540 {
14541         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TransportCapability, ett_h245_TransportCapability, TransportCapability_sequence);
14542
14543         return offset;
14544 }
14545
14546
14547
14548
14549
14550 static const value_string MiscellaneousIndication_type_vals[] = {
14551         {  0, "logicalChannelActive" },
14552         {  1, "logicalChannelInactive" },
14553         {  2, "multiportConference" },
14554         {  3, "cancelMultiportConference" },
14555         {  4, "multipointZeroComm" },
14556         {  5, "cancelMultipointZeroComm" },
14557         {  6, "multipointSecondryStatus" },
14558         {  7, "cancelMultipointSecondryStatus" },
14559         {  8, "videoIndicateReadyToActivate" },
14560         {  9, "videoTemporalSpatialTradeOff" },
14561         { 10, "videoNotDecodedMBs" },
14562         { 11, "transportCapability" },
14563         {  0, NULL }
14564 };
14565 static per_choice_t MiscellaneousIndication_type_choice[] = {
14566         {  0, "logicalChannelActive", ASN1_EXTENSION_ROOT,
14567                         dissect_h245_NULL },
14568         {  1, "logicalChannelInactive", ASN1_EXTENSION_ROOT,
14569                         dissect_h245_NULL },
14570         {  2, "multiportConference", ASN1_EXTENSION_ROOT,
14571                         dissect_h245_NULL },
14572         {  3, "cancelMultiportConference", ASN1_EXTENSION_ROOT,
14573                         dissect_h245_NULL },
14574         {  4, "multipointZeroComm", ASN1_EXTENSION_ROOT,
14575                         dissect_h245_NULL },
14576         {  5, "cancelMultipointZeroComm", ASN1_EXTENSION_ROOT,
14577                         dissect_h245_NULL },
14578         {  6, "multipointSecondryStatus", ASN1_EXTENSION_ROOT,
14579                         dissect_h245_NULL },
14580         {  7, "cancelMultipointSecondryStatus", ASN1_EXTENSION_ROOT,
14581                         dissect_h245_NULL },
14582         {  8, "videoIndicateReadyToActivate", ASN1_EXTENSION_ROOT,
14583                         dissect_h245_NULL },
14584         {  9, "videoTemporalSpatialTradeOff", ASN1_EXTENSION_ROOT,
14585                         dissect_h245_videoTemporalSpatialTradeOff },
14586         { 10, "videoNotDecodedMBs", ASN1_NOT_EXTENSION_ROOT,
14587                         dissect_h245_MiscellaneousIndication_type_videoNotDecodedMBs },
14588         { 11, "transportCapability", ASN1_NOT_EXTENSION_ROOT,
14589                         dissect_h245_TransportCapability },
14590         {  0, NULL, 0, NULL }
14591 };
14592 static int
14593 dissect_h245_MiscellaneousIndication_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14594 {
14595         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication_type, ett_h245_MiscellaneousIndication_type, MiscellaneousIndication_type_choice, "type", NULL);
14596
14597         return offset;
14598 }
14599
14600
14601
14602
14603
14604 static per_sequence_t MiscellaneousIndication_sequence[] = {
14605         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14606                 dissect_h245_LogicalChannelNumber },
14607         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14608                 dissect_h245_MiscellaneousIndication_type },
14609         { NULL, 0, 0, NULL }
14610 };
14611 static int
14612 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14613 {
14614         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication, ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
14615
14616         return offset;
14617 }
14618
14619
14620
14621
14622
14623 static int
14624 dissect_h245_CapabilityTableEntryNumber_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14625 {
14626         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_CapabilityTableEntryNumber_sequence_of, ett_h245_CapabilityTableEntryNumber_sequence_of, dissect_h245_CapabilityTableEntryNumber, 1, 256 );
14627         return offset;
14628 }
14629
14630
14631
14632
14633 static int dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14634
14635 static int
14636 dissect_h245_frameToThreadMapping_custom(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14637 {
14638         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_frameToThreadMapping_custom, ett_h245_frameToThreadMapping_custom, dissect_h245_RTPH263VideoRedundancyFrameMapping, 1, 256 );
14639         return offset;
14640 }
14641
14642
14643
14644
14645 static const value_string RTPH263VideoRedundancyEncoding_frameToThreadMapping_vals[] = {
14646         {  0, "roundrobin" },
14647         {  1, "custom" },
14648         {  0, NULL }
14649 };
14650 static per_choice_t RTPH263VideoRedundancyEncoding_frameToThreadMapping_choice[] = {
14651         {  0, "roundrobin", ASN1_EXTENSION_ROOT,
14652                 dissect_h245_NULL },
14653         {  1, "custom", ASN1_EXTENSION_ROOT,
14654                 dissect_h245_frameToThreadMapping_custom },
14655         {  0, NULL, 0, NULL }
14656 };
14657 static int
14658 dissect_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14659 {
14660         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, RTPH263VideoRedundancyEncoding_frameToThreadMapping_choice, "frameToThreadMapping", NULL);
14661
14662         return offset;
14663 }
14664
14665
14666
14667
14668 static int
14669 dissect_h245_containedThread(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14670 {
14671         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
14672                 hf_h245_containedThread,  0,  15,
14673                 NULL, NULL, FALSE);
14674
14675         return offset;
14676 }
14677
14678
14679
14680
14681 static int
14682 dissect_h245_containedThreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14683 {
14684         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_containedThreads, ett_h245_containedThreads, dissect_h245_containedThread, 1, 256 );
14685         return offset;
14686 }
14687
14688
14689
14690
14691
14692 static per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
14693         { "numberOfThreads", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14694                 dissect_h245_numberOfThreads },
14695         { "framesBetweenSyncPoints", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14696                 dissect_h245_framesBetweenSyncPoints },
14697         { "frameToThreadMapping", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14698                 dissect_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping },
14699         { "containedThreads", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14700                 dissect_h245_containedThreads },
14701         { NULL, 0, 0, NULL }
14702 };
14703 static int
14704 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14705 {
14706         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyEncoding, ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
14707
14708         return offset;
14709 }
14710
14711
14712
14713
14714 static const value_string RedundancyEncodingMethod_vals[] = {
14715         {  0, "nonStandard" },
14716         {  1, "rtpAudioRedundancyEncoding" },
14717         {  2, "rtpH263VideoRedundancyEncoding" },
14718         {  0, NULL }
14719 };
14720 static per_choice_t RedundancyEncodingMethod_choice[] = {
14721         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
14722                 dissect_h245_NonStandardParameter },
14723         {  1, "rtpAudioRedundancyEncoding", ASN1_EXTENSION_ROOT,
14724                 dissect_h245_NULL },
14725         {  2, "rtpH263VideoRedundancyEncoding", ASN1_NOT_EXTENSION_ROOT,
14726                 dissect_h245_RTPH263VideoRedundancyEncoding },
14727         {  0, NULL, 0, NULL }
14728 };
14729 static int
14730 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14731 {
14732         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMethod, ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice, "RedundancyEncodingMethod", NULL);
14733
14734         return offset;
14735 }
14736
14737
14738
14739
14740 static per_sequence_t RedundancyEncodingCapability_sequence[] = {
14741         { "redundancyEncodingMethod", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14742                 dissect_h245_RedundancyEncodingMethod },
14743         { "primaryEncoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14744                 dissect_h245_CapabilityTableEntryNumber },
14745         { "secondaryEncoding", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14746                 dissect_h245_CapabilityTableEntryNumber_sequence_of },
14747         { NULL, 0, 0, NULL }
14748 };
14749 static int
14750 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14751 {
14752         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingCapability, ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
14753
14754         return offset;
14755 }
14756
14757
14758
14759 static int
14760 dissect_h245_RedundancyEncodingCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14761 {
14762         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingCapability_sequence_of, ett_h245_RedundancyEncodingCapability_sequence_of, dissect_h245_RedundancyEncodingCapability, 1, 256 );
14763         return offset;
14764 }
14765
14766
14767
14768
14769 static int
14770 dissect_h245_frame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14771 {
14772         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
14773                 hf_h245_frame,  0,  255,
14774                 NULL, NULL, FALSE);
14775
14776         return offset;
14777 }
14778
14779
14780
14781 static int
14782 dissect_h245_frameSequence(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14783 {
14784         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_frameSequence, ett_h245_frameSequence, dissect_h245_frame, 1, 256 );
14785         return offset;
14786 }
14787
14788
14789
14790
14791 static per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
14792         { "threadNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14793                 dissect_h245_threadNumber },
14794         { "frameSequence", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14795                 dissect_h245_frameSequence },
14796         { NULL, 0, 0, NULL }
14797 };
14798 static int
14799 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14800 {
14801         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyFrameMapping, ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
14802
14803         return offset;
14804 }
14805
14806
14807
14808
14809
14810 static int
14811 dissect_h245_EncryptionCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14812 {
14813         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_EncryptionCapability, ett_h245_EncryptionCapability, dissect_h245_MediaEncryptionAlgorithm, 1, 256 );
14814         return offset;
14815 }
14816
14817
14818
14819
14820 static per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
14821         { "encryptionCapability", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14822                 dissect_h245_EncryptionCapability },
14823         { "authenticationCapability", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14824                 dissect_h245_AuthenticationCapability },
14825         { "integrityCapability", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14826                 dissect_h245_IntegrityCapability },
14827         { NULL, 0, 0, NULL }
14828 };
14829 static int
14830 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14831 {
14832         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionAuthenticationAndIntegrity, ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
14833
14834         return offset;
14835 }
14836
14837
14838
14839 static per_sequence_t H235SecurityCapability_sequence[] = {
14840         { "encryptionAuthenticationAndIntegrity", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14841                 dissect_h245_EncryptionAuthenticationAndIntegrity },
14842         { "mediaCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14843                 dissect_h245_CapabilityTableEntryNumber},
14844         { NULL, 0, 0, NULL }
14845 };
14846 static int
14847 dissect_h245_H235SecurityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14848 {
14849         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235SecurityCapability, ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
14850
14851         return offset;
14852 }
14853
14854
14855 static int dissect_h245_EscrowData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14856
14857 static int
14858 dissect_h245_escrowentry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14859 {
14860         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_escrowentry, ett_h245_escrowentry, dissect_h245_EscrowData, 1, 256 );
14861         return offset;
14862 }
14863
14864
14865
14866
14867 static per_sequence_t EncryptionSync_sequence[] = {
14868         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14869                 dissect_h245_NonStandardParameter },
14870         { "synchFlag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14871                 dissect_h245_synchFlag },
14872         { "h235Key", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14873                 dissect_h245_h235Key },
14874         { "escrowentry", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14875                 dissect_h245_escrowentry },
14876         { NULL, 0, 0, NULL }
14877 };
14878 static int
14879 dissect_h245_EncryptionSync(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14880 {
14881         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionSync, ett_h245_EncryptionSync, EncryptionSync_sequence);
14882
14883         return offset;
14884 }
14885
14886
14887
14888 static const value_string MiscellaneousCommand_type_vals[] = {
14889         {  0, "equalizeDelay" },
14890         {  1, "zeroDelay" },
14891         {  2, "multipointModeCommand" },
14892         {  3, "cancelMultipointModeCommand" },
14893         {  4, "videoFreezePicture" },
14894         {  5, "videoFastUpdatePicture" },
14895         {  6, "videoFastUpdateGOB" },
14896         {  7, "videoTemporalSpatialTradeOff" },
14897         {  8, "videoSendSyncEveryGOB" },
14898         {  9, "videoSendSyncEveryGOBCancel" },
14899         { 10, "videoFastUpdateMB" },
14900         { 11, "maxH223MUXPDUSize" },
14901         { 12, "encryptionUpdate" },
14902         { 13, "encryptionUpdateRequest" },
14903         { 14, "switchReceiveMediaOff" },
14904         { 15, "switchReceiveMediaOn" },
14905         { 16, "progressiveRefinementStart" },
14906         { 17, "progressiveRefinementAbortOne" },
14907         { 18, "progressiveRefinementAbortContinous" },
14908         { 19, "videoBadMBs" },
14909         { 20, "lostPicture" },
14910         { 21, "lostPartialPicture" },
14911         { 22, "recoveryReferencePicture" },
14912         {  0, NULL }
14913 };
14914 static per_choice_t MiscellaneousCommand_type_choice[] = {
14915         {  0, "equalizeDelay", ASN1_EXTENSION_ROOT,
14916                 dissect_h245_NULL },
14917         {  1, "zeroDelay", ASN1_EXTENSION_ROOT,
14918                 dissect_h245_NULL },
14919         {  2, "multipointModeCommand", ASN1_EXTENSION_ROOT,
14920                 dissect_h245_NULL },
14921         {  3, "cancelMultipointModeCommand", ASN1_EXTENSION_ROOT,
14922                 dissect_h245_NULL },
14923         {  4, "videoFreezePicture", ASN1_EXTENSION_ROOT,
14924                 dissect_h245_NULL },
14925         {  5, "videoFastUpdatePicture", ASN1_EXTENSION_ROOT,
14926                 dissect_h245_NULL },
14927         {  6, "videoFastUpdateGOB", ASN1_EXTENSION_ROOT,
14928                 dissect_h245_MiscellaneousCommand_type_videoFastUpdateGOB },
14929         {  7, "videoTemporalSpatialTradeOff", ASN1_EXTENSION_ROOT,
14930                 dissect_h245_videoTemporalSpatialTradeOff },
14931         {  8, "videoSendSyncEveryGOB", ASN1_EXTENSION_ROOT,
14932                 dissect_h245_NULL },
14933         {  9, "videoSendSyncEveryGOBCancel", ASN1_EXTENSION_ROOT,
14934                 dissect_h245_NULL },
14935         { 10, "videoFastUpdateMB", ASN1_NOT_EXTENSION_ROOT,
14936                 dissect_h245_MiscellaneousCommand_type_videoFastUpdateMB },
14937         { 11, "maxH223MUXPDUSize", ASN1_NOT_EXTENSION_ROOT,
14938                 dissect_h245_maxH223MUXPDUsize },
14939         { 12, "encryptionUpdate", ASN1_NOT_EXTENSION_ROOT,
14940                 dissect_h245_EncryptionSync },
14941         { 13, "encryptionUpdateRequest", ASN1_NOT_EXTENSION_ROOT,
14942                 dissect_h245_EncryptionUpdateRequest },
14943         { 14, "switchReceiveMediaOff", ASN1_NOT_EXTENSION_ROOT,
14944                 dissect_h245_NULL },
14945         { 15, "switchReceiveMediaOn", ASN1_NOT_EXTENSION_ROOT,
14946                 dissect_h245_NULL },
14947         { 16, "progressiveRefinementStart", ASN1_NOT_EXTENSION_ROOT,
14948                 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart },
14949         { 17, "progressiveRefinementAbortOne", ASN1_NOT_EXTENSION_ROOT,
14950                 dissect_h245_NULL },
14951         { 18, "progressiveRefinementAbortContinous", ASN1_NOT_EXTENSION_ROOT,
14952                 dissect_h245_NULL },
14953         { 19, "videoBadMBs", ASN1_NOT_EXTENSION_ROOT,
14954                 dissect_h245_MiscellaneousCommand_type_videoBadMBs },
14955         { 20, "lostPicture", ASN1_NOT_EXTENSION_ROOT,
14956                 dissect_h245_lostPicture_sequence_of },
14957         { 21, "lostPartialPicture", ASN1_NOT_EXTENSION_ROOT,
14958                 dissect_h245_MiscellaneousCommand_type_lostPartialPicture},
14959         { 22, "recoveryReferencePicture", ASN1_NOT_EXTENSION_ROOT,
14960                 dissect_h245_recoveryReferencePicture_sequence_of },
14961         {  0, NULL, 0, NULL }
14962 };
14963 static int
14964 dissect_h245_MiscellaneousCommand_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14965 {
14966         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type, ett_h245_MiscellaneousCommand_type, MiscellaneousCommand_type_choice, "type", NULL);
14967
14968         return offset;
14969 }
14970
14971
14972
14973
14974 static per_sequence_t MiscellaneousCommand_sequence[] = {
14975         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14976                 dissect_h245_LogicalChannelNumber },
14977         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14978                 dissect_h245_MiscellaneousCommand_type },
14979         { NULL, 0, 0, NULL }
14980 };
14981 static int
14982 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14983 {
14984         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand, ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
14985
14986         return offset;
14987 }
14988
14989
14990
14991 static int dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14992
14993 static int
14994 dissect_h245_elementList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14995 {
14996         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_elementList, ett_h245_elementList, dissect_h245_MultiplexElement, 1, 256 );
14997         return offset;
14998 }
14999
15000
15001
15002 static per_sequence_t MultiplexEntryDescriptor_sequence[] = {
15003         { "multiplexTableEntryNumber", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
15004                 dissect_h245_MultiplexTableEntryNumber },
15005         { "elementList", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
15006                 dissect_h245_elementList },
15007         { NULL, 0, 0, NULL }
15008 };
15009 static int
15010 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15011 {
15012         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryDescriptor, ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
15013
15014         return offset;
15015 }
15016
15017
15018
15019 static int
15020 dissect_h245_subElementList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15021 {
15022         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_subElementList, ett_h245_subElementList, dissect_h245_MultiplexElement, 2, 255 );
15023         return offset;
15024 }
15025
15026
15027
15028 static const value_string MultiplexElement_type_vals[] = {
15029         {  0, "logicalChannelNumber" },
15030         {  1, "subElementList" },
15031         {  0, NULL }
15032 };
15033 static per_choice_t MultiplexElement_type_choice[] = {
15034         {  0, "logicalChannelNumber", ASN1_NO_EXTENSIONS,
15035                 dissect_h245_logicalChannelNumber },
15036         {  1, "subElementList", ASN1_NO_EXTENSIONS,
15037                 dissect_h245_subElementList },
15038         {  0, NULL, 0, NULL }
15039 };
15040 static int
15041 dissect_h245_MultiplexElement_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15042 {
15043         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexElement_type, ett_h245_MultiplexElement_type, MultiplexElement_type_choice, "type", NULL);
15044
15045         return offset;
15046 }
15047
15048
15049
15050
15051 static per_sequence_t MultiplexElement_sequence[] = {
15052         { "type", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
15053                 dissect_h245_MultiplexElement_type },
15054         { "repeatCount", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
15055                 dissect_h245_MultiplexElement_repeatCount },
15056         { NULL, 0, 0, NULL }
15057 };
15058 static int
15059 dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15060 {
15061         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexElement, ett_h245_MultiplexElement, MultiplexElement_sequence);
15062
15063         return offset;
15064 }
15065
15066
15067
15068
15069 static int dissect_h245_ModeDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15070
15071 static int
15072 dissect_h245_requestedModes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15073 {
15074         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_requestedModes, ett_h245_requestedModes, dissect_h245_ModeDescription, 1, 256 );
15075         return offset;
15076 }
15077
15078
15079
15080
15081 static per_sequence_t RequestMode_sequence[] = {
15082         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15083                 dissect_h245_SequenceNumber },
15084         { "requestedModes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15085                 dissect_h245_requestedModes },
15086         { NULL, 0, 0, NULL }
15087 };
15088 static int
15089 dissect_h245_RequestMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15090 {
15091         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMode, ett_h245_RequestMode, RequestMode_sequence);
15092
15093         return offset;
15094 }
15095
15096
15097
15098 static int
15099 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15100 {
15101         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_CertSelectionCriteria, ett_h245_CertSelectionCriteria, dissect_h245_Criteria, 1, 16 );
15102         return offset;
15103 }
15104
15105
15106
15107 static per_sequence_t ConferenceRequest_requestTerminalCertificate_sequence[] = {
15108         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15109                 dissect_h245_TerminalLabel },
15110         { "certSelectionCriteria", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15111                 dissect_h245_CertSelectionCriteria },
15112         { "sRandom", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15113                 dissect_h245_sRandom },
15114         { NULL, 0, 0, NULL }
15115 };
15116 static int
15117 dissect_h245_ConferenceRequest_requestTerminalCertificate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15118 {
15119         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceRequest_requestTerminalCertificate, ett_h245_ConferenceRequest_requestTerminalCertificate, ConferenceRequest_requestTerminalCertificate_sequence);
15120
15121         return offset;
15122 }
15123
15124
15125
15126
15127 static const value_string ConferenceRequest_vals[] = {
15128         {  0, "terminalListRequest" },
15129         {  1, "makeMeChair" },
15130         {  2, "cancelMakeMeChair" },
15131         {  3, "dropTerminal" },
15132         {  4, "requestTerminalID" },
15133         {  5, "enterH243Password" },
15134         {  6, "enterH243TerminalID" },
15135         {  7, "enterH243ConferenceID" },
15136         {  8, "enterExtensionAddress" },
15137         {  9, "requestChairTokenOwner" },
15138         { 10, "requestTerminalCertificate" },
15139         { 11, "broadcastMyLogicalChannel" },
15140         { 12, "makeTerminalBroadcaster" },
15141         { 13, "sendThisSource" },
15142         { 14, "requestAllTerminalIDs" },
15143         { 15, "remoteMCRequest" },
15144         {  0, NULL }
15145 };
15146 static per_choice_t ConferenceRequest_choice[] = {
15147         {  0, "terminalListRequest", ASN1_EXTENSION_ROOT,
15148                 dissect_h245_NULL },
15149         {  1, "makeMeChair", ASN1_EXTENSION_ROOT,
15150                 dissect_h245_NULL },
15151         {  2, "cancelMakeMeChair", ASN1_EXTENSION_ROOT,
15152                 dissect_h245_NULL },
15153         {  3, "dropTerminal", ASN1_EXTENSION_ROOT,
15154                 dissect_h245_TerminalLabel },
15155         {  4, "requestTerminalID", ASN1_EXTENSION_ROOT,
15156                 dissect_h245_TerminalLabel },
15157         {  5, "enterH243Password", ASN1_EXTENSION_ROOT,
15158                 dissect_h245_NULL },
15159         {  6, "enterH243TerminalID", ASN1_EXTENSION_ROOT,
15160                 dissect_h245_NULL },
15161         {  7, "enterH243ConferenceID", ASN1_EXTENSION_ROOT,
15162                 dissect_h245_NULL },
15163         {  8, "enterExtensionAddress", ASN1_NOT_EXTENSION_ROOT,
15164                 dissect_h245_NULL },
15165         {  9, "requestChairTokenOwner", ASN1_NOT_EXTENSION_ROOT,
15166                 dissect_h245_NULL },
15167         { 10, "requestTerminalCertificate", ASN1_NOT_EXTENSION_ROOT,
15168                 dissect_h245_ConferenceRequest_requestTerminalCertificate },
15169         { 11, "broadcastMyLogicalChannel", ASN1_NOT_EXTENSION_ROOT,
15170                 dissect_h245_LogicalChannelNumber },
15171         { 12, "makeTerminalBroadcaster", ASN1_NOT_EXTENSION_ROOT,
15172                 dissect_h245_TerminalLabel },
15173         { 13, "sendThisSource", ASN1_NOT_EXTENSION_ROOT,
15174                 dissect_h245_TerminalLabel },
15175         { 14, "requestAllTerminalIDs", ASN1_NOT_EXTENSION_ROOT,
15176                 dissect_h245_NULL },
15177         { 15, "remoteMCRequest", ASN1_NOT_EXTENSION_ROOT,
15178                 dissect_h245_RemoteMCRequest },
15179         {  0, NULL, 0, NULL }
15180 };
15181 static int
15182 dissect_h245_ConferenceRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15183 {
15184         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceRequest, ett_h245_ConferenceRequest, ConferenceRequest_choice, "ConferenceRequest", NULL);
15185
15186         return offset;
15187 }
15188
15189 static int dissect_h245_CapabilityTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15190
15191 static int
15192 dissect_h245_capabilityTable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15193 {
15194         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityTable, ett_h245_capabilityTable, dissect_h245_CapabilityTableEntry, 1, 256);
15195         return offset;
15196 }
15197
15198
15199
15200
15201
15202 static int
15203 dissect_h245_simultaneousCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15204 {
15205         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_simultaneousCapabilities, ett_h245_simultaneousCapabilities, dissect_h245_AlternativeCapabilitySet, 1, 256);
15206         return offset;
15207 }
15208
15209
15210
15211
15212 static per_sequence_t CapabilityDescriptor_sequence[] = {
15213         { "capabilityDescriptorNumber", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
15214                 dissect_h245_CapabilityDescriptorNumber },
15215         { "simultaneousCapabilities", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
15216                 dissect_h245_simultaneousCapabilities },
15217         { NULL, 0, 0, NULL }
15218 };
15219 static int
15220 dissect_h245_CapabilityDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15221 {
15222         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CapabilityDescriptor, ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
15223
15224         return offset;
15225 }
15226
15227
15228
15229 static int
15230 dissect_h245_capabilityDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15231 {
15232         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityDescriptors, ett_h245_capabilityDescriptors, dissect_h245_CapabilityDescriptor, 1, 256);
15233         return offset;
15234 }
15235
15236
15237
15238
15239 static int dissect_h245_Q2931Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15240
15241 static int
15242 dissect_h245_gatewayAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15243 {
15244         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_gatewayAddress, ett_h245_gatewayAddress, dissect_h245_Q2931Address, 1, 256);
15245         return offset;
15246 }
15247
15248
15249
15250 static per_sequence_t VCCapability_aal1ViaGateway_sequence[] = {
15251         { "gatewayAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15252                 dissect_h245_gatewayAddress },
15253         { "nullClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15254                 dissect_h245_nullClockRecovery },
15255         { "srtsClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15256                 dissect_h245_srtsClockRecovery },
15257         { "adaptiveClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15258                 dissect_h245_adaptiveClockRecovery },
15259         { "nullErrorCorrection", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15260                 dissect_h245_nullErrorCorrection },
15261         { "longInterleaver", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15262                 dissect_h245_longInterleaver },
15263         { "shortInterleaver", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15264                 dissect_h245_shortInterleaver },
15265         { "errorCorrectionOnly", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15266                 dissect_h245_errorCorrectionOnly },
15267         { "structuredDataTransfer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15268                 dissect_h245_structuredDataTransfer },
15269         { "partiallyFilledCells", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15270                 dissect_h245_partiallyFilledCells },
15271         { NULL, 0, 0, NULL }
15272 };
15273 static int
15274 dissect_h245_VCCapability_aal1ViaGateway(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15275 {
15276         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal1ViaGateway, ett_h245_VCCapability_aal1ViaGateway, VCCapability_aal1ViaGateway_sequence);
15277
15278         return offset;
15279 }
15280
15281
15282
15283 static per_sequence_t VCCapability_availableBitRates_sequence[] = {
15284         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15285                 dissect_h245_VCCapability_availableBitRates_type },
15286         { NULL, 0, 0, NULL }
15287 };
15288 static int
15289 dissect_h245_VCCapability_availableBitRates(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15290 {
15291         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates, ett_h245_VCCapability_availableBitRates, VCCapability_availableBitRates_sequence);
15292
15293         return offset;
15294 }
15295
15296
15297
15298
15299
15300 static per_sequence_t VCCapability_sequence[] = {
15301         { "aal1", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15302                 dissect_h245_VCCapability_aal1 },
15303         { "aal5", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15304                 dissect_h245_VCCapability_aal5 },
15305         { "transportStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15306                 dissect_h245_transportStream },
15307         { "programStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15308                 dissect_h245_programStream },
15309         { "availableBitRates", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15310                 dissect_h245_VCCapability_availableBitRates },
15311         { "aal1ViaGateway", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15312                 dissect_h245_VCCapability_aal1ViaGateway },
15313         { NULL, 0, 0, NULL }
15314 };
15315 static int
15316 dissect_h245_VCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15317 {
15318         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability, ett_h245_VCCapability, VCCapability_sequence);
15319
15320         return offset;
15321 }
15322
15323
15324
15325
15326
15327 static int dissect_h245_EnhancementOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15328
15329 static int
15330 dissect_h245_snrEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15331 {
15332         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_snrEnhancement, ett_h245_snrEnhancement, dissect_h245_EnhancementOptions, 1, 14);
15333         return offset;
15334 }
15335
15336
15337
15338
15339 static int
15340 dissect_h245_spatialEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15341 {
15342         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_spatialEnhancement, ett_h245_spatialEnhancement, dissect_h245_EnhancementOptions, 1, 14);
15343         return offset;
15344 }
15345
15346
15347
15348
15349 static int dissect_h245_BEnhancementParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15350
15351 static int
15352 dissect_h245_bPictureEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15353 {
15354         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_bPictureEnhancement, ett_h245_bPictureEnhancement, dissect_h245_BEnhancementParameters, 1, 14);
15355         return offset;
15356 }
15357
15358
15359
15360
15361 static per_sequence_t EnhancementLayerInfo_sequence[] = {
15362         { "baseBitRateConstrained", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15363                 dissect_h245_baseBitRateConstrained },
15364         { "snrEnhancement", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15365                 dissect_h245_snrEnhancement },
15366         { "spatialEnhancement", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15367                 dissect_h245_spatialEnhancement },
15368         { "bPictureEnhancement", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15369                 dissect_h245_bPictureEnhancement },
15370         { NULL, 0, 0, NULL }
15371 };
15372 static int
15373 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15374 {
15375         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EnhancementLayerInfo, ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
15376
15377         return offset;
15378 }
15379
15380
15381
15382
15383 static int
15384 dissect_h245_customPictureClockFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15385 {
15386         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPictureClockFrequency, ett_h245_customPictureClockFrequency, dissect_h245_CustomPictureClockFrequency, 1, 16);
15387         return offset;
15388 }
15389
15390
15391
15392
15393 static int dissect_h245_CustomPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15394
15395
15396 static int
15397 dissect_h245_customPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15398 {
15399         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPictureFormat, ett_h245_customPictureFormat, dissect_h245_CustomPictureFormat, 1, 16);
15400         return offset;
15401 }
15402
15403
15404
15405 static int dissect_h245_H263VideoModeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15406
15407 static int
15408 dissect_h245_modeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15409 {
15410         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_modeCombos, ett_h245_modeCombos, dissect_h245_H263VideoModeCombos, 1, 16);
15411         return offset;
15412 }
15413
15414
15415
15416
15417
15418 static per_sequence_t H263Options_sequence[] = {
15419         { "advancedIntraCodingMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15420                 dissect_h245_advancedIntraCodingMode },
15421         { "deblockingFilterMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15422                 dissect_h245_deblockingFilterMode },
15423         { "improvedPBFramesMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15424                 dissect_h245_improvedPBFramesMode },
15425         { "unlimitedMotionVectors", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15426                 dissect_h245_unlimitedMotionVectors },
15427         { "fullPictureFreeze", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15428                 dissect_h245_fullPictureFreeze },
15429         { "partialPictureFreezeAndRelease", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15430                 dissect_h245_partialPictureFreezeAndRelease },
15431         { "resizingPartPicFreezeAndRelease", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15432                 dissect_h245_resizingPartPicFreezeAndRelease },
15433         { "fullPictureSnapshot", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15434                 dissect_h245_fullPictureSnapshot },
15435         { "partialPictureSnapshot", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15436                 dissect_h245_partialPictureSnapshot },
15437         { "videoSegmentTagging", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15438                 dissect_h245_videoSegmentTagging },
15439         { "progressiveRefinement", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15440                 dissect_h245_progressiveRefinement },
15441         { "dynamicPictureResizingByFour", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15442                 dissect_h245_dynamicPictureResizingByFour },
15443         { "dynamicPictureResizingSixteenthPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15444                 dissect_h245_dynamicPictureResizingSixteenthPel },
15445         { "dynamicWarpingHalfPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15446                 dissect_h245_dynamicWarpingHalfPel },
15447         { "dynamicWarpingSixteenthPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15448                 dissect_h245_dynamicWarpingSixteenthPel },
15449         { "independentSegmentDecoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15450                 dissect_h245_independentSegmentDecoding },
15451         { "slicesInOrder-NonRect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15452                 dissect_h245_slicesInOrderNonRect },
15453         { "slicesInOrder-Rect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15454                 dissect_h245_slicesInOrderRect },
15455         { "slicesNoOrder-NonRect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15456                 dissect_h245_slicesNoOrderNonRect },
15457         { "slicesNoOrder-Rect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15458                 dissect_h245_slicesNoOrderRect },
15459         { "alternateInterVLCMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15460                 dissect_h245_alternateInterVLCMode },
15461         { "modifiedQuantizationMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15462                 dissect_h245_modifiedQuantizationMode },
15463         { "reducedResolutionUpdate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15464                 dissect_h245_reducedResolutionUpdate },
15465         { "transparencyParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15466                 dissect_h245_TransperencyParameters },
15467         { "separateVideoBackChannel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15468                 dissect_h245_separateVideoBackChannel },
15469         { "refPictureSelection", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15470                 dissect_h245_RefPictureSelection },
15471         { "customPictureClockFrequence", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15472                 dissect_h245_customPictureClockFrequency },
15473         { "customPictureFormat", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15474                 dissect_h245_customPictureFormat },
15475         { "modeCombos", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15476                 dissect_h245_modeCombos },
15477         { "videoBadMBsCap", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15478                 dissect_h245_videoBadMBsCap },
15479         { "h263Version3Options", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15480                 dissect_h245_H263Version3Options },
15481         { NULL, 0, 0, NULL }
15482 };
15483 static int
15484 dissect_h245_H263Options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15485 {
15486         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263Options, ett_h245_H263Options, H263Options_sequence);
15487
15488         return offset;
15489 }
15490
15491
15492
15493
15494 static per_sequence_t H263VideoMode_sequence[] = {
15495         { "resolution", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15496                 dissect_h245_H263VideoMode_resolution },
15497         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15498                 dissect_h245_h223bitRate },
15499         { "unrestrictedVector", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15500                 dissect_h245_unrestrictedVector },
15501         { "arithmeticCoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15502                 dissect_h245_arithmeticCoding },
15503         { "advancedPrediction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15504                 dissect_h245_advancedPrediction },
15505         { "pbFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15506                 dissect_h245_pbFrames },
15507         { "errorCompensation", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15508                 dissect_h245_errorCompensation },
15509         { "enhancementLayerInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15510                 dissect_h245_EnhancementLayerInfo },
15511         { "h263Options", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15512                 dissect_h245_H263Options },
15513         { NULL, 0, 0, NULL }
15514 };
15515 static int
15516 dissect_h245_H263VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15517 {
15518         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoMode, ett_h245_H263VideoMode, H263VideoMode_sequence);
15519
15520         return offset;
15521 }
15522
15523
15524
15525
15526
15527 static per_sequence_t H263VideoCapability_sequence[] = {
15528         { "sqcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15529                 dissect_h245_sqcifMPI_1_32 },
15530         { "qcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15531                 dissect_h245_qcifMPI_1_32 },
15532         { "cifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15533                 dissect_h245_cifMPI_1_32 },
15534         { "cif4MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15535                 dissect_h245_cif4MPI_1_32 },
15536         { "cif16MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15537                 dissect_h245_cif16MPI_1_32 },
15538         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15539                 dissect_h245_maxBitRate_192400 },
15540         { "unrestrictedVector", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15541                 dissect_h245_unrestrictedVector },
15542         { "arithmeticCoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15543                 dissect_h245_arithmeticCoding },
15544         { "advancedPrediction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15545                 dissect_h245_advancedPrediction },
15546         { "pbFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15547                 dissect_h245_pbFrames },
15548         { "temporalSpatialTradeOffCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15549                 dissect_h245_temporalSpatialTradeOffCapability },
15550         { "hrd-B", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15551                 dissect_h245_hrd_B },
15552         { "bppMaxKb", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15553                 dissect_h245_bppMaxKb },
15554         { "slowSqcifMPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15555                 dissect_h245_slowSqcifMPI },
15556         { "slowQcifMPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15557                 dissect_h245_slowQcifMPI },
15558         { "slowCifMPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15559                 dissect_h245_slowCifMPI },
15560         { "slowCif4MPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15561                 dissect_h245_slowCif4MPI },
15562         { "slowCif16MPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15563                 dissect_h245_slowCif16MPI },
15564         { "errorCompensation", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15565                 dissect_h245_errorCompensation },
15566         { "enhancementLayerInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15567                 dissect_h245_EnhancementLayerInfo },
15568         { "h263Options", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15569                 dissect_h245_H263Options },
15570         { NULL, 0, 0, NULL }
15571 };
15572 static int
15573 dissect_h245_H263VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15574 {
15575         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoCapability, ett_h245_H263VideoCapability, H263VideoCapability_sequence);
15576
15577         return offset;
15578 }
15579
15580
15581
15582
15583
15584 static const value_string VideoCapability_vals[] = {
15585         {  0, "nonStandard" },
15586         {  1, "h261VideoCapability" },
15587         {  2, "h262VideoCapability" },
15588         {  3, "h263VideoCapability" },
15589         {  4, "is11172VideoCapability" },
15590         {  5, "genericVideoCapability" },
15591         {  0, NULL }
15592 };
15593 static per_choice_t VideoCapability_choice[] = {
15594         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
15595                 dissect_h245_NonStandardParameter },
15596         {  1, "h261VideoCapability", ASN1_EXTENSION_ROOT,
15597                 dissect_h245_H261VideoCapability },
15598         {  2, "h262VideoCapability", ASN1_EXTENSION_ROOT,
15599                 dissect_h245_H262VideoCapability },
15600         {  3, "h263VideoCapability", ASN1_EXTENSION_ROOT,
15601                 dissect_h245_H263VideoCapability },
15602         {  4, "is11172VideoCapability", ASN1_EXTENSION_ROOT,
15603                 dissect_h245_IS11172VideoCapability},
15604         {  5, "genericVideoCapability", ASN1_NOT_EXTENSION_ROOT,
15605                 dissect_h245_GenericCapability },
15606         {  0, NULL, 0, NULL }
15607 };
15608 static int
15609 dissect_h245_VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15610 {
15611         guint32 value;
15612
15613         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VideoCapability, ett_h245_VideoCapability, VideoCapability_choice, "VideoCapability", &value );
15614
15615         codec_type = val_to_str(value, VideoCapability_vals, "<unknown>");
15616
15617         return offset;
15618 }
15619
15620
15621
15622
15623
15624 static per_sequence_t EnhancementOptions_sequence[] = {
15625         { "sqcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15626                 dissect_h245_sqcifMPI_1_32 },
15627         { "qcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15628                 dissect_h245_qcifMPI_1_32 },
15629         { "cifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15630                 dissect_h245_cifMPI_1_32 },
15631         { "cif4MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15632                 dissect_h245_cif4MPI_1_32 },
15633         { "cif16MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15634                 dissect_h245_cif16MPI_1_32 },
15635         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15636                 dissect_h245_maxBitRate_192400 },
15637         { "unrestrictedVector", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15638                 dissect_h245_unrestrictedVector },
15639         { "arithmeticCoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15640                 dissect_h245_arithmeticCoding },
15641         { "temporalSpatialTradeOffCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15642                 dissect_h245_temporalSpatialTradeOffCapability },
15643         { "slowSqcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15644                 dissect_h245_slowSqcifMPI },
15645         { "slowQcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15646                 dissect_h245_slowQcifMPI },
15647         { "slowCifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15648                 dissect_h245_slowCifMPI },
15649         { "slowCif4MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15650                 dissect_h245_slowCif4MPI },
15651         { "slowCif16MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15652                 dissect_h245_slowCif16MPI },
15653         { "errorCompensation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15654                 dissect_h245_errorCompensation },
15655         { "h263Options", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15656                 dissect_h245_H263Options },
15657         { NULL, 0, 0, NULL }
15658 };
15659 static int
15660 dissect_h245_EnhancementOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15661 {
15662         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EnhancementOptions, ett_h245_EnhancementOptions, EnhancementOptions_sequence);
15663
15664         return offset;
15665 }
15666
15667
15668
15669
15670 static per_sequence_t BEnhancementParameters_sequence[] = {
15671         { "enhancementOptions", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15672                 dissect_h245_EnhancementOptions },
15673         { "numberOfBPictures", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15674                 dissect_h245_numberOfBPictures },
15675         { NULL, 0, 0, NULL }
15676 };
15677 static int
15678 dissect_h245_BEnhancementParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15679 {
15680         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_BEnhancementParameters, ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
15681
15682         return offset;
15683 }
15684
15685
15686
15687 static int
15688 dissect_h245_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15689 {
15690         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPCF, ett_h245_customPCF, dissect_h245_CustomPictureFormat_mPI_customPCF, 1, 16);
15691         return offset;
15692 }
15693
15694
15695
15696
15697 static int
15698 dissect_h245_PixelAspectCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15699 {
15700         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
15701                 tree, hf_h245_PixelAspectCode, 1, 14,
15702                 NULL, NULL, FALSE);
15703
15704         return offset;
15705 }
15706
15707 static int
15708 dissect_h245_pixelAspectCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15709 {
15710         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_pixelAspectCode, ett_h245_pixelAspectCode, dissect_h245_PixelAspectCode, 1, 14);
15711         return offset;
15712 }
15713
15714
15715
15716 static int dissect_h245_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15717
15718 static const value_string CustomPictureFormat_pixelAspectInformation_vals[] = {
15719         {  0, "anyPixelAspectRatio" },
15720         {  1, "pixelAspectCode" },
15721         {  2, "extendedPAR" },
15722         {  0, NULL }
15723 };
15724 static per_choice_t CustomPictureFormat_pixelAspectInformation_choice[] = {
15725         {  0, "anyPixelAspectRatio", ASN1_EXTENSION_ROOT,
15726                 dissect_h245_anyPixelAspectRatio },
15727         {  1, "pixelAspectCode", ASN1_EXTENSION_ROOT,
15728                 dissect_h245_pixelAspectCode },
15729         {  2, "extendedPAR", ASN1_EXTENSION_ROOT,
15730                 dissect_h245_extendedPAR },
15731         {  0, NULL, 0, NULL }
15732 };
15733 static int
15734 dissect_h245_CustomPictureFormat_pixelAspectInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15735 {
15736         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_pixelAspectInformation, ett_h245_CustomPictureFormat_pixelAspectInformation, CustomPictureFormat_pixelAspectInformation_choice, "pixelAspectInformation", NULL);
15737
15738         return offset;
15739 }
15740
15741
15742
15743
15744
15745 static per_sequence_t CustomPictureFormat_sequence[] = {
15746         { "maxCustomPictureWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15747                 dissect_h245_maxCustomPictureWidth },
15748         { "maxCustomPictureHeight", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15749                 dissect_h245_maxCustomPictureHeight},
15750         { "minCustomPictureWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15751                 dissect_h245_minCustomPictureWidth },
15752         { "minCustomPictureHeight", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15753                 dissect_h245_minCustomPictureHeight },
15754         { "mPI", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15755                 dissect_h245_CustomPictureFormat_mPI },
15756         { "pixelAspectInformation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15757                 dissect_h245_CustomPictureFormat_pixelAspectInformation },
15758         { NULL, 0, 0, NULL }
15759 };
15760 static int
15761 dissect_h245_CustomPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15762 {
15763         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat, ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
15764
15765         return offset;
15766 }
15767
15768
15769
15770
15771 static int
15772 dissect_h245_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15773 {
15774         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_extendedPAR, ett_h245_extendedPAR, dissect_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, 1, 256);
15775         return offset;
15776 }
15777
15778
15779
15780
15781 static int
15782 dissect_h245_h263VideoCoupledModes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15783 {
15784         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_h263VideoCoupledModes, ett_h245_h263VideoCoupledModes, dissect_h245_H263ModeComboFlags, 1, 16);
15785         return offset;
15786 }
15787
15788
15789
15790
15791
15792 static per_sequence_t H263VideoModeCombos_sequence[] = {
15793         { "h263VideoUncoupledModes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15794                 dissect_h245_H263ModeComboFlags },
15795         { "h263VideoCoupledModes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15796                 dissect_h245_h263VideoCoupledModes },
15797         { NULL, 0, 0, NULL }
15798 };
15799 static int
15800 dissect_h245_H263VideoModeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15801 {
15802         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoModeCombos, ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
15803
15804         return offset;
15805 }
15806
15807
15808
15809 static int
15810 dissect_h245_capabilityOnMuxStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15811 {
15812         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityOnMuxStream, ett_h245_capabilityOnMuxStream, dissect_h245_AlternativeCapabilitySet, 1, 256);
15813         return offset;
15814 }
15815
15816
15817
15818
15819 static int
15820 dissect_h245_capabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15821 {
15822         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilities, ett_h245_capabilities, dissect_h245_AlternativeCapabilitySet, 1, 256);
15823         return offset;
15824 }
15825
15826
15827
15828 static per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
15829         { "capabilities", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15830                 dissect_h245_capabilities },
15831         { NULL, 0, 0, NULL }
15832 };
15833 static int
15834 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15835 {
15836         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamCapability, ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
15837
15838         return offset;
15839 }
15840
15841
15842
15843
15844
15845 static int
15846 dissect_h245_multiplexEntryDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15847 {
15848         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_multiplexEntryDescriptors, ett_h245_multiplexEntryDescriptors, dissect_h245_MultiplexEntryDescriptor, 1, 15);
15849         return offset;
15850 }
15851
15852
15853
15854 static per_sequence_t MultiplexEntrySend_sequence[] = {
15855         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15856                 dissect_h245_SequenceNumber },
15857         { "multiplexEntryDescriptors", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15858                 dissect_h245_multiplexEntryDescriptors },
15859         { NULL, 0, 0, NULL }
15860 };
15861 static int
15862 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15863 {
15864         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySend, ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
15865
15866         return offset;
15867 }
15868
15869
15870
15871
15872 static int
15873 dissect_h245_multiplexTableEntryNumber_set_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15874 {
15875         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_multiplexTableEntryNumber_set_of, ett_h245_multiplexTableEntryNumber_set_of, dissect_h245_MultiplexTableEntryNumber, 1, 15);
15876         return offset;
15877 }
15878
15879
15880
15881 static per_sequence_t MultiplexEntrySendRelease_sequence[] = {
15882         { "multiplexTableEntryNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15883                 dissect_h245_multiplexTableEntryNumber_set_of },
15884         { NULL, 0, 0, NULL }
15885 };
15886 static int
15887 dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15888 {
15889         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendRelease, ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
15890
15891         return offset;
15892 }
15893
15894
15895
15896
15897 static per_sequence_t MultiplexEntrySendAck_sequence[] = {
15898         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15899                 dissect_h245_SequenceNumber },
15900         { "multiplexTableEntryNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15901                 dissect_h245_multiplexTableEntryNumber_set_of },
15902         { NULL, 0, 0, NULL }
15903 };
15904 static int
15905 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15906 {
15907         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendAck, ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
15908
15909         return offset;
15910 }
15911
15912
15913
15914
15915
15916 static int
15917 dissect_h245_RMErejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15918 {
15919         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_rejectionDescriptions, ett_h245_rejectionDescriptions, dissect_h245_RequestMultiplexEntryRejectionDescriptions, 1, 15);
15920         return offset;
15921 }
15922
15923
15924 static int
15925 dissect_h245_rejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15926 {
15927         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_rejectionDescriptions, ett_h245_rejectionDescriptions, dissect_h245_MultiplexEntryRejectionDescriptions, 1, 15);
15928         return offset;
15929 }
15930
15931
15932
15933
15934
15935
15936 static per_sequence_t MultiplexEntrySendReject_sequence[] = {
15937         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15938                 dissect_h245_SequenceNumber },
15939         { "rejectionDescriptions", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15940                 dissect_h245_rejectionDescriptions },
15941         { NULL, 0, 0, NULL }
15942 };
15943 static int
15944 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15945 {
15946         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendReject, ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
15947
15948         return offset;
15949 }
15950
15951
15952
15953
15954 static int
15955 dissect_h245_entryNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15956 {
15957         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_entryNumbers, ett_h245_entryNumbers, dissect_h245_MultiplexTableEntryNumber, 1, 15);
15958         return offset;
15959 }
15960
15961
15962
15963
15964 static per_sequence_t RequestMultiplexEntry_sequence[] = {
15965         { "entryNumbers", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15966                 dissect_h245_entryNumbers },
15967         { NULL, 0, 0, NULL }
15968 };
15969 static int
15970 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15971 {
15972         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntry, ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
15973
15974         return offset;
15975 }
15976
15977
15978
15979 static per_sequence_t RequestMultiplexEntryAck_sequence[] = {
15980         { "entryNumbers", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15981                 dissect_h245_entryNumbers },
15982         { NULL, 0, 0, NULL }
15983 };
15984 static int
15985 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15986 {
15987         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryAck, ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
15988
15989         return offset;
15990 }
15991
15992
15993
15994
15995 static per_sequence_t RequestMultiplexEntryReject_sequence[] = {
15996         { "entryNumbers", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15997                 dissect_h245_entryNumbers },
15998         { "rejectionDescriptions", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15999                 dissect_h245_RMErejectionDescriptions },
16000         { NULL, 0, 0, NULL }
16001 };
16002 static int
16003 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16004 {
16005         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryReject, ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
16006
16007         return offset;
16008 }
16009
16010
16011
16012
16013
16014 static per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
16015         { "entryNumbers", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16016                 dissect_h245_entryNumbers },
16017         { NULL, 0, 0, NULL }
16018 };
16019 static int
16020 dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16021 {
16022         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRelease, ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
16023
16024         return offset;
16025 }
16026
16027
16028
16029 static int dissect_h245_ModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16030
16031 static int
16032 dissect_h245_ModeDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16033 {
16034         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_ModeDescription, ett_h245_ModeDescription, dissect_h245_ModeElement, 1, 256);
16035         return offset;
16036 }
16037
16038
16039
16040
16041 static int dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16042
16043 static int
16044 dissect_h245_communicationModeTable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16045 {
16046         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_communicationModeTable, ett_h245_communicationModeTable, dissect_h245_CommunicationModeTableEntry, 1, 256);
16047         return offset;
16048 }
16049
16050
16051
16052
16053
16054 static per_sequence_t CommunicationModeCommand_sequence[] = {
16055         { "communicationModeTable", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16056                 dissect_h245_communicationModeTable },
16057         { NULL, 0, 0, NULL }
16058 };
16059 static int
16060 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16061 {
16062         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeCommand, ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
16063
16064         return offset;
16065 }
16066
16067
16068
16069
16070
16071 static const value_string CommunicationModeResponse_vals[] = {
16072         {  0, "communicationModeTable" },
16073         {  0, NULL }
16074 };
16075 static per_choice_t CommunicationModeResponse_choice[] = {
16076         {  0, "communicationModeTable", ASN1_EXTENSION_ROOT,
16077                 dissect_h245_communicationModeTable },
16078         {  0, NULL, 0, NULL }
16079 };
16080 static int
16081 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16082 {
16083         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommunicationModeResponse, ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice, "CommunicationModeResponse", NULL);
16084
16085         return offset;
16086 }
16087
16088
16089
16090
16091
16092 static int
16093 dissect_h245_terminalListResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16094 {
16095         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_terminalListResponse, ett_h245_terminalListResponse, dissect_h245_TerminalLabel, 1, 256);
16096         return offset;
16097 }
16098
16099
16100
16101
16102 static int dissect_h245_DialingInformationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16103
16104 static int
16105 dissect_h245_differential(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16106 {
16107         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_differential, ett_h245_differential, dissect_h245_DialingInformationNumber, 1, 65535);
16108         return offset;
16109 }
16110
16111
16112
16113
16114
16115 static const value_string DialingInformation_vals[] = {
16116         {  0, "nonStandard" },
16117         {  1, "differential" },
16118         {  2, "infoNotAvailable" },
16119         {  0, NULL }
16120 };
16121 static per_choice_t DialingInformation_choice[] = {
16122         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16123                 dissect_h245_NonStandardMessage },
16124         {  1, "differential", ASN1_EXTENSION_ROOT,
16125                 dissect_h245_differential },
16126         {  2, "infoNotAvailable", ASN1_EXTENSION_ROOT,
16127                 dissect_h245_infoNotAvailable },
16128         {  0, NULL, 0, NULL }
16129 };
16130 static int
16131 dissect_h245_DialingInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16132 {
16133         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DialingInformation, ett_h245_DialingInformation, DialingInformation_choice, "DialingInformation", NULL);
16134
16135         return offset;
16136 }
16137
16138
16139
16140
16141
16142 static per_sequence_t MultilinkResponse_callInformation_sequence[] = {
16143         { "dialingInformation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16144                 dissect_h245_DialingInformation },
16145         { "callAssociationNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16146                 dissect_h245_callAssociationNumber },
16147         { NULL, 0, 0, NULL }
16148 };
16149 static int
16150 dissect_h245_MultilinkResponse_callInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16151 {
16152         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_callInformation, ett_h245_MultilinkResponse_callInformation, MultilinkResponse_callInformation_sequence);
16153
16154         return offset;
16155 }
16156
16157
16158
16159
16160
16161
16162 static const value_string MultilinkResponse_vals[] = {
16163         {  0, "nonStandard" },
16164         {  1, "callInformation" },
16165         {  2, "addConnection" },
16166         {  3, "removeConnection" },
16167         {  4, "maximumHeaderInterval" },
16168         {  0, NULL }
16169 };
16170 static per_choice_t MultilinkResponse_choice[] = {
16171         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16172                 dissect_h245_NonStandardMessage },
16173         {  1, "callInformation", ASN1_EXTENSION_ROOT,
16174                 dissect_h245_MultilinkResponse_callInformation },
16175         {  2, "addConnection", ASN1_EXTENSION_ROOT,
16176                 dissect_h245_MultilinkResponse_addConnection },
16177         {  3, "removeConnection", ASN1_EXTENSION_ROOT,
16178                 dissect_h245_MultilinkResponse_removeConnection },
16179         {  4, "maximumHeaderInterval", ASN1_EXTENSION_ROOT,
16180                 dissect_h245_MultilinkResponse_maximumHeaderInterval },
16181         {  0, NULL, 0, NULL }
16182 };
16183 static int
16184 dissect_h245_MultilinkResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16185 {
16186         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse, ett_h245_MultilinkResponse, MultilinkResponse_choice, "MultilinkResponse", NULL);
16187
16188         return offset;
16189 }
16190
16191
16192
16193
16194 static per_sequence_t MultilinkRequest_addConnection_sequence[] = {
16195         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16196                 dissect_h245_SequenceNumber },
16197         { "dialingInformation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16198                 dissect_h245_DialingInformation },
16199         { NULL, 0, 0, NULL }
16200 };
16201 static int
16202 dissect_h245_MultilinkRequest_addConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16203 {
16204         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_addConnection, ett_h245_MultilinkRequest_addConnection, MultilinkRequest_addConnection_sequence);
16205
16206         return offset;
16207 }
16208
16209
16210
16211
16212
16213 static const value_string MultilinkRequest_vals[] = {
16214         {  0, "nonStandard" },
16215         {  1, "callInformation" },
16216         {  2, "addConnection" },
16217         {  3, "removeConnection" },
16218         {  4, "maximumHeaderInterval" },
16219         {  0, NULL }
16220 };
16221 static per_choice_t MultilinkRequest_choice[] = {
16222         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16223                 dissect_h245_NonStandardMessage },
16224         {  1, "callInformation", ASN1_EXTENSION_ROOT,
16225                 dissect_h245_MultilinkRequest_callInformation },
16226         {  2, "addConnection", ASN1_EXTENSION_ROOT,
16227                 dissect_h245_MultilinkRequest_addConnection },
16228         {  3, "removeConnection", ASN1_EXTENSION_ROOT,
16229                 dissect_h245_MultilinkRequest_removeConnection },
16230         {  4, "maximumHeaderInterval", ASN1_EXTENSION_ROOT,
16231                 dissect_h245_MultilinkRequest_maximumHeaderInterval },
16232         {  0, NULL, 0, NULL }
16233 };
16234 static int
16235 dissect_h245_MultilinkRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16236 {
16237         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest, ett_h245_MultilinkRequest, MultilinkRequest_choice, "MultilinkRequest", NULL);
16238
16239         return offset;
16240 }
16241
16242
16243
16244
16245
16246 static int
16247 dissect_h245_networkType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16248 {
16249         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_networkType, ett_h245_networkType, dissect_h245_DialingInformationNetworkType, 1, 255);
16250         return offset;
16251 }
16252
16253
16254
16255
16256
16257 static int
16258 dissect_h245_capabilityTableEntryNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16259 {
16260         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityTableEntryNumbers, ett_h245_capabilityTableEntryNumbers, dissect_h245_CapabilityTableEntryNumber, 1, 65535);
16261         return offset;
16262 }
16263
16264
16265
16266
16267 static int
16268 dissect_h245_capabilityDescriptorNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16269 {
16270         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityDescriptorNumbers, ett_h245_capabilityDescriptorNumbers, dissect_h245_CapabilityDescriptorNumber, 1, 256);
16271         return offset;
16272 }
16273
16274
16275
16276
16277 static per_sequence_t SendTerminalCapabilitySet_specificRequest_sequence[] = {
16278         { "multiplexCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16279                 dissect_h245_multiplexCapability_bool },
16280         { "capabilityTableEntryNumbers", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16281                 dissect_h245_capabilityTableEntryNumbers },
16282         { "capabilityDescriptorNumbers", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16283                 dissect_h245_capabilityDescriptorNumbers },
16284         { NULL, 0, 0, NULL }
16285 };
16286 static int
16287 dissect_h245_SendTerminalCapabilitySet_specificRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16288 {
16289         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_SendTerminalCapabilitySet_specificRequest, ett_h245_SendTerminalCapabilitySet_specificRequest, SendTerminalCapabilitySet_specificRequest_sequence);
16290
16291         return offset;
16292 }
16293
16294
16295
16296
16297
16298 static const value_string SendTerminalCapabilitySet_vals[] = {
16299         {  0, "specificRequest" },
16300         {  1, "genericRequest" },
16301         {  0, NULL }
16302 };
16303 static per_choice_t SendTerminalCapabilitySet_choice[] = {
16304         {  0, "specificRequest", ASN1_EXTENSION_ROOT,
16305                 dissect_h245_SendTerminalCapabilitySet_specificRequest },
16306         {  1, "genericRequest", ASN1_EXTENSION_ROOT,
16307                 dissect_h245_NULL },
16308         {  0, NULL, 0, NULL }
16309 };
16310 static int
16311 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16312 {
16313         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_SendTerminalCapabilitySet, ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice, "SendTerminalCapabilitySet", NULL);
16314
16315         return offset;
16316 }
16317
16318
16319
16320
16321
16322
16323 static int
16324 dissect_h245_audioTelephoneEvent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16325 {
16326         offset=dissect_per_GeneralString(tvb, offset, pinfo, tree, hf_h245_audioTelephoneEvent);
16327         return offset;
16328 }
16329
16330
16331
16332
16333
16334 static per_sequence_t AudioTelephonyEventCapability_sequence[] = {
16335         { "dynamicRTPPayloadType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16336                 dissect_h245_dynamicRTPPayloadType },
16337         { "audioTelephoneEvent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16338                 dissect_h245_audioTelephoneEvent },
16339         { NULL, 0, 0, NULL }
16340 };
16341 static int
16342 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16343 {
16344         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioTelephonyEventCapability, ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
16345
16346         return offset;
16347 }
16348
16349
16350
16351
16352
16353
16354 static per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
16355         { "audioTelephoneEvent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16356                 dissect_h245_audioTelephoneEvent },
16357         { NULL, 0, 0, NULL }
16358 };
16359 static int
16360 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16361 {
16362         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NoPTAudioTelephonyEventCapability, ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
16363
16364         return offset;
16365 }
16366
16367
16368
16369
16370 static const value_string AudioCapability_vals[] = {
16371         {  0, "nonStandard" },
16372         {  1, "g711Alaw64k" },
16373         {  2, "g711Alaw56k" },
16374         {  3, "g711Ulaw64k" },
16375         {  4, "g711Ulaw56k" },
16376         {  5, "g722-64k" },
16377         {  6, "g722-56k" },
16378         {  7, "g722-48k" },
16379         {  8, "g7231" },
16380         {  9, "g728" },
16381         { 10, "g729" },
16382         { 11, "g729AnnexA" },
16383         { 12, "is11172AudioCapability" },
16384         { 13, "is13818AudioCapability" },
16385         { 14, "g729wAnnexB" },
16386         { 15, "g729AnnexAwAnnexB" },
16387         { 16, "g7231AnnexCCapability" },
16388         { 17, "gsmFullRate" },
16389         { 18, "gsmHalfRate" },
16390         { 19, "gsmEnhancedFullRate" },
16391         { 20, "genericAudioCapability" },
16392         { 21, "g729Extensions" },
16393         { 22, "vbd" },
16394         { 23, "audioTelephonyEvent" },
16395         { 24, "audioTone" },
16396         {  0, NULL }
16397 };
16398 static per_choice_t AudioCapability_choice[] = {
16399         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16400                 dissect_h245_NonStandardParameter },
16401         {  1, "g711Alaw64k", ASN1_EXTENSION_ROOT,
16402                 dissect_h245_g711Alaw64k },
16403         {  2, "g711Alaw56k", ASN1_EXTENSION_ROOT,
16404                 dissect_h245_g711Alaw56k },
16405         {  3, "g711Ulaw64k", ASN1_EXTENSION_ROOT,
16406                 dissect_h245_g711Ulaw64k },
16407         {  4, "g711Ulaw56k", ASN1_EXTENSION_ROOT,
16408                 dissect_h245_g711Ulaw56k },
16409         {  5, "g722-64k", ASN1_EXTENSION_ROOT,
16410                 dissect_h245_g722_64k },
16411         {  6, "g722-56k", ASN1_EXTENSION_ROOT,
16412                 dissect_h245_g722_56k },
16413         {  7, "g722-48k", ASN1_EXTENSION_ROOT,
16414                 dissect_h245_g722_48k },
16415         {  8, "g7231", ASN1_EXTENSION_ROOT,
16416                 dissect_h245_AudioCapability_g7231 },
16417         {  9, "g728", ASN1_EXTENSION_ROOT,
16418                 dissect_h245_g728 },
16419         { 10, "g729", ASN1_EXTENSION_ROOT,
16420                 dissect_h245_g729 },
16421         { 11, "g729AnnexA", ASN1_EXTENSION_ROOT,
16422                 dissect_h245_g729AnnexA },
16423         { 12, "is11172AudioCapability", ASN1_EXTENSION_ROOT,
16424                 dissect_h245_IS11172AudioCapability },
16425         { 13, "is13818AudioCapability", ASN1_EXTENSION_ROOT,
16426                 dissect_h245_IS13818AudioCapability },
16427         { 14, "g729wAnnexB", ASN1_NOT_EXTENSION_ROOT,
16428                 dissect_h245_g729wAnnexB },
16429         { 15, "g729AnnexAwAnnexB", ASN1_NOT_EXTENSION_ROOT,
16430                 dissect_h245_g729AnnexAwAnnexB },
16431         { 16, "g7231AnnexCCapability", ASN1_NOT_EXTENSION_ROOT,
16432                 dissect_h245_G7231AnnexCCapability },
16433         { 17, "gsmFullRate", ASN1_NOT_EXTENSION_ROOT,
16434                 dissect_h245_GSMAudioCapability },
16435         { 18, "gsmHalfRate", ASN1_NOT_EXTENSION_ROOT,
16436                 dissect_h245_GSMAudioCapability },
16437         { 19, "gsmEnhancedFullRate", ASN1_NOT_EXTENSION_ROOT,
16438                 dissect_h245_GSMAudioCapability },
16439         { 20, "genericAudioCapability", ASN1_NOT_EXTENSION_ROOT,
16440                 dissect_h245_GenericCapability },
16441         { 21, "g729Extensions", ASN1_NOT_EXTENSION_ROOT,
16442                 dissect_h245_G729Extensions },
16443         { 22, "vbd", ASN1_NOT_EXTENSION_ROOT,
16444                 dissect_h245_VBDCapability },
16445         { 23, "audioTelephonyEvent", ASN1_NOT_EXTENSION_ROOT,
16446                 dissect_h245_NoPTAudioTelephonyEventCapability },
16447         { 24, "audioTone", ASN1_NOT_EXTENSION_ROOT,
16448                 dissect_h245_NoPTAudioToneCapability },
16449         {  0, NULL, 0, NULL }
16450 };
16451 static int
16452 dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16453 {
16454         guint32 value;
16455
16456         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioCapability, ett_h245_AudioCapability, AudioCapability_choice, "AudioCapability", &value);
16457
16458         codec_type = val_to_str(value, AudioCapability_vals, "<unknown>");
16459
16460         return offset;
16461 }
16462
16463
16464
16465
16466
16467 static const value_string H235Media_mediaType_vals[] = {
16468         {  0, "nonStandard" },
16469         {  1, "videoData" },
16470         {  2, "audioData" },
16471         {  3, "data" },
16472         {  0, NULL }
16473 };
16474 static per_choice_t H235Media_mediaType_choice[] = {
16475         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16476                 dissect_h245_NonStandardParameter },
16477         {  1, "videoData", ASN1_EXTENSION_ROOT,
16478                 dissect_h245_VideoCapability },
16479         {  2, "audioData", ASN1_EXTENSION_ROOT,
16480                 dissect_h245_AudioCapability },
16481         {  3, "data", ASN1_EXTENSION_ROOT,
16482                 dissect_h245_DataApplicationCapability },
16483         {  0, NULL, 0, NULL }
16484 };
16485 static int
16486 dissect_h245_H235Media_mediaType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16487 {
16488         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H235Media_mediaType, ett_h245_H235Media_mediaType, H235Media_mediaType_choice, "mediaType", NULL);
16489
16490         return offset;
16491 }
16492
16493
16494
16495
16496
16497
16498 static const value_string CommunicationModeTableEntry_dataType_vals[] = {
16499         {  0, "videoData" },
16500         {  1, "audioData" },
16501         {  2, "data" },
16502         {  0, NULL }
16503 };
16504 static per_choice_t CommunicationModeTableEntry_dataType_choice[] = {
16505         {  0, "videoData", ASN1_EXTENSION_ROOT,
16506                 dissect_h245_VideoCapability },
16507         {  1, "audioData", ASN1_EXTENSION_ROOT,
16508                 dissect_h245_AudioCapability },
16509         {  2, "data", ASN1_EXTENSION_ROOT,
16510                 dissect_h245_DataApplicationCapability },
16511         {  0, NULL, 0, NULL }
16512 };
16513 static int
16514 dissect_h245_CommunicationModeTableEntry_dataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16515 {
16516         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommunicationModeTableEntry_dataType, ett_h245_CommunicationModeTableEntry_dataType, CommunicationModeTableEntry_dataType_choice, "dataType", NULL);
16517
16518         return offset;
16519 }
16520
16521
16522
16523
16524
16525 static per_sequence_t H235Media_sequence[] = {
16526         { "encryptionAuthenticationAndIntegrity", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16527                 dissect_h245_EncryptionAuthenticationAndIntegrity },
16528         { "mediaType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16529                 dissect_h245_H235Media_mediaType },
16530         { NULL, 0, 0, NULL }
16531 };
16532 static int
16533 dissect_h245_H235Media(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16534 {
16535         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235Media, ett_h245_H235Media, H235Media_sequence);
16536
16537         return offset;
16538 }
16539
16540
16541
16542
16543
16544 static int
16545 dissect_h245_alphanumeric(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16546 {
16547         offset=dissect_per_GeneralString(tvb, offset, pinfo, tree, hf_h245_alphanumeric);
16548         return offset;
16549 }
16550
16551
16552
16553
16554
16555
16556 static const value_string UserInputIndication_userInputSupportIndication_vals[] = {
16557         {  0, "nonStandard" },
16558         {  1, "basicString" },
16559         {  2, "iA5String" },
16560         {  3, "generalString" },
16561         {  0, NULL }
16562 };
16563 static per_choice_t UserInputIndication_userInputSupportIndication_choice[] = {
16564         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16565                 dissect_h245_NonStandardParameter },
16566         {  1, "basicString", ASN1_EXTENSION_ROOT,
16567                 dissect_h245_NULL },
16568         {  2, "iA5String", ASN1_EXTENSION_ROOT,
16569                 dissect_h245_NULL },
16570         {  3, "generalString", ASN1_EXTENSION_ROOT,
16571                 dissect_h245_NULL },
16572         {  0, NULL, 0, NULL }
16573 };
16574 static int
16575 dissect_h245_UserInputIndication_userInputSupportIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16576 {
16577         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_userInputSupportIndication, ett_h245_UserInputIndication_userInputSupportIndication, UserInputIndication_userInputSupportIndication_choice, "userInputSupportIndication", NULL);
16578
16579         return offset;
16580 }
16581
16582
16583
16584
16585 static per_sequence_t UserInputIndication_extendedAlphanumeric_sequence[] = {
16586         { "alphanumeric", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16587                 dissect_h245_alphanumeric },
16588         { "rtpPayloadIndication", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16589                 dissect_h245_NULL },
16590         { NULL, 0, 0, NULL }
16591 };
16592 static int
16593 dissect_h245_UserInputIndication_extendedAlphanumeric(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16594 {
16595         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_extendedAlphanumeric, ett_h245_UserInputIndication_extendedAlphanumeric, UserInputIndication_extendedAlphanumeric_sequence);
16596
16597         return offset;
16598 }
16599
16600
16601 static int
16602 dissect_h245_rfcnumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16603 {
16604         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
16605                 tree, hf_h245_rfc_number, 1, 32768,
16606                 NULL, NULL, TRUE);
16607         return offset;
16608 }
16609
16610
16611
16612
16613 static const value_string RTPPayloadType_payloadDescriptor_vals[] = {
16614         {  0, "nonStandardIdentifier" },
16615         {  1, "rfc-number" },
16616         {  2, "oid" },
16617         {  0, NULL }
16618 };
16619 static per_choice_t RTPPayloadType_payloadDescriptor_choice[] = {
16620         {  0, "nonStandardIdentifier", ASN1_EXTENSION_ROOT,
16621                 dissect_h245_NonStandardParameter },
16622         {  1, "rfc-number", ASN1_EXTENSION_ROOT,
16623                 dissect_h245_rfcnumber },
16624         {  2, "oid", ASN1_EXTENSION_ROOT,
16625                 dissect_h245_oid },
16626         {  0, NULL, 0, NULL }
16627 };
16628 static int
16629 dissect_h245_RTPPayloadType_payloadDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16630 {
16631         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RTPPayloadType_payloadDescriptor, ett_h245_RTPPayloadType_payloadDescriptor, RTPPayloadType_payloadDescriptor_choice, "payloadDescriptor", NULL);
16632
16633         return offset;
16634 }
16635
16636
16637
16638
16639
16640 static per_sequence_t RTPPayloadType_sequence[] = {
16641         { "payloadDescriptor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16642                 dissect_h245_RTPPayloadType_payloadDescriptor },
16643         { "payloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16644                 dissect_h245_payloadType },
16645         { NULL, 0, 0, NULL }
16646 };
16647 static int
16648 dissect_h245_RTPPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16649 {
16650         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPPayloadType, ett_h245_RTPPayloadType, RTPPayloadType_sequence);
16651
16652         return offset;
16653 }
16654
16655
16656
16657
16658
16659
16660 static const value_string H2250LogicalChannelParameters_mediaPacketization_vals[] = {
16661         {  0, "h261aVideoPacketization" },
16662         {  1, "rtpPayloadType" },
16663         {  0, NULL }
16664 };
16665 static per_choice_t H2250LogicalChannelParameters_mediaPacketization_choice[] = {
16666         {  0, "h261aVideoPacketization", ASN1_EXTENSION_ROOT,
16667                 dissect_h245_NULL },
16668         {  1, "rtpPayloadType", ASN1_NOT_EXTENSION_ROOT,
16669                 dissect_h245_RTPPayloadType },
16670         {  0, NULL, 0, NULL }
16671 };
16672 static int
16673 dissect_h245_H2250LogicalChannelParameters_mediaPacketization(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16674 {
16675         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelParameters_mediaPacketization, ett_h245_H2250LogicalChannelParameters_mediaPacketization, H2250LogicalChannelParameters_mediaPacketization_choice, "mediaPacketization", NULL);
16676
16677         return offset;
16678 }
16679
16680
16681
16682
16683
16684 static int dissect_h245_mediaDistributionCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16685 static per_sequence_t MultipointCapability_sequence[] = {
16686         { "multicastCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16687                 dissect_h245_multicastCapability },
16688         { "multiUniCastConference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16689                 dissect_h245_multiUniCastConference },
16690         { "mediaDistributionCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16691                 dissect_h245_mediaDistributionCapability_sequence_of },
16692         { NULL, 0, 0, NULL }
16693 };
16694 static int
16695 dissect_h245_receiveMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16696 {
16697         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_receiveMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16698
16699         return offset;
16700 }
16701 static int
16702 dissect_h245_transmitMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16703 {
16704         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_transmitMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16705
16706         return offset;
16707 }
16708 static int
16709 dissect_h245_receiveAndTransmitMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16710 {
16711         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_receiveAndTransmitMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16712
16713         return offset;
16714 }
16715
16716
16717
16718
16719 static per_sequence_t H2250Capability_sequence[] = {
16720         { "maximumAudioDelayJitter", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16721                 dissect_h245_maximumAudioDelayJitter },
16722         { "receiveMultipointCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16723                 dissect_h245_receiveMultipointCapability },
16724         { "transmitMultipointCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16725                 dissect_h245_transmitMultipointCapability },
16726         { "receiveAndTransmitMultipointCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16727                 dissect_h245_receiveAndTransmitMultipointCapability },
16728         { "mcCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16729                 dissect_h245_H2250Capability_mcCapability },
16730         { "rtcpVideoControlCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16731                 dissect_h245_rtcpVideoControlCapability },
16732         { "mediaPacketizationCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16733                 dissect_h245_MediaPacketizationCapability },
16734         { "transportCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16735                 dissect_h245_TransportCapability },
16736         { "redundancyEncodingCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16737                 dissect_h245_RedundancyEncodingCapability_sequence_of },
16738         { "logicalChannelSwitchingCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16739                 dissect_h245_logicalChannelSwitchingCapability },
16740         { "t120DynamicPortCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16741                 dissect_h245_t120DynamicPortCapability },
16742         { NULL, 0, 0, NULL }
16743 };
16744 static int
16745 dissect_h245_H2250Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16746 {
16747         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250Capability, ett_h245_H2250Capability, H2250Capability_sequence);
16748
16749         return offset;
16750 }
16751
16752
16753
16754
16755
16756
16757 static int dissect_h245_DataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16758 static per_sequence_t RedundancyEncodingElement_sequence[] = {
16759         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16760                 dissect_h245_DataType },
16761         { "payloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16762                 dissect_h245_payloadType },
16763         { NULL, 0, 0, NULL }
16764 };
16765 static int
16766 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16767 {
16768         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingElement, ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
16769
16770         return offset;
16771 }
16772
16773
16774
16775
16776
16777 static per_sequence_t RedundancyEncoding_rtpRedundancyEncoding_sequence[] = {
16778         { "primary", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16779                 dissect_h245_RedundancyEncodingElement },
16780         { "secondary", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16781                 dissect_h245_secondary_REE_sequence_of },
16782         { NULL, 0, 0, NULL }
16783 };
16784 static int
16785 dissect_h245_RedundancyEncoding_rtpRedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16786 {
16787         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncoding_rtpRedundancyEncoding, ett_h245_RedundancyEncoding_rtpRedundancyEncoding, RedundancyEncoding_rtpRedundancyEncoding_sequence);
16788
16789         return offset;
16790 }
16791
16792
16793
16794
16795
16796 static per_sequence_t RedundancyEncoding_sequence[] = {
16797         { "redundancyEncodingMethod", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16798                 dissect_h245_RedundancyEncodingMethod },
16799         { "secondaryEncoding", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16800                 dissect_h245_DataType },
16801         { "rtpRedundancyEncoding", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16802                 dissect_h245_RedundancyEncoding_rtpRedundancyEncoding },
16803         { NULL, 0, 0, NULL }
16804 };
16805 static int
16806 dissect_h245_RedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16807 {
16808         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncoding, ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
16809
16810         return offset;
16811 }
16812
16813
16814
16815
16816 static per_sequence_t H2250LogicalChannelParameters_sequence[] = {
16817         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16818                 dissect_h245_nonStandardData_sequence_of },
16819         { "sessionID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16820                 dissect_h245_sessionID_0_255 },
16821         { "associatedSessionID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16822                 dissect_h245_associatedSessionID },
16823         { "mediaChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16824                 dissect_h245_mediaChannel },
16825         { "mediaGuaranteedDelivery", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16826                 dissect_h245_mediaGuaranteedDelivery },
16827         { "mediaControlChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16828                 dissect_h245_mediaControlChannel },
16829         { "mediaControlGuaranteedDelivery", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16830                 dissect_h245_mediaControlGuaranteedDelivery },
16831         { "silenceSuppression", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16832                 dissect_h245_silenceSuppression },
16833         { "destination", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16834                 dissect_h245_TerminalLabel },
16835         { "dynamicRTPPayloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16836                 dissect_h245_dynamicRTPPayloadType },
16837         { "mediaPacketization", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16838                 dissect_h245_H2250LogicalChannelParameters_mediaPacketization },
16839         { "transportCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16840                 dissect_h245_TransportCapability },
16841         { "redundancyEncoding", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16842                 dissect_h245_RedundancyEncoding },
16843         { "source", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16844                 dissect_h245_TerminalLabel },
16845         { NULL, 0, 0, NULL }
16846 };
16847 static int
16848 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16849 {
16850         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelParameters, ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
16851
16852         return offset;
16853 }
16854
16855
16856
16857
16858 static const value_string forwardLogicalChannelParameters_multiplexParameters_vals[] = {
16859         {  0, "h222LogicalChannelParameters" },
16860         {  1, "h223LogicalChannelParameters" },
16861         {  2, "v76LogicalChannelParameters" },
16862         {  3, "h2250LogicalChannelParameters" },
16863         {  4, "none" },
16864         {  0, NULL }
16865 };
16866 static per_choice_t forwardLogicalChannelParameters_multiplexParameters_choice[] = {
16867         {  0, "h222LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16868                 dissect_h245_H222LogicalChannelParameters },
16869         {  1, "h223LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16870                 dissect_h245_H223LogicalChannelParameters },
16871         {  2, "v76LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16872                 dissect_h245_V76LogicalChannelParameters },
16873         {  3, "h2250LogicalChannelParameters", ASN1_NOT_EXTENSION_ROOT,
16874                 dissect_h245_H2250LogicalChannelParameters },
16875         {  4, "none", ASN1_NOT_EXTENSION_ROOT,
16876                 dissect_h245_NULL },
16877         {  0, NULL, 0, NULL }
16878 };
16879 static int
16880 dissect_h245_forwardLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16881 {
16882         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_forwardLogicalChannelParameters_multiplexParameters, ett_h245_forwardLogicalChannelParameters_multiplexParameters, forwardLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16883
16884         return offset;
16885 }
16886
16887
16888
16889
16890
16891 static per_sequence_t MultiplePayloadStreamElement_sequence[] = {
16892         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16893                 dissect_h245_DataType },
16894         { "payloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16895                 dissect_h245_payloadType },
16896         { NULL, 0, 0, NULL }
16897 };
16898 static int
16899 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16900 {
16901         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamElement, ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
16902
16903         return offset;
16904 }
16905
16906
16907
16908 static const value_string reverseLogicalChannelParameters_multiplexParameters_vals[] = {
16909         {  0, "h223LogicalChannelParameters" },
16910         {  1, "v76LogicalChannelParameters" },
16911         {  2, "h2250LogicalChannelParameters" },
16912         {  0, NULL }
16913 };
16914 static per_choice_t reverseLogicalChannelParameters_multiplexParameters_choice[] = {
16915         {  0, "h223LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16916                 dissect_h245_H223LogicalChannelParameters },
16917         {  1, "v76LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16918                 dissect_h245_V76LogicalChannelParameters },
16919         {  2, "h2250LogicalChannelParameters", ASN1_NOT_EXTENSION_ROOT,
16920                 dissect_h245_H2250LogicalChannelParameters },
16921         {  0, NULL, 0, NULL }
16922 };
16923 static int
16924 dissect_h245_reverseLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16925 {
16926         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_reverseLogicalChannelParameters_multiplexParameters, ett_h245_reverseLogicalChannelParameters_multiplexParameters, reverseLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16927
16928         return offset;
16929 }
16930
16931
16932
16933
16934 static const value_string OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_vals[] = {
16935         {  0, "h222LogicalChannelParameters" },
16936         {  1, "h2250LogicalChannelParameters" },
16937         {  0, NULL }
16938 };
16939 static per_choice_t OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_choice[] = {
16940         {  0, "h222LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16941                 dissect_h245_H222LogicalChannelParameters },
16942         {  1, "h2250LogicalChannelParameters", ASN1_NOT_EXTENSION_ROOT,
16943                 dissect_h245_H2250LogicalChannelParameters },
16944         {  0, NULL, 0, NULL }
16945 };
16946 static int
16947 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16948 {
16949         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16950
16951         return offset;
16952 }
16953
16954
16955
16956
16957
16958 static per_sequence_t forwardLogicalChannelParameters_sequence[] = {
16959         { "portNumber", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16960                 dissect_h245_portNumber },
16961         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16962                 dissect_h245_DataType },
16963         { "multiplexParameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16964                 dissect_h245_forwardLogicalChannelParameters_multiplexParameters },
16965         { "forwardLogicalChannelDependency", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16966                 dissect_h245_LogicalChannelNumber },
16967         { "replacementFor", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16968                 dissect_h245_LogicalChannelNumber },
16969         { NULL, 0, 0, NULL }
16970 };
16971 static int
16972 dissect_h245_forwardLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16973 {
16974         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_forwardLogicalChannelParameters, ett_h245_forwardLogicalChannelParameters, forwardLogicalChannelParameters_sequence);
16975
16976         return offset;
16977 }
16978
16979
16980
16981
16982 static per_sequence_t reverseLogicalChannelParameters_sequence[] = {
16983         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16984                 dissect_h245_DataType },
16985         { "multiplexParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16986                 dissect_h245_reverseLogicalChannelParameters_multiplexParameters },
16987         { "reverseLogicalChannelDependency", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16988                 dissect_h245_LogicalChannelNumber },
16989         { "replacementFor", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16990                 dissect_h245_LogicalChannelNumber },
16991         { NULL, 0, 0, NULL }
16992 };
16993 static int
16994 dissect_h245_reverseLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16995 {
16996         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_reverseLogicalChannelParameters, ett_h245_reverseLogicalChannelParameters, reverseLogicalChannelParameters_sequence);
16997
16998         return offset;
16999 }
17000
17001
17002
17003
17004
17005 static per_sequence_t OpenLogicalChannelAck_reverseLogicalChannelParameters_sequence[] = {
17006         { "reverseLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17007                 dissect_h245_LogicalChannelNumber },
17008         { "portNumber", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17009                 dissect_h245_portNumber },
17010         { "multiplexParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17011                 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters },
17012         { "replacementFor", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
17013                 dissect_h245_LogicalChannelNumber },
17014         { NULL, 0, 0, NULL }
17015 };
17016 static int
17017 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17018 {
17019         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters, ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters, OpenLogicalChannelAck_reverseLogicalChannelParameters_sequence);
17020
17021         return offset;
17022 }
17023
17024
17025
17026
17027 static int
17028 dissect_h245_VCCapability_set_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17029 {
17030         offset=dissect_per_set_of(tvb, offset, pinfo, tree, hf_h245_VCCapability_set_of, ett_h245_VCCapability_set_of, dissect_h245_VCCapability);
17031         return offset;
17032 }
17033
17034
17035
17036
17037 static per_sequence_t H222Capability_sequence[] = {
17038         { "numberOfVCs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17039                 dissect_h245_numberOfVCs },
17040         { "vcCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17041                 dissect_h245_VCCapability_set_of },
17042         { NULL, 0, 0, NULL }
17043 };
17044 static int
17045 dissect_h245_H222Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17046 {
17047         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H222Capability, ett_h245_H222Capability, H222Capability_sequence);
17048
17049         return offset;
17050 }
17051
17052
17053
17054
17055 static const value_string MultiplexFormat_vals[] = {
17056         {  0, "nonStandard" },
17057         {  1, "h222Capability" },
17058         {  2, "h223Capability" },
17059         {  0, NULL }
17060 };
17061 static per_choice_t MultiplexFormat_choice[] = {
17062         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17063                 dissect_h245_NonStandardParameter },
17064         {  1, "h222Capability", ASN1_EXTENSION_ROOT,
17065                 dissect_h245_H222Capability },
17066         {  2, "h223Capability", ASN1_EXTENSION_ROOT,
17067                 dissect_h245_H223Capability },
17068         {  0, NULL, 0, NULL }
17069 };
17070 static int
17071 dissect_h245_MultiplexFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17072 {
17073         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexFormat, ett_h245_MultiplexFormat, MultiplexFormat_choice, "MultiplexFormat", NULL);
17074
17075         return offset;
17076 }
17077
17078
17079
17080
17081 static per_sequence_t MultiplexedStreamCapability_sequence[] = {
17082         { "multiplexFormat", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17083                 dissect_h245_MultiplexFormat },
17084         { "controlOnMuxStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17085                 dissect_h245_controlOnMuxStream },
17086         { "capabilityOnMuxStream", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17087                 dissect_h245_capabilityOnMuxStream },
17088         { NULL, 0, 0, NULL }
17089 };
17090 static int
17091 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17092 {
17093         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamCapability, ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
17094
17095         return offset;
17096 }
17097
17098
17099
17100
17101
17102 static const value_string Capability_vals[] = {
17103         {  0, "nonStandard" },
17104         {  1, "receiveVideoCapability" },
17105         {  2, "transmitVideoCapability" },
17106         {  3, "receiveAndTransmitVideoCapability" },
17107         {  4, "receiveAudioCapability" },
17108         {  5, "transmitAudioCapability" },
17109         {  6, "receiveAndTransmitAudioCapability" },
17110         {  7, "receiveDataApplicationCapability" },
17111         {  8, "transmitDataApplicationCapability" },
17112         {  9, "receiveAndTransmitDataApplicationCapability" },
17113         { 10, "h233EncryptionTransmitCapability" },
17114         { 11, "h233EncryptionReceiveCapability" },
17115         { 12, "conferenceCapability" },
17116         { 13, "h235SecurityCapability" },
17117         { 14, "maxPendingReplacementFor" },
17118         { 15, "receiveUserInputCapability" },
17119         { 16, "transmitUserInputCapability" },
17120         { 17, "receiveAndTransmitUserInputCapability" },
17121         { 18, "genericControlCapability" },
17122         { 19, "receiveMultiplexedStreamCapability" },
17123         { 20, "transmitMultiplexedStreamCapability" },
17124         { 21, "receiveAndTransmitMultiplexedStreamCapability" },
17125         { 22, "receiveRTPAudioTelephonyEventCapability" },
17126         { 23, "receiveRTPAudioToneCapability" },
17127         { 24, "fecCapability" },
17128         { 25, "multiplePayloadStreamCapability" },
17129         {  0, NULL }
17130 };
17131 static per_choice_t Capability_choice[] = {
17132         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17133                 dissect_h245_NonStandardParameter },
17134         {  1, "receiveVideoCapability", ASN1_EXTENSION_ROOT,
17135                 dissect_h245_VideoCapability },
17136         {  2, "transmitVideoCapability", ASN1_EXTENSION_ROOT,
17137                 dissect_h245_VideoCapability },
17138         {  3, "receiveAndTransmitVideoCapability", ASN1_EXTENSION_ROOT,
17139                 dissect_h245_VideoCapability },
17140         {  4, "receiveAudioCapability", ASN1_EXTENSION_ROOT,
17141                 dissect_h245_AudioCapability },
17142         {  5, "transmitAudioCapability", ASN1_EXTENSION_ROOT,
17143                 dissect_h245_AudioCapability },
17144         {  6, "receiveAndTransmitAudioCapability", ASN1_EXTENSION_ROOT,
17145                 dissect_h245_AudioCapability },
17146         {  7, "receiveDataApplicationCapability", ASN1_EXTENSION_ROOT,
17147                 dissect_h245_DataApplicationCapability },
17148         {  8, "transmitDataApplicationCapability", ASN1_EXTENSION_ROOT,
17149                 dissect_h245_DataApplicationCapability },
17150         {  9, "receiveAndTransmitDataApplicationCapability", ASN1_EXTENSION_ROOT,
17151                 dissect_h245_DataApplicationCapability },
17152         { 10, "h233EncryptionTransmitCapability", ASN1_EXTENSION_ROOT,
17153                 dissect_h245_h233EncryptionTransmitCapability },
17154         { 11, "h233EncryptionReceiveCapability", ASN1_EXTENSION_ROOT,
17155                 dissect_h245_Capability_h233EncryptionReceiveCapability },
17156         { 12, "conferenceCapability", ASN1_NOT_EXTENSION_ROOT,
17157                 dissect_h245_ConferenceCapability },
17158         { 13, "h235SecurityCapability" , ASN1_NOT_EXTENSION_ROOT,
17159                 dissect_h245_H235SecurityCapability },
17160         { 14, "maxPendingReplacementFor", ASN1_NOT_EXTENSION_ROOT,
17161                 dissect_h245_maxPendingReplacementFor },
17162         { 15, "receiveUserInputCapability", ASN1_NOT_EXTENSION_ROOT,
17163                 dissect_h245_UserInputCapability },
17164         { 16, "transmitUserInputCapability", ASN1_NOT_EXTENSION_ROOT,
17165                 dissect_h245_UserInputCapability },
17166         { 17, "receiveAndTransmitUserInputCapability", ASN1_NOT_EXTENSION_ROOT,
17167                 dissect_h245_UserInputCapability },
17168         { 18, "genericControlCapability", ASN1_NOT_EXTENSION_ROOT,
17169                 dissect_h245_GenericCapability },
17170         { 19, "receiveMultiplexedStreamCapability", ASN1_NOT_EXTENSION_ROOT,
17171                 dissect_h245_MultiplexedStreamCapability },
17172         { 20, "transmitMultiplexedStreamCapability", ASN1_NOT_EXTENSION_ROOT,
17173                 dissect_h245_MultiplexedStreamCapability },
17174         { 21, "receiveAndTransmitMultiplexedStreamCapability", ASN1_NOT_EXTENSION_ROOT,
17175                 dissect_h245_MultiplexedStreamCapability },
17176         { 22, "receiveRTPAudioTelephonyEventCapability", ASN1_NOT_EXTENSION_ROOT,
17177                 dissect_h245_AudioTelephonyEventCapability },
17178         { 23, "receiveRTPAudioToneCapability", ASN1_NOT_EXTENSION_ROOT,
17179                 dissect_h245_AudioToneCapability },
17180         { 24, "fecCapability", ASN1_NOT_EXTENSION_ROOT,
17181                 dissect_h245_FECCapability },
17182         { 25, "multiplePayloadStreamCapability", ASN1_NOT_EXTENSION_ROOT,
17183                 dissect_h245_MultiplePayloadStreamCapability },
17184         {  0, NULL, 0, NULL }
17185 };
17186 static int
17187 dissect_h245_Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17188 {
17189         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_Capability, ett_h245_Capability, Capability_choice, "Capability", NULL);
17190
17191         return offset;
17192 }
17193
17194
17195
17196 static per_sequence_t CapabilityTableEntry_sequence[] = {
17197         { "capabilityTableEntryNumber", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
17198                 dissect_h245_CapabilityTableEntryNumber },
17199         { "capability", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
17200                 dissect_h245_Capability },
17201         { NULL, 0, 0, NULL }
17202 };
17203 static int
17204 dissect_h245_CapabilityTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17205 {
17206         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CapabilityTableEntry, ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
17207
17208         return offset;
17209 }
17210
17211
17212
17213
17214 static per_sequence_t MultiplexedStreamParameter_sequence[] = {
17215         { "multiplexFormat", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17216                 dissect_h245_MultiplexFormat },
17217         { "controlOnMuxStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17218                 dissect_h245_controlOnMuxStream },
17219         { NULL, 0, 0, NULL }
17220 };
17221 static int
17222 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17223 {
17224         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamParameter, ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
17225
17226         return offset;
17227 }
17228
17229
17230
17231
17232
17233 static const value_string DataType_vals[] = {
17234         {  0, "nonStandard" },
17235         {  1, "nullData" },
17236         {  2, "videoData" },
17237         {  3, "audioData" },
17238         {  4, "data" },
17239         {  5, "encryptionData" },
17240         {  6, "h235Control" },
17241         {  7, "h235Media" },
17242         {  8, "multiplexedStream" },
17243         {  9, "redundancyEncoding" },
17244         { 10, "multiplePayloadStream" },
17245         { 11, "fec" },
17246         {  0, NULL }
17247 };
17248 static per_choice_t DataType_choice[] = {
17249         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17250                 dissect_h245_NonStandardParameter },
17251         {  1, "nullData", ASN1_EXTENSION_ROOT,
17252                 dissect_h245_NULL },
17253         {  2, "videoData", ASN1_EXTENSION_ROOT,
17254                 dissect_h245_VideoCapability },
17255         {  3, "audioData", ASN1_EXTENSION_ROOT,
17256                 dissect_h245_AudioCapability },
17257         {  4, "data", ASN1_EXTENSION_ROOT,
17258                 dissect_h245_DataApplicationCapability },
17259         {  5, "encryptionData", ASN1_EXTENSION_ROOT,
17260                 dissect_h245_EncryptionMode },
17261         {  6, "h235Control", ASN1_NOT_EXTENSION_ROOT,
17262                 dissect_h245_NonStandardParameter },
17263         {  7, "h235Media", ASN1_NOT_EXTENSION_ROOT,
17264                 dissect_h245_H235Media },
17265         {  8, "multiplexedStream", ASN1_NOT_EXTENSION_ROOT,
17266                 dissect_h245_MultiplexedStreamParameter },
17267         {  9, "redundancyEncoding", ASN1_NOT_EXTENSION_ROOT,
17268                 dissect_h245_RedundancyEncoding },
17269         { 10, "multiplePayloadStream", ASN1_NOT_EXTENSION_ROOT,
17270                 dissect_h245_MultiplePayloadStream },
17271         { 11, "fec", ASN1_NOT_EXTENSION_ROOT,
17272                 dissect_h245_FECData },
17273         {  0, NULL, 0, NULL }
17274 };
17275 static int
17276 dissect_h245_DataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17277 {
17278         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataType, ett_h245_DataType, DataType_choice, "DataType", NULL);
17279
17280         return offset;
17281 }
17282
17283
17284
17285
17286 static int dissect_h245_VBDMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17287 static const value_string AudioMode_vals[] = {
17288         {  0, "nonStandard" },
17289         {  1, "g711Alaw64k" },
17290         {  2, "g711Alaw56k" },
17291         {  3, "g711Ulaw64k" },
17292         {  4, "g711Ulaw56k" },
17293         {  5, "g722-64k" },
17294         {  6, "g722-56k" },
17295         {  7, "g722-48k" },
17296         {  8, "g728" },
17297         {  9, "g729" },
17298         { 10, "g729AnnexA" },
17299         { 11, "g7231" },
17300         { 12, "is11172AudioMode" },
17301         { 13, "is13818AudioMode" },
17302         { 14, "g729wAnnexB" },
17303         { 15, "g729AnnexAwAnnexB" },
17304         { 16, "g7231AnnexCMode" },
17305         { 17, "gsmFullRate" },
17306         { 18, "gsmHalfRate" },
17307         { 19, "gsmEnhancedFullRate" },
17308         { 20, "genericAudioMode" },
17309         { 21, "g729Extensions" },
17310         { 22, "vbd" },
17311         {  0, NULL }
17312 };
17313 static per_choice_t AudioMode_choice[] = {
17314         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17315                 dissect_h245_NonStandardParameter },
17316         {  1, "g711Alaw64k", ASN1_EXTENSION_ROOT,
17317                 dissect_h245_NULL },
17318         {  2, "g711Alaw56k", ASN1_EXTENSION_ROOT,
17319                 dissect_h245_NULL },
17320         {  3, "g711Ulaw64k", ASN1_EXTENSION_ROOT,
17321                 dissect_h245_NULL },
17322         {  4, "g711Ulaw56k", ASN1_EXTENSION_ROOT,
17323                 dissect_h245_NULL },
17324         {  5, "g722-64k", ASN1_EXTENSION_ROOT,
17325                 dissect_h245_NULL },
17326         {  6, "g722-56k", ASN1_EXTENSION_ROOT,
17327                 dissect_h245_NULL },
17328         {  7, "g722-48k", ASN1_EXTENSION_ROOT,
17329                 dissect_h245_NULL },
17330         {  8, "g728", ASN1_EXTENSION_ROOT,
17331                 dissect_h245_NULL },
17332         {  9, "g729", ASN1_EXTENSION_ROOT,
17333                 dissect_h245_NULL },
17334         { 10, "g729AnnexA", ASN1_EXTENSION_ROOT,
17335                 dissect_h245_NULL },
17336         { 11, "g7231", ASN1_EXTENSION_ROOT,
17337                 dissect_h245_AudioMode_g7231 },
17338         { 12, "is11172AudioMode", ASN1_EXTENSION_ROOT,
17339                 dissect_h245_IS11172AudioMode },
17340         { 13, "is13818AudioMode", ASN1_EXTENSION_ROOT,
17341                 dissect_h245_IS13818AudioMode },
17342         { 14, "g729wAnnexB", ASN1_NOT_EXTENSION_ROOT,
17343                 dissect_h245_g729wAnnexB },
17344         { 15, "g729AnnexAwAnnexB", ASN1_NOT_EXTENSION_ROOT,
17345                 dissect_h245_g729AnnexAwAnnexB },
17346         { 16, "g7231AnnexCMode", ASN1_NOT_EXTENSION_ROOT,
17347                 dissect_h245_G7231AnnexCMode },
17348         { 17, "gsmFullRate", ASN1_NOT_EXTENSION_ROOT,
17349                 dissect_h245_GSMAudioCapability },
17350         { 18, "gsmHalfRate", ASN1_NOT_EXTENSION_ROOT,
17351                 dissect_h245_GSMAudioCapability },
17352         { 19, "gsmEnhancedFullRate", ASN1_NOT_EXTENSION_ROOT,
17353                 dissect_h245_GSMAudioCapability },
17354         { 20, "genericAudioMode", ASN1_NOT_EXTENSION_ROOT,
17355                 dissect_h245_GenericCapability },
17356         { 21, "g729Extensions", ASN1_NOT_EXTENSION_ROOT,
17357                 dissect_h245_G729Extensions },
17358         { 22, "vbd", ASN1_NOT_EXTENSION_ROOT,
17359                 dissect_h245_VBDMode },
17360         {  0, NULL, 0, NULL }
17361 };
17362 static int
17363 dissect_h245_AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17364 {
17365         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioMode, ett_h245_AudioMode, AudioMode_choice, "AudioMode", NULL);
17366
17367         return offset;
17368 }
17369
17370
17371
17372
17373 static const value_string RedundancyEncodingMode_secondaryEncoding_vals[] = {
17374         {  0, "nonStandard" },
17375         {  1, "audioData" },
17376         {  0, NULL }
17377 };
17378 static per_choice_t RedundancyEncodingMode_secondaryEncoding_choice[] = {
17379         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17380                 dissect_h245_NonStandardParameter },
17381         {  1, "audioData", ASN1_EXTENSION_ROOT,
17382                 dissect_h245_AudioMode },
17383         {  0, NULL, 0, NULL }
17384 };
17385 static int
17386 dissect_h245_RedundancyEncodingMode_secondaryEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17387 {
17388         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMode_secondaryEncoding, ett_h245_RedundancyEncodingMode_secondaryEncoding, RedundancyEncodingMode_secondaryEncoding_choice, "secondaryEncoding", NULL);
17389
17390         return offset;
17391 }
17392
17393
17394
17395 static per_sequence_t RedundancyEncodingMode_sequence[] = {
17396         { "redundancyEncodingMethod", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17397                 dissect_h245_RedundancyEncodingMethod },
17398         { "secondaryEncoding", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17399                 dissect_h245_RedundancyEncodingMode_secondaryEncoding },
17400         { NULL, 0, 0, NULL }
17401 };
17402 static int
17403 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17404 {
17405         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMode, ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
17406
17407         return offset;
17408 }
17409
17410
17411
17412 static per_sequence_t H2250ModeParameters_sequence[] = {
17413         { "redundancyEncodingMode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17414                 dissect_h245_RedundancyEncodingMode },
17415         { NULL, 0, 0, NULL }
17416 };
17417 static int
17418 dissect_h245_H2250ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17419 {
17420         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250ModeParameters, ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
17421
17422         return offset;
17423 }
17424
17425
17426
17427
17428
17429 static per_sequence_t VBDMode_sequence[] = {
17430         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17431                 dissect_h245_AudioMode },
17432         { NULL, 0, 0, NULL }
17433 };
17434 static int
17435 dissect_h245_VBDMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17436 {
17437         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VBDMode, ett_h245_VBDMode, VBDMode_sequence);
17438
17439         return offset;
17440 }
17441
17442
17443
17444 static const value_string MultiplexCapability_vals[] = {
17445         {  0, "nonStandard" },
17446         {  1, "h222Capability" },
17447         {  2, "h223Capability" },
17448         {  3, "v76Capability" },
17449         {  4, "h2250Capability" },
17450         {  5, "genericMultiplexCapability" },
17451         {  0, NULL }
17452 };
17453 static per_choice_t MultiplexCapability_choice[] = {
17454         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17455                 dissect_h245_NonStandardParameter },
17456         {  1, "h222Capability", ASN1_EXTENSION_ROOT,
17457                 dissect_h245_H222Capability },
17458         {  2, "h223Capability", ASN1_EXTENSION_ROOT,
17459                 dissect_h245_H223Capability },
17460         {  3, "v76Capability", ASN1_EXTENSION_ROOT,
17461                 dissect_h245_V76Capability },
17462         {  4, "h2250Capability", ASN1_NOT_EXTENSION_ROOT,
17463                 dissect_h245_H2250Capability },
17464         {  5, "genericMultiplexCapability", ASN1_NOT_EXTENSION_ROOT,
17465                 dissect_h245_GenericCapability },
17466         {  0, NULL, 0, NULL }
17467 };
17468 static int
17469 dissect_h245_MultiplexCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17470 {
17471         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexCapability, ett_h245_MultiplexCapability, MultiplexCapability_choice, "MultiplexCapability", NULL);
17472
17473         return offset;
17474 }
17475
17476
17477
17478
17479
17480 static per_sequence_t TerminalCapabilitySet_sequence[] = {
17481         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17482                 dissect_h245_SequenceNumber },
17483         { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17484                 dissect_h245_protocolIdentifier },
17485         { "multiplexCapability", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17486                 dissect_h245_MultiplexCapability },
17487         { "capabilityTable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17488                 dissect_h245_capabilityTable },
17489         { "capabilityDescriptors", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17490                 dissect_h245_capabilityDescriptors },
17491         { NULL, 0, 0, NULL }
17492 };
17493 static int
17494 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17495 {
17496         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySet, ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
17497
17498         return offset;
17499 }
17500
17501
17502
17503
17504
17505
17506 static per_sequence_t ConferenceResponse_terminalIDResponse_sequence[] = {
17507         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17508                 dissect_h245_TerminalLabel },
17509         { "terminalID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17510                 dissect_h245_TerminalID },
17511         { NULL, 0, 0, NULL }
17512 };
17513 static int
17514 dissect_h245_ConferenceResponse_terminalIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17515 {
17516         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_terminalIDResponse, ett_h245_ConferenceResponse_terminalIDResponse, ConferenceResponse_terminalIDResponse_sequence);
17517
17518         return offset;
17519 }
17520
17521
17522
17523
17524
17525 static const value_string ConferenceResponse_vals[] = {
17526         {  0, "mCTerminalIDResponse" },
17527         {  1, "terminalIDResponse" },
17528         {  2, "conferenceIDResponse" },
17529         {  3, "passwordResponse" },
17530         {  4, "terminalListResponse" },
17531         {  5, "videoCommandReject" },
17532         {  6, "terminalDropReject" },
17533         {  7, "makeMeChairResponse" },
17534         {  8, "extensionAddressResponse" },
17535         {  9, "chairTokenOwnerResponse" },
17536         { 10, "terminalCertificateResponse" },
17537         { 11, "broadcastMyLogicalChannelResponse" },
17538         { 12, "makeTerminalBroadcasterResponse" },
17539         { 13, "sendThisSourceResponse" },
17540         { 14, "requestAllTerminalIDsResponse" },
17541         { 15, "remoteMCResponse" },
17542         {  0, NULL }
17543 };
17544 static per_choice_t ConferenceResponse_choice[] = {
17545         {  0, "mCTerminalIDResponse", ASN1_EXTENSION_ROOT,
17546                 dissect_h245_ConferenceResponse_mCterminalIDResponse },
17547         {  1, "terminalIDResponse", ASN1_EXTENSION_ROOT,
17548                 dissect_h245_ConferenceResponse_terminalIDResponse },
17549         {  2, "conferenceIDResponse", ASN1_EXTENSION_ROOT,
17550                 dissect_h245_ConferenceResponse_conferenceIDResponse },
17551         {  3, "passwordResponse", ASN1_EXTENSION_ROOT,
17552                 dissect_h245_ConferenceResponse_passwordResponse },
17553         {  4, "terminalListResponse", ASN1_EXTENSION_ROOT,
17554                 dissect_h245_terminalListResponse },
17555         {  5, "videoCommandReject", ASN1_EXTENSION_ROOT,
17556                 dissect_h245_NULL },
17557         {  6, "terminalDropReject", ASN1_EXTENSION_ROOT,
17558                 dissect_h245_NULL },
17559         {  7, "makeMeChairResponse", ASN1_EXTENSION_ROOT,
17560                 dissect_h245_ConferenceResponse_makeMeChairResponse },
17561         {  8, "extensionAddressResponse", ASN1_NOT_EXTENSION_ROOT,
17562                 dissect_h245_ConferenceResponse_extensionAddressResponse },
17563         {  9, "chairTokenOwnerResponse", ASN1_NOT_EXTENSION_ROOT,
17564                 dissect_h245_ConferenceResponse_chairTokenOwnerResponse },
17565         { 10, "terminalCertificateResponse", ASN1_NOT_EXTENSION_ROOT,
17566                 dissect_h245_ConferenceResponse_terminalCertificateResponse },
17567         { 11, "broadcastMyLogicalChannelResponse", ASN1_NOT_EXTENSION_ROOT,
17568                 dissect_h245_ConferenceResponse_broadcastMyLogicalChannelResponse },
17569         { 12, "makeTerminalBroadcasterResponse", ASN1_NOT_EXTENSION_ROOT,
17570                 dissect_h245_ConferenceResponse_makeTerminalBroadcasterResponse },
17571         { 13, "sendThisSourceResponse", ASN1_NOT_EXTENSION_ROOT,
17572                 dissect_h245_ConferenceResponse_sendThisSourceResponse },
17573         { 14, "requestAllTerminalIDsResponse", ASN1_NOT_EXTENSION_ROOT,
17574                 dissect_h245_RequestAllTerminalIDsResponse },
17575         { 15, "remoteMCResponse", ASN1_NOT_EXTENSION_ROOT,
17576                 dissect_h245_RemoteMCResponse },
17577         {  0, NULL, 0, NULL }
17578 };
17579 static int
17580 dissect_h245_ConferenceResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17581 {
17582         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse, ett_h245_ConferenceResponse, ConferenceResponse_choice, "ConferenceResponse", NULL);
17583
17584         return offset;
17585 }
17586
17587
17588
17589
17590
17591 static const value_string H261VideoMode_resolution_vals[] = {
17592         {  0, "qcif" },
17593         {  1, "cif" },
17594         {  0, NULL }
17595 };
17596 static per_choice_t H261VideoMode_resolution_choice[] = {
17597         {  0, "qcif", ASN1_NO_EXTENSIONS,
17598                 dissect_h245_NULL },
17599         {  1, "cif", ASN1_NO_EXTENSIONS,
17600                 dissect_h245_NULL },
17601         {  0, NULL, 0, NULL }
17602 };
17603 static int
17604 dissect_h245_H261VideoMode_resolution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17605 {
17606         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H261VideoMode_resolution, ett_h245_H261VideoMode_resolution, H261VideoMode_resolution_choice, "resolution", NULL);
17607
17608         return offset;
17609 }
17610
17611
17612
17613
17614 static per_sequence_t H261VideoMode_sequence[] = {
17615         { "resolution", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17616                 dissect_h245_H261VideoMode_resolution },
17617         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17618                 dissect_h245_h223bitRate },
17619         { "stillImageTransmission", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17620                 dissect_h245_stillImageTransmission },
17621         { NULL, 0, 0, NULL }
17622 };
17623 static int
17624 dissect_h245_H261VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17625 {
17626         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H261VideoMode, ett_h245_H261VideoMode, H261VideoMode_sequence);
17627
17628         return offset;
17629 }
17630
17631
17632
17633
17634 static const value_string VideoMode_vals[] = {
17635         {  0, "nonStandard" },
17636         {  1, "h261VideoMode" },
17637         {  2, "h262VideoMode" },
17638         {  3, "h263VideoMode" },
17639         {  4, "is11172VideoMode" },
17640         {  5, "genericVideoMode" },
17641         {  0, NULL }
17642 };
17643 static per_choice_t VideoMode_choice[] = {
17644         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17645                 dissect_h245_NonStandardParameter },
17646         {  1, "h261VideoMode", ASN1_EXTENSION_ROOT,
17647                 dissect_h245_H261VideoMode },
17648         {  2, "h262VideoMode", ASN1_EXTENSION_ROOT,
17649                 dissect_h245_H262VideoMode },
17650         {  3, "h263VideoMode", ASN1_EXTENSION_ROOT,
17651                 dissect_h245_H263VideoMode },
17652         {  4, "is11172VideoMode", ASN1_EXTENSION_ROOT,
17653                 dissect_h245_IS11172VideoMode},
17654         {  5, "genericVideoMode", ASN1_NOT_EXTENSION_ROOT,
17655                 dissect_h245_GenericCapability },
17656         {  0, NULL, 0, NULL }
17657 };
17658 static int
17659 dissect_h245_VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17660 {
17661         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VideoMode, ett_h245_VideoMode, VideoMode_choice, "VideoMode", NULL);
17662
17663         return offset;
17664 }
17665
17666
17667
17668
17669 static const value_string H235Mode_mediaMode_vals[] = {
17670         {  0, "nonStandard" },
17671         {  1, "videoMode" },
17672         {  2, "audioMode" },
17673         {  3, "dataMode" },
17674         {  0, NULL }
17675 };
17676 static per_choice_t H235Mode_mediaMode_choice[] = {
17677         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17678                 dissect_h245_NonStandardParameter },
17679         {  1, "videoMode", ASN1_EXTENSION_ROOT,
17680                 dissect_h245_VideoMode },
17681         {  2, "audioMode", ASN1_EXTENSION_ROOT,
17682                 dissect_h245_AudioMode },
17683         {  3, "dataMode", ASN1_EXTENSION_ROOT,
17684                 dissect_h245_DataMode },
17685         {  0, NULL, 0, NULL }
17686 };
17687 static int
17688 dissect_h245_H235Mode_mediaMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17689 {
17690         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H235Mode_mediaMode, ett_h245_H235Mode_mediaMode, H235Mode_mediaMode_choice, "mediaMode", NULL);
17691
17692         return offset;
17693 }
17694
17695
17696
17697
17698 static per_sequence_t H235Mode_sequence[] = {
17699         { "encryptionAuthenticationAndIntegrity", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17700                 dissect_h245_EncryptionAuthenticationAndIntegrity },
17701         { "mediaMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17702                 dissect_h245_H235Mode_mediaMode },
17703         { NULL, 0, 0, NULL }
17704 };
17705 static int
17706 dissect_h245_H235Mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17707 {
17708         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235Mode, ett_h245_H235Mode, H235Mode_sequence);
17709
17710         return offset;
17711 }
17712
17713
17714
17715
17716
17717 static const value_string RedundancyEncodingDTModeElement_type_vals[] = {
17718         {  0, "nonStandard" },
17719         {  1, "videoMode" },
17720         {  2, "audioMode" },
17721         {  3, "dataMode" },
17722         {  4, "encryptionMode" },
17723         {  5, "h235Mode" },
17724         {  0, NULL }
17725 };
17726 static per_choice_t RedundancyEncodingDTModeElement_type_choice[] = {
17727         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17728                 dissect_h245_NonStandardParameter },
17729         {  1, "videoMode", ASN1_EXTENSION_ROOT,
17730                 dissect_h245_VideoMode },
17731         {  2, "audioMode", ASN1_EXTENSION_ROOT,
17732                 dissect_h245_AudioMode },
17733         {  3, "dataMode", ASN1_EXTENSION_ROOT,
17734                 dissect_h245_DataMode },
17735         {  4, "encryptionMode", ASN1_EXTENSION_ROOT,
17736                 dissect_h245_EncryptionMode },
17737         {  5, "h235Mode", ASN1_EXTENSION_ROOT,
17738                 dissect_h245_H235Mode },
17739         {  0, NULL, 0, NULL }
17740 };
17741 static int
17742 dissect_h245_RedundancyEncodingDTModeElement_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17743 {
17744         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTModeElement_type, ett_h245_RedundancyEncodingDTModeElement_type, RedundancyEncodingDTModeElement_type_choice, "type", NULL);
17745
17746         return offset;
17747 }
17748
17749
17750
17751
17752 static per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
17753         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17754                 dissect_h245_RedundancyEncodingDTModeElement_type },
17755         { NULL, 0, 0, NULL }
17756 };
17757 static int
17758 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17759 {
17760         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTModeElement, ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
17761
17762         return offset;
17763 }
17764
17765
17766
17767
17768
17769 static per_sequence_t RedundancyEncodingDTMode_sequence[] = {
17770         { "redundancyEncodingMethod", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17771                 dissect_h245_RedundancyEncodingMethod },
17772         { "primary", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17773                 dissect_h245_RedundancyEncodingDTModeElement },
17774         { "secondary", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17775                 dissect_h245_secondary_REDTME_sequence_of },
17776         { NULL, 0, 0, NULL }
17777 };
17778 static int
17779 dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17780 {
17781         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTMode, ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
17782
17783         return offset;
17784 }
17785
17786
17787
17788
17789 static int dissect_h245_FECMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17790 static const value_string ModeElementType_vals[] = {
17791         {  0, "nonStandard" },
17792         {  1, "videoMode" },
17793         {  2, "audioMode" },
17794         {  3, "dataMode" },
17795         {  4, "encryptionMode" },
17796         {  5, "h235Mode" },
17797         {  6, "multiplexedStreamMode" },
17798         {  7, "redundancyEncodingDTMode" },
17799         {  8, "multiplePayloadStreamMode" },
17800         {  9, "fecMode" },
17801         {  0, NULL }
17802 };
17803 static per_choice_t ModeElementType_choice[] = {
17804         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17805                 dissect_h245_NonStandardParameter },
17806         {  1, "videoMode", ASN1_EXTENSION_ROOT,
17807                 dissect_h245_VideoMode },
17808         {  2, "audioMode", ASN1_EXTENSION_ROOT,
17809                 dissect_h245_AudioMode },
17810         {  3, "dataMode", ASN1_EXTENSION_ROOT,
17811                 dissect_h245_DataMode },
17812         {  4, "encryptionMode", ASN1_EXTENSION_ROOT,
17813                 dissect_h245_EncryptionMode },
17814         {  5, "h235Mode", ASN1_NOT_EXTENSION_ROOT,
17815                 dissect_h245_H235Mode },
17816         {  6, "multiplexedStreamMode", ASN1_NOT_EXTENSION_ROOT,
17817                 dissect_h245_MultiplexedStreamParameter },
17818         {  7, "redundancyEncodingDTMode", ASN1_NOT_EXTENSION_ROOT,
17819                 dissect_h245_RedundancyEncodingDTMode },
17820         {  8, "multiplePayloadStreamMode", ASN1_NOT_EXTENSION_ROOT,
17821                 dissect_h245_MultiplePayloadStreamMode },
17822         {  9, "fecMode", ASN1_NOT_EXTENSION_ROOT,
17823                 dissect_h245_FECMode },
17824         {  0, NULL, 0, NULL }
17825 };
17826 static int
17827 dissect_h245_ModeElementType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17828 {
17829         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ModeElementType, ett_h245_ModeElementType, ModeElementType_choice, "ModeElementType", NULL);
17830
17831         return offset;
17832 }
17833
17834
17835
17836
17837 static per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
17838         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17839                 dissect_h245_ModeElementType },
17840         { NULL, 0, 0, NULL }
17841 };
17842 static int
17843 dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17844 {
17845         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamElementMode, ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
17846
17847         return offset;
17848 }
17849
17850
17851
17852
17853
17854 static per_sequence_t FECMode_rfc2733Mode_mode_separateStream_samePort_sequence[] = {
17855         { "protectedType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17856                 dissect_h245_ModeElementType },
17857         { NULL, 0, 0, NULL }
17858 };
17859 static int
17860 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_samePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17861 {
17862         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort, ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort, FECMode_rfc2733Mode_mode_separateStream_samePort_sequence);
17863
17864         return offset;
17865 }
17866
17867
17868
17869 static const value_string FECMode_rfc2733Mode_mode_separateStream_vals[] = {
17870         {  0, "differentPort" },
17871         {  1, "samePort" },
17872         {  0, NULL }
17873 };
17874 static per_choice_t FECMode_rfc2733Mode_mode_separateStream_choice[] = {
17875         {  0, "differentPort", ASN1_EXTENSION_ROOT,
17876                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort },
17877         {  1, "samePort", ASN1_EXTENSION_ROOT,
17878                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_samePort },
17879         {  0, NULL, 0, NULL }
17880 };
17881 static int
17882 dissect_h245_FECMode_rfc2733Mode_mode_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17883 {
17884         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode_mode_separateStream, ett_h245_FECMode_rfc2733Mode_mode_separateStream, FECMode_rfc2733Mode_mode_separateStream_choice, "separateStream", NULL);
17885
17886         return offset;
17887 }
17888
17889
17890
17891
17892
17893 static const value_string FECMode_rfc2733Mode_mode_vals[] = {
17894         {  0, "redundancyEncoding" },
17895         {  1, "separateStream" },
17896         {  0, NULL }
17897 };
17898 static per_choice_t FECMode_rfc2733Mode_mode_choice[] = {
17899         {  0, "redundancyEncoding", ASN1_EXTENSION_ROOT,
17900                 dissect_h245_NULL },
17901         {  1, "separateStream", ASN1_EXTENSION_ROOT,
17902                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream },
17903         {  0, NULL, 0, NULL }
17904 };
17905 static int
17906 dissect_h245_FECMode_rfc2733Mode_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17907 {
17908         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode_mode, ett_h245_FECMode_rfc2733Mode_mode, FECMode_rfc2733Mode_mode_choice, "mode", NULL);
17909
17910         return offset;
17911 }
17912
17913
17914
17915 static per_sequence_t FECMode_rfc2733Mode_sequence[] = {
17916         { "mode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17917                 dissect_h245_FECMode_rfc2733Mode_mode },
17918         { NULL, 0, 0, NULL }
17919 };
17920 static int
17921 dissect_h245_FECMode_rfc2733Mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17922 {
17923         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode, ett_h245_FECMode_rfc2733Mode, FECMode_rfc2733Mode_sequence);
17924
17925         return offset;
17926 }
17927
17928
17929
17930
17931 static const value_string FECMode_vals[] = {
17932         {  0, "rfc2733Mode" },
17933         {  0, NULL }
17934 };
17935 static per_choice_t FECMode_choice[] = {
17936         {  0, "rfc2733Mode", ASN1_EXTENSION_ROOT,
17937                 dissect_h245_FECMode_rfc2733Mode },
17938         {  0, NULL, 0, NULL }
17939 };
17940 static int
17941 dissect_h245_FECMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17942 {
17943         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode, ett_h245_FECMode, FECMode_choice, "FECMode", NULL);
17944
17945         return offset;
17946 }
17947
17948
17949
17950
17951 static int dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17952 static int dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17953 static int dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17954 static const value_string FunctionNotUnderstood_vals[] = {
17955         {  0, "request" },
17956         {  1, "response" },
17957         {  2, "command" },
17958         {  0, NULL }
17959 };
17960 static per_choice_t FunctionNotUnderstood_choice[] = {
17961         {  0, "request", ASN1_NO_EXTENSIONS,
17962                 dissect_h245_RequestMessage },
17963         {  1, "response", ASN1_NO_EXTENSIONS,
17964                 dissect_h245_ResponseMessage },
17965         {  2, "command", ASN1_NO_EXTENSIONS,
17966                 dissect_h245_CommandMessage },
17967         {  0, NULL, 0, NULL }
17968 };
17969 static int
17970 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17971 {
17972         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FunctionNotUnderstood, ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice, "FunctionNotUnderstood", NULL);
17973
17974         return offset;
17975 }
17976
17977
17978
17979 static int
17980 dissect_h245_signalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17981 {
17982         /* XXX this is just wrong.
17983          * the definition in the ASN.1 file is :
17984          *   signalType IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!"))
17985          * which means the 17 characters are encoded as 8-bit values 
17986          * between 0x00 and 0x10
17987          *
17988          * however, captures from real world applications show that
17989          * the field is encoded instead as :
17990          *   signalType IA5String (SIZE (1))
17991          * ie a single character ascii value from 0x00 to 0xff.
17992          *
17993          * the code is changed under protest.
17994          * i still think it is the one commented out that is the correct one
17995          */
17996          /*offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 1, "!#*0123456789ABCD", 17);*/
17997
17998          offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 1);
17999
18000
18001         return offset;
18002 }
18003
18004
18005
18006
18007
18008
18009
18010 static per_sequence_t UserInputIndication_signal_sequence[] = {
18011         { "signalType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18012                 dissect_h245_signalType },
18013         { "duration", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18014                 dissect_h245_duration },
18015         { "rtp", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18016                 dissect_h245_UserInputIndication_signal_rtp },
18017         { "rtpPayloadIndication", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18018                 dissect_h245_NULL },
18019         { NULL, 0, 0, NULL }
18020 };
18021 static int
18022 dissect_h245_UserInputIndication_signal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18023 {
18024         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signal, ett_h245_UserInputIndication_signal, UserInputIndication_signal_sequence);
18025
18026         return offset;
18027 }
18028
18029
18030
18031
18032 static const value_string UserInputIndication_vals[] = {
18033         {  0, "nonStandard" },
18034         {  1, "alphanumeric" },
18035         {  2, "userInputSupportIndication" },
18036         {  3, "signal" },
18037         {  4, "signalUpdate" },
18038         {  5, "extendedAlphanumeric" },
18039         {  0, NULL }
18040 };
18041 static per_choice_t UserInputIndication_choice[] = {
18042         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
18043                 dissect_h245_NonStandardParameter },
18044         {  1, "alphanumeric", ASN1_EXTENSION_ROOT,
18045                 dissect_h245_alphanumeric },
18046         {  2, "userInputSupportIndication", ASN1_NOT_EXTENSION_ROOT,
18047                 dissect_h245_UserInputIndication_userInputSupportIndication },
18048         {  3, "signal", ASN1_NOT_EXTENSION_ROOT,
18049                 dissect_h245_UserInputIndication_signal },
18050         {  4, "signalUpdate", ASN1_NOT_EXTENSION_ROOT,
18051                 dissect_h245_UserInputIndication_signalUpdate },
18052         {  5, "extendedAlphanumeric", ASN1_NOT_EXTENSION_ROOT,
18053                 dissect_h245_UserInputIndication_extendedAlphanumeric },
18054         {  0, NULL, 0, NULL }
18055 };
18056 static int
18057 dissect_h245_UserInputIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18058 {
18059         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputIndication, ett_h245_UserInputIndication, UserInputIndication_choice, "UserInputIndication", NULL);
18060
18061         return offset;
18062 }
18063
18064
18065
18066
18067
18068 static per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
18069         { NULL, ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, NULL }
18070 };
18071 static int
18072 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18073 {
18074         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetRelease, ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
18075
18076         return offset;
18077 }
18078
18079
18080
18081 static int
18082 dissect_h245_internationalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18083 {
18084         offset=dissect_per_NumericString(tvb, offset, pinfo, tree, hf_h245_internationalNumber, 1, 16);
18085         return offset;
18086 }
18087
18088
18089
18090
18091
18092 static const value_string Q2931Address_address_vals[] = {
18093         {  0, "internationalNumber" },
18094         {  1, "nsapAddress" },
18095         {  0, NULL }
18096 };
18097 static per_choice_t Q2931Address_address_choice[] = {
18098         {  0, "internationalNumber", ASN1_EXTENSION_ROOT,
18099                 dissect_h245_internationalNumber },
18100         {  1, "nsapAddress", ASN1_EXTENSION_ROOT,
18101                 dissect_h245_nsapAddress},
18102         {  0, NULL, 0, NULL }
18103 };
18104 static int
18105 dissect_h245_Q2931Address_address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18106 {
18107         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_Q2931Address_address, ett_h245_Q2931Address_address, Q2931Address_address_choice, "address", NULL);
18108
18109         return offset;
18110 }
18111
18112
18113
18114
18115
18116 static per_sequence_t Q2931Address_sequence[] = {
18117         { "address", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18118                 dissect_h245_Q2931Address_address },
18119         { "subaddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18120                 dissect_h245_subaddress_1_20 },
18121         { NULL, 0, 0, NULL }
18122 };
18123 static int
18124 dissect_h245_Q2931Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18125 {
18126         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Q2931Address, ett_h245_Q2931Address, Q2931Address_sequence);
18127
18128         return offset;
18129 }
18130
18131
18132
18133
18134 static int
18135 dissect_h245_e164Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18136 {
18137         offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_e164Address, 1, 128, "#*,0123456789", 13);
18138
18139         return offset;
18140 }
18141
18142
18143
18144
18145 static const value_string NetworkAccessParameters_networkAddress_vals[] = {
18146         {  0, "q2931Address" },
18147         {  1, "e164Address" },
18148         {  2, "localAreaAddress" },
18149         {  0, NULL }
18150 };
18151 static per_choice_t NetworkAccessParameters_networkAddress_choice[] = {
18152         {  0, "q2931Address", ASN1_EXTENSION_ROOT,
18153                 dissect_h245_Q2931Address },
18154         {  1, "e164Address", ASN1_EXTENSION_ROOT,
18155                 dissect_h245_e164Address },
18156         {  2, "localAreaAddress", ASN1_EXTENSION_ROOT,
18157                 dissect_h245_localAreaAddress },
18158         {  0, NULL, 0, NULL }
18159 };
18160 static int
18161 dissect_h245_NetworkAccessParameters_networkAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18162 {
18163         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_networkAddress, ett_h245_NetworkAccessParameters_networkAddress, NetworkAccessParameters_networkAddress_choice, "networkAddress", NULL);
18164
18165         return offset;
18166 }
18167
18168
18169
18170
18171
18172 static per_sequence_t NetworkAccessParameters_sequence[] = {
18173         { "distribution", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18174                 dissect_h245_NetworkAccessParameters_distribution },
18175         { "networkAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18176                 dissect_h245_NetworkAccessParameters_networkAddress },
18177         { "associateConference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18178                 dissect_h245_associateConference},
18179         { "externalReference", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18180                 dissect_h245_externalReference },
18181         { "t120SetupProcedure", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18182                 dissect_h245_NetworkAccessParameters_t120SetupProcedure },
18183         { NULL, 0, 0, NULL }
18184 };
18185 static int
18186 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18187 {
18188         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters, ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
18189
18190         return offset;
18191 }
18192
18193
18194
18195
18196
18197 static per_sequence_t OpenLogicalChannel_sequence[] = {
18198         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18199                 dissect_h245_LogicalChannelNumber },
18200         { "forwardLogicalChannelParameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18201                 dissect_h245_forwardLogicalChannelParameters },
18202         { "reverseLogicalChannelParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18203                 dissect_h245_reverseLogicalChannelParameters },
18204         { "separateStack", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18205                 dissect_h245_NetworkAccessParameters },
18206         { "encryptionSync", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18207                 dissect_h245_EncryptionSync },
18208         { NULL, 0, 0, NULL }
18209 };
18210 int
18211 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18212 {
18213         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannel, ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
18214
18215         return offset;
18216 }
18217
18218
18219
18220
18221 static per_sequence_t OpenLogicalChannelAck_sequence[] = {
18222         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18223                 dissect_h245_LogicalChannelNumber },
18224         { "reverseLogicalChannelParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18225                 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters },
18226         { "separateStack", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18227                 dissect_h245_NetworkAccessParameters },
18228         { "forwardMultiplexAckParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18229                 dissect_h245_forwardMultiplexAckParameters},
18230         { "encryptionSync", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18231                 dissect_h245_EncryptionSync},
18232         { NULL, 0, 0, NULL }
18233 };
18234 static int
18235 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18236 {
18237         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck, ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
18238
18239         return offset;
18240 }
18241
18242
18243
18244
18245 static int
18246 dissect_h245_escrowValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18247 {
18248 NOT_DECODED_YET("escrowValue");
18249         return offset;
18250 }
18251
18252
18253
18254
18255
18256 static per_sequence_t EscrowData_sequence[] = {
18257         { "escrowID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18258                 dissect_h245_escrowID },
18259         { "escrowValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18260                 dissect_h245_escrowValue },
18261         { NULL, 0, 0, NULL }
18262 };
18263 static int
18264 dissect_h245_EscrowData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18265 {
18266         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EscrowData, ett_h245_EscrowData, EscrowData_sequence);
18267
18268         return offset;
18269 }
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279 static const value_string RequestModeAck_response_decision_vals[] = {
18280         {  0, "willTransmitMostPreferredMode" },
18281         {  1, "willTransmitLessPreferredMode" },
18282         {  0, NULL }
18283 };
18284 static per_choice_t RequestModeAck_response_decision_choice[] = {
18285         {  0, "willTransmitMostPreferredMode", ASN1_EXTENSION_ROOT,
18286                 dissect_h245_NULL },
18287         {  1, "willTransmitLessPreferredMode", ASN1_EXTENSION_ROOT,
18288                 dissect_h245_NULL },
18289         {  0, NULL, 0, NULL }
18290 };
18291 static int
18292 dissect_h245_RequestModeAck_response_decision(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18293 {
18294         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestModeAck_response_decision, ett_h245_RequestModeAck_response_decision, RequestModeAck_response_decision_choice, "decision", NULL);
18295
18296         return offset;
18297 }
18298
18299
18300
18301
18302
18303 static per_sequence_t RequestModeAck_sequence[] = {
18304         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18305                 dissect_h245_SequenceNumber },
18306         { "response", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18307                 dissect_h245_RequestModeAck_response_decision },
18308         { NULL, 0, 0, NULL }
18309 };
18310 static int
18311 dissect_h245_RequestModeAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18312 {
18313         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeAck, ett_h245_RequestModeAck, RequestModeAck_sequence);
18314
18315         return offset;
18316 }
18317
18318
18319
18320
18321 static per_sequence_t RequestModeRelease_sequence[] = {
18322         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
18323 };
18324 static int
18325 dissect_h245_RequestModeRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18326 {
18327         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeRelease, ett_h245_RequestModeRelease, RequestModeRelease_sequence);
18328
18329         return offset;
18330 }
18331
18332
18333
18334 static per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
18335         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
18336 };
18337 static int
18338 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18339 {
18340         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopOffCommand, ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
18341
18342         return offset;
18343 }
18344
18345
18346
18347
18348 static per_sequence_t CommunicationModeRequest_sequence[] = {
18349         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
18350 };
18351 static int
18352 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18353 {
18354         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeRequest, ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
18355
18356         return offset;
18357 }
18358
18359
18360
18361
18362 static const value_string IndicationMessage_short_vals[] = {
18363         {  0,   "NSM" },
18364         {  1,   "FNU" },
18365         {  2,   "MSDRelease" },
18366         {  3,   "TCSRelease" },
18367         {  4,   "OLCConfirm" },
18368         {  5,   "RCCRelease" },
18369         {  6,   "MESRelease" },
18370         {  7,   "RMERelease" },
18371         {  8,   "RMRelease" },
18372         {  9,   "MI" },
18373         { 10,   "JI" },
18374         { 11,   "H223SI" },
18375         { 12,   "NATMVCI" },
18376         { 13,   "UII" },
18377         { 14,   "H2250MSI" },
18378         { 15,   "MCLI" },
18379         { 16,   "CI" },
18380         { 17,   "VI" },
18381         { 18,   "FNS" },
18382         { 19,   "MultilinkIndication" },
18383         { 20,   "LCRRelease" },
18384         { 21,   "FCIndication" },
18385         { 22,   "MMRI" },
18386         {  0, NULL }
18387 };
18388
18389
18390 static const value_string IndicationMessage_vals[] = {
18391         {  0,   "NonStandardMessage" },
18392         {  1,   "FunctionNotUnderstood" },
18393         {  2,   "MasterSlaveDeterminationRelease" },
18394         {  3,   "TerminalCapabilitySetRelease" },
18395         {  4,   "OpenLogicalChannelConfirm" },
18396         {  5,   "RequestChannelCloseRelease" },
18397         {  6,   "MultiplexEntrySendRelease" },
18398         {  7,   "RequestMultiplexEntryRelease" },
18399         {  8,   "RequestModeRelease" },
18400         {  9,   "MiscellaneousIndication" },
18401         { 10,   "JitterIndication" },
18402         { 11,   "H223SkewIndication" },
18403         { 12,   "NewATMVCIndication" },
18404         { 13,   "UserInputIndication" },
18405         { 14,   "H2250MaximumSkewIndication" },
18406         { 15,   "MCLocationIndication" },
18407         { 16,   "ConferenceIndication" },
18408         { 17,   "VendorIdentification" },
18409         { 18,   "FunctionNotSupported" },
18410         { 19,   "MultilinkIndication" },
18411         { 20,   "LogicalChannelRateRelease" },
18412         { 21,   "FlowControlIndication" },
18413         { 22,   "MobileMultilinkReconfigurationIndication" },
18414         {  0, NULL }
18415 };
18416 static per_choice_t IndicationMessage_choice[] = {
18417         {  0,   "NonStandardMessage",                   ASN1_EXTENSION_ROOT,
18418                         dissect_h245_NonStandardMessage },
18419         {  1,   "FunctionNotUnderstood",                ASN1_EXTENSION_ROOT,
18420                         dissect_h245_FunctionNotUnderstood },
18421         {  2,   "MasterSlaveDeterminationRelease",      ASN1_EXTENSION_ROOT,
18422                         dissect_h245_MasterSlaveDeterminationRelease },
18423         {  3,   "TerminalCapabilitySetRelease",         ASN1_EXTENSION_ROOT,
18424                         dissect_h245_TerminalCapabilitySetRelease },
18425         {  4,   "OpenLogicalChannelConfirm",            ASN1_EXTENSION_ROOT,
18426                         dissect_h245_OpenLogicalChannelConfirm },
18427         {  5,   "RequestChannelCloseRelease",           ASN1_EXTENSION_ROOT,
18428                         dissect_h245_RequestChannelCloseRelease },
18429         {  6,   "MultiplexEntrySendRelease",            ASN1_EXTENSION_ROOT,
18430                         dissect_h245_MultiplexEntrySendRelease },
18431         {  7,   "RequestMultiplexEntryRelease",         ASN1_EXTENSION_ROOT,
18432                         dissect_h245_RequestMultiplexEntryRelease },
18433         {  8,   "RequestModeRelease",                   ASN1_EXTENSION_ROOT,
18434                         dissect_h245_RequestModeRelease },
18435         {  9,   "MiscellaneousIndication",              ASN1_EXTENSION_ROOT,
18436                         dissect_h245_MiscellaneousIndication },
18437         { 10,   "JitterIndication",                     ASN1_EXTENSION_ROOT,
18438                         dissect_h245_JitterIndication },
18439         { 11,   "H223SkewIndication",                   ASN1_EXTENSION_ROOT,
18440                         dissect_h245_H223SkewIndication },
18441         { 12,   "NewATMVCIndication",                   ASN1_EXTENSION_ROOT,
18442                         dissect_h245_NewATMVCIndication },
18443         { 13,   "UserInputIndication",                  ASN1_EXTENSION_ROOT,
18444                         dissect_h245_UserInputIndication },
18445         { 14,   "H2250MaximumSkewIndication",           ASN1_NOT_EXTENSION_ROOT,
18446                         dissect_h245_H2250MaximumSkewIndication },
18447         { 15,   "MCLocationIndication",                 ASN1_NOT_EXTENSION_ROOT,
18448                         dissect_h245_MCLocationIndication },
18449         { 16,   "ConferenceIndication",                 ASN1_NOT_EXTENSION_ROOT,
18450                 dissect_h245_ConferenceIndication },
18451         { 17,   "VendorIdentification",                 ASN1_NOT_EXTENSION_ROOT,
18452                 dissect_h245_VendorIdentification },
18453         { 18,   "FunctionNotSupported",                 ASN1_NOT_EXTENSION_ROOT,
18454                 dissect_h245_FunctionNotSupported },
18455         { 19,   "MultilinkIndication",                  ASN1_NOT_EXTENSION_ROOT,
18456                 dissect_h245_MultilinkIndication },
18457         { 20,   "LogicalChannelRateRelease",            ASN1_NOT_EXTENSION_ROOT,
18458                 dissect_h245_LogicalChannelRateRelease },
18459         { 21,   "FlowControlIndication",                ASN1_NOT_EXTENSION_ROOT,
18460                 dissect_h245_FlowControlIndication },
18461         { 22,   "MobileMultilinkReconfigurationIndication",ASN1_NOT_EXTENSION_ROOT,
18462                 dissect_h245_MobileMultilinkReconfigurationIndication },
18463         {  0, NULL, 0, NULL }
18464 };
18465 static int
18466 dissect_h245_IndicationMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18467 {
18468         guint32 value;
18469
18470         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IndicationMessage_type, ett_h245_IndicationMessage, IndicationMessage_choice, "IndicationMessage", &value);
18471
18472         if (check_col(pinfo->cinfo, COL_INFO)){
18473                 if ( h245_shorttypes == TRUE )
18474                 {
18475                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18476                                 val_to_str(value, IndicationMessage_short_vals, "<unknown>"));
18477                 }
18478                 else
18479                 {
18480                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18481                                 val_to_str(value, IndicationMessage_vals, "<unknown>"));
18482                 }
18483         }
18484
18485         col_set_fence(pinfo->cinfo,COL_INFO);
18486
18487         return offset;
18488 }
18489
18490
18491
18492 static const value_string RequestMessage_short_vals[] = {
18493         {  0,   "NSM" },
18494         {  1,   "MSD" },
18495         {  2,   "TCS" },
18496         {  3,   "OLC" },
18497         {  4,   "CLC" },
18498         {  5,   "RCC" },
18499         {  6,   "MES" },
18500         {  7,   "RME" },
18501         {  8,   "RM" },
18502         {  9,   "RTDR" },
18503         { 10,   "MLR" },
18504         { 11,   "CMR" },
18505         { 12,   "CR" },
18506         { 13,   "MR" },
18507         { 14,   "LCRR" },
18508         {  0, NULL }
18509 };
18510
18511
18512 static const value_string RequestMessage_vals[] = {
18513         {  0,   "NonStandardMessage" },
18514         {  1,   "MasterSlaveDetermination" },
18515         {  2,   "TerminalCapabilitySet" },
18516         {  3,   "OpenLogicalChannel" },
18517         {  4,   "CloseLogicalChannel" },
18518         {  5,   "RequestChannelClose" },
18519         {  6,   "MultiplexEntrySend" },
18520         {  7,   "RequestMultiplexEntry" },
18521         {  8,   "RequestMode" },
18522         {  9,   "RoundTripDelayRequest" },
18523         { 10,   "MaintenanceLoopRequest" },
18524         { 11,   "CommunicationModeRequest" },
18525         { 12,   "ConferenceRequest" },
18526         { 13,   "MultilinkRequest" },
18527         { 14,   "LogicalChannelRateRequest" },
18528         {  0, NULL }
18529 };
18530 static per_choice_t RequestMessage_choice[] = {
18531         {  0,   "NonStandardMessage",           ASN1_EXTENSION_ROOT,
18532                         dissect_h245_NonStandardMessage },
18533         {  1,   "MasterSlaveDetermination",     ASN1_EXTENSION_ROOT,
18534                         dissect_h245_MasterSlaveDetermination },
18535         {  2,   "TerminalCapabilitySet",        ASN1_EXTENSION_ROOT,
18536                         dissect_h245_TerminalCapabilitySet },
18537         {  3,   "OpenLogicalChannel",           ASN1_EXTENSION_ROOT,
18538                         dissect_h245_OpenLogicalChannel },
18539         {  4,   "CloseLogicalChannel",          ASN1_EXTENSION_ROOT,
18540                         dissect_h245_CloseLogicalChannel },
18541         {  5,   "RequestChannelClose",          ASN1_EXTENSION_ROOT,
18542                         dissect_h245_RequestChannelClose },
18543         {  6,   "MultiplexEntrySend",           ASN1_EXTENSION_ROOT,
18544                         dissect_h245_MultiplexEntrySend },
18545         {  7,   "RequestMultiplexEntry",        ASN1_EXTENSION_ROOT,
18546                         dissect_h245_RequestMultiplexEntry },
18547         {  8,   "RequestMode",                  ASN1_EXTENSION_ROOT,
18548                         dissect_h245_RequestMode },
18549         {  9,   "RoundTripDelayRequest",        ASN1_EXTENSION_ROOT,
18550                         dissect_h245_RoundTripDelayRequest },
18551         { 10,   "MaintenanceLoopRequest",       ASN1_EXTENSION_ROOT,
18552                         dissect_h245_MaintenanceLoopRequest },
18553         { 11,   "CommunicationModeRequest",     ASN1_NOT_EXTENSION_ROOT,
18554                         dissect_h245_CommunicationModeRequest },
18555         { 12,   "ConferenceRequest",            ASN1_NOT_EXTENSION_ROOT,
18556                         dissect_h245_ConferenceRequest },
18557         { 13,   "MultilinkRequest",             ASN1_NOT_EXTENSION_ROOT,
18558                         dissect_h245_MultilinkRequest },
18559         { 14,   "LogicalChannelRateRequest",    ASN1_NOT_EXTENSION_ROOT,
18560                         dissect_h245_LogicalChannelRateRequest },
18561         {  0, NULL, 0, NULL }
18562 };
18563 static int
18564 dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18565 {
18566         guint32 value;
18567
18568         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestMessage_type, ett_h245_RequestMessage, RequestMessage_choice, "RequestMessage", &value);
18569
18570         if (check_col(pinfo->cinfo, COL_INFO)){
18571                 if ( h245_shorttypes == TRUE )
18572                 {
18573                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18574                                 val_to_str(value, RequestMessage_short_vals, "<unknown>"));
18575                 }
18576                 else
18577                 {
18578                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18579                                 val_to_str(value, RequestMessage_vals, "<unknown>"));
18580                 }
18581         }
18582
18583         if (( check_col(pinfo->cinfo, COL_INFO)) && ( codec_type != NULL ) && ( value == 3) ){
18584                 col_append_fstr(pinfo->cinfo, COL_INFO, "(%s) ", codec_type );
18585         }
18586
18587         col_set_fence(pinfo->cinfo,COL_INFO);
18588
18589         return offset;
18590 }
18591
18592
18593
18594
18595
18596 static int
18597 dissect_h245_centralizedData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18598 {
18599         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_centralizedData, ett_h245_centralizedData, dissect_h245_DataApplicationCapability );
18600         return offset;
18601 }
18602
18603
18604
18605
18606 static int
18607 dissect_h245_distributedData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18608 {
18609         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_distributedData, ett_h245_distributedData, dissect_h245_DataApplicationCapability );
18610         return offset;
18611 }
18612
18613
18614
18615 static per_sequence_t MediaDistributionCapability_sequence[] = {
18616         { "centralizedControl", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18617                 dissect_h245_centralizedControl },
18618         { "distributedControl", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18619                 dissect_h245_distributedControl },
18620         { "centralizedAudio", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18621                 dissect_h245_centralizedAudio },
18622         { "distributedAudio", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18623                 dissect_h245_distributedAudio },
18624         { "centralizedVideo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18625                 dissect_h245_centralizedVideo },
18626         { "distributedVideo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18627                 dissect_h245_distributedVideo },
18628         { "centralizedData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18629                 dissect_h245_centralizedData_sequence_of },
18630         { "distributedData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18631                 dissect_h245_distributedData_sequence_of },
18632         { NULL, 0, 0, NULL }
18633 };
18634 static int
18635 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18636 {
18637         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaDistributionCapability, ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
18638
18639         return offset;
18640 }
18641
18642
18643 static int
18644 dissect_h245_mediaDistributionCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18645 {
18646         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_mediaDistributionCapability, ett_h245_mediaDistributionCapability, dissect_h245_MediaDistributionCapability );
18647         return offset;
18648 }
18649
18650
18651
18652
18653
18654 static int
18655 dissect_h245_rtpPayloadType_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18656 {
18657         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_rtpPayloadType_sequence_of, ett_h245_rtpPayloadType_sequence_of, dissect_h245_RTPPayloadType, 1, 256 );
18658         return offset;
18659 }
18660
18661
18662
18663
18664
18665 static per_sequence_t H223ModeParameters_sequence[] = {
18666         { "adaptationLayerType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18667                 dissect_h245_H223ModeParameters_adaptationLayerType },
18668         { "segmentableFlag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18669                 dissect_h245_segmentableFlag },
18670         { NULL, 0, 0, NULL }
18671 };
18672 static int
18673 dissect_h245_H223ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18674 {
18675         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters, ett_h245_H223ModeParameters, H223ModeParameters_sequence);
18676
18677         return offset;
18678 }
18679
18680
18681
18682
18683
18684 static per_sequence_t ModeElement_sequence[] = {
18685         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18686                 dissect_h245_ModeElementType },
18687         { "h223ModeParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18688                 dissect_h245_H223ModeParameters },
18689         { "v76ModeParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18690                 dissect_h245_V76ModeParameters },
18691         { "h2250ModeParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18692                 dissect_h245_H2250ModeParameters },
18693         { "genericModeParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18694                 dissect_h245_GenericCapability },
18695         { "multiplexedStreamModeParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18696                 dissect_h245_MultiplexedStreamModeParameters },
18697         { NULL, 0, 0, NULL }
18698 };
18699 static int
18700 dissect_h245_ModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18701 {
18702         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ModeElement, ett_h245_ModeElement, ModeElement_sequence);
18703
18704         return offset;
18705 }
18706
18707
18708
18709
18710
18711 static int
18712 dissect_h245_t38FaxMaxBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18713 {
18714         offset=dissect_per_integer(tvb, offset, pinfo, tree,
18715                 hf_h245_t38FaxMaxBuffer,
18716                 NULL, NULL);
18717
18718         return offset;
18719 }
18720
18721
18722
18723 static int
18724 dissect_h245_t38FaxMaxDatagram(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18725 {
18726         offset=dissect_per_integer(tvb, offset, pinfo, tree,
18727                 hf_h245_t38FaxMaxDatagram,
18728                 NULL, NULL);
18729
18730         return offset;
18731 }
18732
18733
18734
18735
18736
18737 static per_sequence_t T38FaxUdpOptions_sequence[] = {
18738         { "t38FaxMaxBuffer", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
18739                 dissect_h245_t38FaxMaxBuffer },
18740         { "t38FaxMaxDatagram", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
18741                 dissect_h245_t38FaxMaxDatagram },
18742         { "t38FaxUdpEC", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
18743                 dissect_h245_T38FaxUdpOptions_t38FaxUdpEC },
18744         { NULL, 0, 0, NULL }
18745 };
18746 static int
18747 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18748 {
18749         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxUdpOptions, ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
18750
18751         return offset;
18752 }
18753
18754
18755
18756
18757
18758
18759 static int
18760 dissect_h245_sessionDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18761 {
18762 NOT_DECODED_YET("sessionDescription");
18763         return offset;
18764 }
18765
18766
18767
18768 static per_sequence_t CommunicationModeTableEntry_sequence[] = {
18769         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18770                 dissect_h245_nonStandardData_sequence_of },
18771         { "sessionID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18772                 dissect_h245_sessionID_1_255 },
18773         { "associatedSessionID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18774                 dissect_h245_associatedSessionID },
18775         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18776                 dissect_h245_TerminalLabel },
18777         { "sessionDescription", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18778                 dissect_h245_sessionDescription },
18779         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18780                 dissect_h245_CommunicationModeTableEntry_dataType },
18781         { "mediaChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18782                 dissect_h245_mediaChannel },
18783         { "mediaGuaranteedDelivery", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18784                 dissect_h245_mediaGuaranteedDelivery },
18785         { "mediaControlChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18786                 dissect_h245_mediaControlChannel },
18787         { "mediaControlGuaranteedDelivery", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18788                 dissect_h245_mediaControlGuaranteedDelivery },
18789         { "redundancyEncoding", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18790                 dissect_h245_RedundancyEncoding },
18791         { "sessionDependency", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18792                 dissect_h245_sessionDependency },
18793         { "destination", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18794                 dissect_h245_TerminalLabel },
18795         { NULL, 0, 0, NULL }
18796 };
18797 static int
18798 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18799 {
18800         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeTableEntry, ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
18801
18802         return offset;
18803 }
18804
18805
18806
18807
18808 static per_sequence_t NewATMVCCommand_sequence[] = {
18809         { "resouceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18810                 dissect_h245_resourceID },
18811         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18812                 dissect_h245_ATM_BitRate },
18813         { "bitRateLockedToPCRClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18814                 dissect_h245_bitRateLockedToPCRClock },
18815         { "bitRateLockedToNetworkClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18816                 dissect_h245_bitRateLockedToNetworkClock },
18817         { "aal", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18818                 dissect_h245_NewATMVCCommand_aal },
18819         { "multiplex", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18820                 dissect_h245_NewATMVCCommand_multiplex },
18821         { "reverseParameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18822                 dissect_h245_NewATMVCCommand_reverseParameters },
18823         { NULL, 0, 0, NULL }
18824 };
18825 static int
18826 dissect_h245_NewATMVCCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18827 {
18828         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand, ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
18829
18830         return offset;
18831 }
18832
18833 static const value_string CommandMessage_short_vals[] = {
18834         {  0,   "NSM" },
18835         {  1,   "MLOC" },
18836         {  2,   "STCS" },
18837         {  3,   "EC" },
18838         {  4,   "FCC" },
18839         {  5,   "ESC" },
18840         {  6,   "MC" },
18841         {  7,   "CMC" },
18842         {  8,   "CC" },
18843         {  9,   "H223MR" },
18844         { 10,   "NATMVCC" },
18845         { 11,   "MMRC" },
18846         {  0, NULL }
18847 };
18848
18849
18850
18851 static const value_string CommandMessage_vals[] = {
18852         {  0,   "NonStandardMessage" },
18853         {  1,   "MaintenanceLoopOffCommand" },
18854         {  2,   "SendTerminalCapabilitySet" },
18855         {  3,   "EncryptionCommand" },
18856         {  4,   "FlowControlCommand" },
18857         {  5,   "EndSessionCommand" },
18858         {  6,   "MiscellaneousCommand" },
18859         {  7,   "CommunicationModeCommand" },
18860         {  8,   "ConferenceCommand" },
18861         {  9,   "H223MultiplexReconfiguration" },
18862         { 10,   "NewATMVCCommand" },
18863         { 11,   "MobileMultilinkReconfigurationCommand" },
18864         {  0, NULL }
18865 };
18866 static per_choice_t CommandMessage_choice[] = {
18867         {  0,   "NonStandardMessage",           ASN1_EXTENSION_ROOT,
18868                         dissect_h245_NonStandardMessage },
18869         {  1,   "MaintenanceLoopOffCommand",    ASN1_EXTENSION_ROOT,
18870                         dissect_h245_MaintenanceLoopOffCommand },
18871         {  2,   "SendTerminalCapabilitySet",    ASN1_EXTENSION_ROOT,
18872                         dissect_h245_SendTerminalCapabilitySet },
18873         {  3,   "EncryptionCommand",            ASN1_EXTENSION_ROOT,
18874                         dissect_h245_EncryptionCommand },
18875         {  4,   "FlowControlCommand",           ASN1_EXTENSION_ROOT,
18876                         dissect_h245_FlowControlCommand },
18877         {  5,   "EndSessionCommand",            ASN1_EXTENSION_ROOT,
18878                         dissect_h245_EndSessionCommand },
18879         {  6,   "MiscellaneousCommand",         ASN1_EXTENSION_ROOT,
18880                         dissect_h245_MiscellaneousCommand },
18881         {  7,   "CommunicationModeCommand",     ASN1_NOT_EXTENSION_ROOT,
18882                         dissect_h245_CommunicationModeCommand },
18883         {  8,   "ConferenceCommand",            ASN1_NOT_EXTENSION_ROOT,
18884                         dissect_h245_ConferenceCommand },
18885         {  9,   "H223MultiplexReconfiguration", ASN1_NOT_EXTENSION_ROOT,
18886                         dissect_h245_H223MultiplexReconfiguration },
18887         { 10,   "NewATMVCCommand",              ASN1_NOT_EXTENSION_ROOT,
18888                         dissect_h245_NewATMVCCommand },
18889         { 11,   "MobileMultilinkReconfigurationCommand",ASN1_NOT_EXTENSION_ROOT,
18890                         dissect_h245_MobileMultilinkReconfigurationCommand },
18891         {  0, NULL, 0, NULL }
18892 };
18893 static int
18894 dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18895 {
18896         guint32 value;
18897
18898         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommandMessage_type, ett_h245_CommandMessage, CommandMessage_choice, "CommandMessage", &value);
18899
18900         if (check_col(pinfo->cinfo, COL_INFO)){
18901                 if ( h245_shorttypes == TRUE )
18902                 {
18903                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18904                                 val_to_str(value, CommandMessage_short_vals, "<unknown>"));
18905                 }
18906                 else
18907                 {
18908                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18909                                 val_to_str(value, CommandMessage_vals, "<unknown>"));
18910                 }
18911         }
18912
18913         col_set_fence(pinfo->cinfo,COL_INFO);
18914
18915         return offset;
18916 }
18917
18918
18919
18920
18921 static const value_string ResponseMessage_short_vals[] = {
18922         {  0,   "NSM" },
18923         {  1,   "MSDAck" },
18924         {  2,   "MSDReject" },
18925         {  3,   "TCSAck" },
18926         {  4,   "TCSReject" },
18927         {  5,   "OLCAck" },
18928         {  6,   "OLCReject" },
18929         {  7,   "CLCAck" },
18930         {  8,   "RCCAck" },
18931         {  9,   "RCCReject" },
18932         { 10,   "MESAck" },
18933         { 11,   "MESReject" },
18934         { 12,   "RMEAck" },
18935         { 13,   "RMEReject" },
18936         { 14,   "RMAck" },
18937         { 15,   "RMReject" },
18938         { 16,   "RTDResponse" },
18939         { 17,   "MLAck" },
18940         { 18,   "MLReject" },
18941         { 19,   "CMResponse" },
18942         { 20,   "CResponse" },
18943         { 21,   "MResponse" },
18944         { 22,   "LCRAck" },
18945         { 23,   "LCRReject" },
18946         {  0, NULL }
18947 };
18948
18949
18950 static const value_string ResponseMessage_vals[] = {
18951         {  0,   "NonStandardMessage" },
18952         {  1,   "MasterSlaveDeterminationAck" },
18953         {  2,   "MasterSlaveDeterminationReject" },
18954         {  3,   "TerminalCapabilitySetAck" },
18955         {  4,   "TerminalCapabilitySetReject" },
18956         {  5,   "OpenLogicalChannelAck" },
18957         {  6,   "OpenLogicalChannelReject" },
18958         {  7,   "CloseLogicalChannelAck" },
18959         {  8,   "RequestChannelCloseAck" },
18960         {  9,   "RequestChannelCloseReject" },
18961         { 10,   "MultiplexEntrySendAck" },
18962         { 11,   "MultiplexEntrySendReject" },
18963         { 12,   "RequestMultiplexEntryAck" },
18964         { 13,   "RequestMultiplexEntryReject" },
18965         { 14,   "RequestModeAck" },
18966         { 15,   "RequestModeReject" },
18967         { 16,   "RoundTripDelayResponse" },
18968         { 17,   "MaintenanceLoopAck" },
18969         { 18,   "MaintenanceLoopReject" },
18970         { 19,   "CommunicationModeResponse" },
18971         { 20,   "ConferenceResponse" },
18972         { 21,   "MultilinkResponse" },
18973         { 22,   "LogicalChannelRateAck" },
18974         { 23,   "LogicalChannelRateReject" },
18975         {  0, NULL }
18976 };
18977 static per_choice_t ResponseMessage_choice[] = {
18978         {  0,   "NonStandardMessage",           ASN1_EXTENSION_ROOT,
18979                         dissect_h245_NonStandardMessage },
18980         {  1,   "MasterSlaveDeterminationAck",  ASN1_EXTENSION_ROOT,
18981                         dissect_h245_MasterSlaveDeterminationAck },
18982         {  2,   "MasterSlaveDeterminationReject",ASN1_EXTENSION_ROOT,
18983                         dissect_h245_MasterSlaveDeterminationReject },
18984         {  3,   "TerminalCapabilitySetAck",     ASN1_EXTENSION_ROOT,
18985                         dissect_h245_TerminalCapabilitySetAck },
18986         {  4,   "TerminalCapabilitySetReject",  ASN1_EXTENSION_ROOT,
18987                         dissect_h245_TerminalCapabilitySetReject },
18988         {  5,   "OpenLogicalChannelAck",        ASN1_EXTENSION_ROOT,
18989                         dissect_h245_OpenLogicalChannelAck },
18990         {  6,   "OpenLogicalChannelReject",     ASN1_EXTENSION_ROOT,
18991                         dissect_h245_OpenLogicalChannelReject },
18992         {  7,   "CloseLogicalChannelAck",       ASN1_EXTENSION_ROOT,
18993                         dissect_h245_CloseLogicalChannelAck },
18994         {  8,   "RequestChannelCloseAck",       ASN1_EXTENSION_ROOT,
18995                         dissect_h245_RequestChannelCloseAck },
18996         {  9,   "RequestChannelCloseReject",    ASN1_EXTENSION_ROOT,
18997                         dissect_h245_RequestChannelCloseReject },
18998         { 10,   "MultiplexEntrySendAck",        ASN1_EXTENSION_ROOT,
18999                         dissect_h245_MultiplexEntrySendAck },
19000         { 11,   "MultiplexEntrySendReject",     ASN1_EXTENSION_ROOT,
19001                         dissect_h245_MultiplexEntrySendReject },
19002         { 12,   "RequestMultiplexEntryAck",     ASN1_EXTENSION_ROOT,
19003                         dissect_h245_RequestMultiplexEntryAck },
19004         { 13,   "RequestMultiplexEntryReject",  ASN1_EXTENSION_ROOT,
19005                         dissect_h245_RequestMultiplexEntryReject },
19006         { 14,   "RequestModeAck",               ASN1_EXTENSION_ROOT,
19007                         dissect_h245_RequestModeAck },
19008         { 15,   "RequestModeReject",            ASN1_EXTENSION_ROOT,
19009                         dissect_h245_RequestModeReject },
19010         { 16,   "RoundTripDelayResponse",       ASN1_EXTENSION_ROOT,
19011                         dissect_h245_RoundTripDelayResponse },
19012         { 17,   "MaintenanceLoopAck",           ASN1_EXTENSION_ROOT,
19013                         dissect_h245_MaintenanceLoopAck },
19014         { 18,   "MaintenanceLoopReject",        ASN1_EXTENSION_ROOT,
19015                         dissect_h245_MaintenanceLoopReject },
19016         { 19,   "CommunicationModeResponse",    ASN1_NOT_EXTENSION_ROOT,
19017                         dissect_h245_CommunicationModeResponse },
19018         { 20,   "ConferenceResponse",           ASN1_NOT_EXTENSION_ROOT,
19019                         dissect_h245_ConferenceResponse },
19020         { 21,   "MultilinkResponse",            ASN1_NOT_EXTENSION_ROOT,
19021                         dissect_h245_MultilinkResponse },
19022         { 22,   "LogicalChannelRateAck",        ASN1_NOT_EXTENSION_ROOT,
19023                         dissect_h245_LogicalChannelRateAck },
19024         { 23,   "LogicalChannelRateReject",     ASN1_NOT_EXTENSION_ROOT,
19025                         dissect_h245_LogicalChannelRateReject },
19026         {  0, NULL, 0, NULL }
19027 };
19028 static int
19029 dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19030 {
19031         guint32 value;
19032
19033         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ResponseMessage_type, ett_h245_ResponseMessage, ResponseMessage_choice, "ResponseMessage", &value);
19034
19035         if (check_col(pinfo->cinfo, COL_INFO)){
19036                 if ( h245_shorttypes == TRUE )
19037                 {
19038                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
19039                                 val_to_str(value, ResponseMessage_short_vals, "<unknown>"));
19040                 }
19041                 else
19042                 {
19043                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
19044                                 val_to_str(value, ResponseMessage_vals, "<unknown>"));
19045                 }
19046         }
19047
19048         col_set_fence(pinfo->cinfo,COL_INFO);
19049
19050         return offset;
19051 }
19052
19053
19054
19055
19056
19057
19058 static int
19059 dissect_h245_DialingInformationNumber_networkAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19060 {
19061         offset=dissect_per_NumericString(tvb, offset, pinfo, tree, hf_h245_DialingInformationNumber_networkAddress, 0, 40);
19062
19063         return offset;
19064 }
19065
19066
19067
19068
19069 static int
19070 dissect_h245_DialingInformationNumber_subAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19071 {
19072         offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_subAddress, 0, 40);
19073
19074         return offset;
19075 }
19076
19077
19078
19079 static per_sequence_t DialingInformationNumber_sequence[] = {
19080         { "networkAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
19081                 dissect_h245_DialingInformationNumber_networkAddress },
19082         { "subAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
19083                 dissect_h245_DialingInformationNumber_subAddress },
19084         { "networkType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
19085                 dissect_h245_networkType },
19086         { NULL, 0, 0, NULL }
19087 };
19088 static int
19089 dissect_h245_DialingInformationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19090 {
19091         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DialingInformationNumber, ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
19092
19093         return offset;
19094 }
19095
19096
19097 static const value_string MultimediaSystemControlMessage_vals[] = {
19098         { 0,    "Request" },
19099         { 1,    "Response" },
19100         { 2,    "Command" },
19101         { 3,    "Indication" },
19102         { 0, NULL }
19103 };
19104 static per_choice_t MultimediaSystemControlMessage_choice[] = {
19105         { 0,    "Request",      ASN1_EXTENSION_ROOT,
19106                         dissect_h245_RequestMessage },
19107         { 1,    "Response",     ASN1_EXTENSION_ROOT,
19108                         dissect_h245_ResponseMessage },
19109         { 2,    "Command",      ASN1_EXTENSION_ROOT,
19110                         dissect_h245_CommandMessage },
19111         { 3,    "Indication",   ASN1_EXTENSION_ROOT,
19112                         dissect_h245_IndicationMessage },
19113         { 0, NULL, 0, NULL }
19114 };
19115 void
19116 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
19117 {
19118         proto_item *it;
19119         proto_tree *tr;
19120         guint32 offset=0;
19121         guint32 value;
19122
19123         if (check_col(pinfo->cinfo, COL_PROTOCOL)){
19124                 col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.245");
19125         }
19126
19127         it=proto_tree_add_protocol_format(tree, proto_h245, tvb, 0, tvb_length(tvb), "H.245");
19128         tr=proto_item_add_subtree(it, ett_h245);
19129
19130         /* this code is called from at least TPKT (over TCP) and
19131            MEGACO.  Over MEGACO there is no framing so we just have to assume
19132            that as long as we havent run out of TVB data, there is more
19133            MSCM PDUsa to decode.
19134         */
19135         while(tvb_length_remaining(tvb, offset>>3)>0){
19136                 offset=dissect_per_choice(tvb, offset, pinfo, tr, hf_h245_pdu_type, ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice, "MultimediaSystemControlMessage", &value);
19137                 /* align next PDU to octet boundary */
19138                 if(offset&0x07){
19139                         offset=(offset&0xfffffff8)+8;
19140                 }
19141         }
19142 }
19143
19144
19145
19146
19147
19148
19149 void
19150 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
19151 {
19152         dissect_tpkt_encap(tvb, pinfo, tree, h245_reassembly, MultimediaSystemControlMessage_handle);
19153 }
19154
19155 void
19156 proto_register_h245(void)
19157 {
19158         static hf_register_info hf[] =
19159         {
19160         { &hf_h245_pdu_type,
19161                 { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
19162                 VALS(MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
19163         { &hf_h245_IndicationMessage_type,
19164                 { "Indication Type", "h245.indication_type", FT_UINT32, BASE_DEC,
19165                 VALS(IndicationMessage_vals), 0, "Type of Indication", HFILL }},
19166         { &hf_h245_RequestMessage_type,
19167                 { "Request Type", "h245.request_type", FT_UINT32, BASE_DEC,
19168                 VALS(RequestMessage_vals), 0, "Type of Request", HFILL }},
19169         { &hf_h245_ResponseMessage_type,
19170                 { "Response Type", "h245.response_type", FT_UINT32, BASE_DEC,
19171                 VALS(ResponseMessage_vals), 0, "Type of Response", HFILL }},
19172         { &hf_h245_CommandMessage_type,
19173                 { "Command Type", "h245.command_type", FT_UINT32, BASE_DEC,
19174                 VALS(CommandMessage_vals), 0, "Type of Command", HFILL }},
19175         { &hf_h245_EndSessionCommand_type,
19176                 { "EndSessionCommand type", "h245.endsessioncommand_type", FT_UINT32, BASE_DEC,
19177                 VALS(EndSessionCommand_vals), 0, "Type of EndSessionCommand", HFILL }},
19178         { &hf_h245_PixelAspectCode,
19179                 { "PixelAspectCode", "h245.PixelAspectCode", FT_UINT32, BASE_DEC,
19180                 NULL, 0, "PixelAspectCode", HFILL }},
19181         { &hf_h245_LogicalChannelNumber,
19182                 { "LogicalChannelNumber", "h245.logicalchannelnumber", FT_UINT32, BASE_DEC,
19183                 NULL, 0, "LogicalChannelNumber", HFILL }},
19184         { &hf_h245_SequenceNumber,
19185                 { "SequenceNumber", "h245.sequencenumber", FT_UINT32, BASE_DEC,
19186                 NULL, 0, "SequenceNumber", HFILL }},
19187         { &hf_h245_OpenLogicalChannelConfirm,
19188                 { "OpenLogicalChannelConfirm", "h245.openlogicalchannelconfirm", FT_NONE, BASE_NONE,
19189                 NULL, 0, "OpenLogicalChannelConfirm sequence", HFILL }},
19190         { &hf_h245_MobileMultilinkReconfigurationIndication,
19191                 { "MobileMultilinkReconfigurationIndication", "h245.MobileMultilinkReconfigurationIndication", FT_NONE, BASE_NONE,
19192                 NULL, 0, "MobileMultilinkReconfigurationIndication sequence", HFILL }},
19193         { &hf_h245_FlowControlIndication,
19194                 { "FlowControlIndication", "h245.FlowControlIndication", FT_NONE, BASE_NONE,
19195                 NULL, 0, "FlowControlIndication sequence", HFILL }},
19196         { &hf_h245_UserInputIndication_extendedAlphanumeric,
19197                 { "UserInputIndication_extendedAlphanumeric", "h245.UserInputIndication_extendedAlphanumeric", FT_NONE, BASE_NONE,
19198                 NULL, 0, "UserInputIndication_extendedAlphanumeric sequence", HFILL }},
19199         { &hf_h245_UserInputIndication_signalUpdate_rtp,
19200                 { "UserInputIndication_signalUpdate_rtp", "h245.UserInputIndication_signalUpdate_rtp", FT_NONE, BASE_NONE,
19201                 NULL, 0, "UserInputIndication_signalUpdate_rtp sequence", HFILL }},
19202         { &hf_h245_UserInputIndication_signalUpdate,
19203                 { "UserInputIndication_signalUpdate", "h245.UserInputIndication_signalUpdate", FT_NONE, BASE_NONE,
19204                 NULL, 0, "UserInputIndication_signalUpdate sequence", HFILL }},
19205         { &hf_h245_UserInputIndication_signal_rtp,
19206                 { "UserInputIndication_signal_rtp", "h245.UserInputIndication_signal_rtp", FT_NONE, BASE_NONE,
19207                 NULL, 0, "UserInputIndication_signal_rtp sequence", HFILL }},
19208         { &hf_h245_UserInputIndication_signal,
19209                 { "UserInputIndication_signal", "h245.UserInputIndication_signal", FT_NONE, BASE_NONE,
19210                 NULL, 0, "UserInputIndication_signal sequence", HFILL }},
19211         { &hf_h245_NewATMVCIndication_reverseParameters,
19212                 { "NewATMVCIndication_reverseParameters", "h245.NewATMVCIndication_reverseParameters", FT_NONE, BASE_NONE,
19213                 NULL, 0, "NewATMVCIndication_reverseParameters sequence", HFILL }},
19214         { &hf_h245_NewATMVCIndication_aal_aal5,
19215                 { "NewATMVCIndication_aal_aal5", "h245.NewATMVCIndication_aal_aal5", FT_NONE, BASE_NONE,
19216                 NULL, 0, "NewATMVCIndication_aal_aal5 sequence", HFILL }},
19217         { &hf_h245_NewATMVCIndication_aal_aal1,
19218                 { "NewATMVCIndication_aal_aal1", "h245.NewATMVCIndication_aal_aal1", FT_NONE, BASE_NONE,
19219                 NULL, 0, "NewATMVCIndication_aal_aal1 sequence", HFILL }},
19220         { &hf_h245_NewATMVCIndication,
19221                 { "NewATMVCIndication", "h245.NewATMVCIndication", FT_NONE, BASE_NONE,
19222                 NULL, 0, "NewATMVCIndication sequence", HFILL }},
19223         { &hf_h245_VendorIdentification,
19224                 { "VendorIdentification", "h245.VendorIdentification", FT_NONE, BASE_NONE,
19225                 NULL, 0, "VendorIdentification sequence", HFILL }},
19226         { &hf_h245_MCLocationIndication,
19227                 { "MCLocationIndication", "h245.MCLocationIndication", FT_NONE, BASE_NONE,
19228                 NULL, 0, "MCLocationIndication sequence", HFILL }},
19229         { &hf_h245_H2250MaximumSkewIndication,
19230                 { "H2250MaximumSkewIndication", "h245.H2250MaximumSkewIndication", FT_NONE, BASE_NONE,
19231                 NULL, 0, "H2250MaximumSkewIndication sequence", HFILL }},
19232         { &hf_h245_H223SkewIndication,
19233                 { "H223SkewIndication", "h245.H223SkewIndication", FT_NONE, BASE_NONE,
19234                 NULL, 0, "H223SkewIndication sequence", HFILL }},
19235         { &hf_h245_JitterIndication,
19236                 { "JitterIndication", "h245.JitterIndication", FT_NONE, BASE_NONE,
19237                 NULL, 0, "JitterIndication sequence", HFILL }},
19238         { &hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs,
19239                 { "MiscellaneousIndication_type_videoNotDecodedMBs", "h245.MiscellaneousIndication_type_videoNotDecodedMBs", FT_NONE, BASE_NONE,
19240                 NULL, 0, "MiscellaneousIndication_type_videoNotDecodedMBs sequence", HFILL }},
19241         { &hf_h245_MiscellaneousIndication,
19242                 { "MiscellaneousIndication", "h245.MiscellaneousIndication", FT_NONE, BASE_NONE,
19243                 NULL, 0, "MiscellaneousIndication sequence", HFILL }},
19244         { &hf_h245_VideoIndicateCompose,
19245                 { "VideoIndicateCompose", "h245.VideoIndicateCompose", FT_NONE, BASE_NONE,
19246                 NULL, 0, "VideoIndicateCompose sequence", HFILL }},
19247         { &hf_h245_TerminalYouAreSeeingInSubPictureNumber,
19248                 { "TerminalYouAreSeeingInSubPictureNumber", "h245.TerminalYouAreSeeingInSubPictureNumber", FT_NONE, BASE_NONE,
19249                 NULL, 0, "TerminalYouAreSeeingInSubPictureNumber sequence", HFILL }},
19250         { &hf_h245_FunctionNotSupported,
19251                 { "FunctionNotSupported", "h245.FunctionNotSupported", FT_NONE, BASE_NONE,
19252                 NULL, 0, "FunctionNotSupported sequence", HFILL }},
19253         { &hf_h245_MobileMultilinkReconfigurationCommand,
19254                 { "MobileMultilinkReconfigurationCommand", "h245.MobileMultilinkReconfigurationCommand", FT_NONE, BASE_NONE,
19255                 NULL, 0, "MobileMultilinkReconfigurationCommand sequence", HFILL }},
19256         { &hf_h245_NewATMVCCommand_reverseParameters,
19257                 { "NewATMVCCommand_reverseParameters", "h245.NewATMVCCommand_reverseParameters", FT_NONE, BASE_NONE,
19258                 NULL, 0, "NewATMVCCommand_reverseParameters sequence", HFILL }},
19259         { &hf_h245_NewATMVCCommand,
19260                 { "NewATMVCCommand", "h245.NewATMVCCommand", FT_NONE, BASE_NONE,
19261                 NULL, 0, "NewATMVCCommand sequence", HFILL }},
19262         { &hf_h245_NewATMVCCommand_aal_aal5,
19263                 { "NewATMVCCommand_aal_aal5", "h245.NewATMVCCommand_aal_aal5", FT_NONE, BASE_NONE,
19264                 NULL, 0, "NewATMVCCommand_aal_aal5 sequence", HFILL }},
19265         { &hf_h245_NewATMVCCommand_aal_aal1,
19266                 { "NewATMVCCommand_aal_aal1", "h245.NewATMVCCommand_aal_aal1", FT_NONE, BASE_NONE,
19267                 NULL, 0, "NewATMVCCommand_aal_aal1 sequence", HFILL }},
19268         { &hf_h245_EncryptionUpdateRequest,
19269                 { "EncryptionUpdateRequest", "h245.EncryptionUpdateRequest", FT_NONE, BASE_NONE,
19270                 NULL, 0, "EncryptionUpdateRequest sequence", HFILL }},
19271         { &hf_h245_KeyProtectionMethod,
19272                 { "KeyProtectionMethod", "h245.KeyProtectionMethod", FT_NONE, BASE_NONE,
19273                 NULL, 0, "KeyProtectionMethod sequence", HFILL }},
19274         { &hf_h245_MiscellaneousCommand_type_lostPartialPicture,
19275                 { "MiscellaneousCommand_type_lostPartialPicture", "h245.MiscellaneousCommand_type_lostPartialPicture", FT_NONE, BASE_NONE,
19276                 NULL, 0, "MiscellaneousCommand_type_lostPartialPicture sequence", HFILL }},
19277         { &hf_h245_MiscellaneousCommand_type_videoBadMBs,
19278                 { "MiscellaneousCommand_type_videoBadMBs", "h245.MiscellaneousCommand_type_videoBadMBs", FT_NONE, BASE_NONE,
19279                 NULL, 0, "MiscellaneousCommand_type_videoBadMBs sequence", HFILL }},
19280         { &hf_h245_MiscellaneousCommand_type_progressiveRefinementStart,
19281                 { "MiscellaneousCommand_type_progressiveRefinementStart", "h245.MiscellaneousCommand_type_progressiveRefinementStart", FT_NONE, BASE_NONE,
19282                 NULL, 0, "MiscellaneousCommand_type_progressiveRefinementStart sequence", HFILL }},
19283         { &hf_h245_MiscellaneousCommand_type_videoFastUpdateMB,
19284                 { "MiscellaneousCommand_type_videoFastUpdateMB", "h245.MiscellaneousCommand_type_videoFastUpdateMB", FT_NONE, BASE_NONE,
19285                 NULL, 0, "MiscellaneousCommand_type_videoFastUpdateMB sequence", HFILL }},
19286         { &hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB,
19287                 { "MiscellaneousCommand_type_videoFastUpdateGOB", "h245.MiscellaneousCommand_type_videoFastUpdateGOB", FT_NONE, BASE_NONE,
19288                 NULL, 0, "MiscellaneousCommand_type_videoFastUpdateGOB sequence", HFILL }},
19289         { &hf_h245_MiscellaneousCommand,
19290                 { "MiscellaneousCommand", "h245.MiscellaneousCommand", FT_NONE, BASE_NONE,
19291                 NULL, 0, "MiscellaneousCommand sequence", HFILL }},
19292         { &hf_h245_SubstituteConferenceIDCommand,
19293                 { "SubstituteConferenceIDCommand", "h245.SubstituteConferenceIDCommand", FT_NONE, BASE_NONE,
19294                 NULL, 0, "SubstituteConferenceIDCommand sequence", HFILL }},
19295         { &hf_h245_FlowControlCommand,
19296                 { "FlowControlCommand", "h245.FlowControlCommand", FT_NONE, BASE_NONE,
19297                 NULL, 0, "FlowControlCommand sequence", HFILL }},
19298         { &hf_h245_EncryptionCommand_encryptionAlgorithmID,
19299                 { "EncryptionCommand_encryptionAlgorithmID", "h245.EncryptionCommand_encryptionAlgorithmID", FT_NONE, BASE_NONE,
19300                 NULL, 0, "EncryptionCommand_encryptionAlgorithmID sequence", HFILL }},
19301         { &hf_h245_SendTerminalCapabilitySet_specificRequest,
19302                 { "SendTerminalCapabilitySet_specificRequest", "h245.SendTerminalCapabilitySet_specificRequest", FT_NONE, BASE_NONE,
19303                 NULL, 0, "SendTerminalCapabilitySet_specificRequest sequence", HFILL }},
19304         { &hf_h245_LogicalChannelRateRelease,
19305                 { "LogicalChannelRateRelease", "h245.LogicalChannelRateRelease", FT_NONE, BASE_NONE,
19306                 NULL, 0, "LogicalChannelRateRelease sequence", HFILL }},
19307         { &hf_h245_LogicalChannelRateReject,
19308                 { "LogicalChannelRateReject", "h245.LogicalChannelRateReject", FT_NONE, BASE_NONE,
19309                 NULL, 0, "LogicalChannelRateReject sequence", HFILL }},
19310         { &hf_h245_LogicalChannelRateAck,
19311                 { "LogicalChannelRateAck", "h245.LogicalChannelRateAck", FT_NONE, BASE_NONE,
19312                 NULL, 0, "LogicalChannelRateAck sequence", HFILL }},
19313         { &hf_h245_LogicalChannelRateRequest,
19314                 { "LogicalChannelRateRequest", "h245.LogicalChannelRateRequest", FT_NONE, BASE_NONE,
19315                 NULL, 0, "LogicalChannelRateRequest sequence", HFILL }},
19316         { &hf_h245_ConnectionIdentifier,
19317                 { "ConnectionIdentifier", "h245.ConnectionIdentifier", FT_NONE, BASE_NONE,
19318                 NULL, 0, "ConnectionIdentifier sequence", HFILL }},
19319         { &hf_h245_DialingInformationNumber,
19320                 { "DialingInformationNumber", "h245.DialingInformationNumber", FT_NONE, BASE_NONE,
19321                 NULL, 0, "DialingInformationNumber sequence", HFILL }},
19322         { &hf_h245_MultilinkIndication_excessiveError,
19323                 { "MultilinkIndication_excessiveError", "h245.MultilinkIndication_excessiveError", FT_NONE, BASE_NONE,
19324                 NULL, 0, "MultilinkIndication_excessiveError sequence", HFILL }},
19325         { &hf_h245_MultilinkIndication_crcDesired,
19326                 { "MultilinkIndication_crcDesired", "h245.MultilinkIndication_crcDesired", FT_NONE, BASE_NONE,
19327                 NULL, 0, "MultilinkIndication_crcDesired sequence", HFILL }},
19328         { &hf_h245_MultilinkResponse_maximumHeaderInterval,
19329                 { "MultilinkResponse_maximumHeaderInterval", "h245.MultilinkResponse_maximumHeaderInterval", FT_NONE, BASE_NONE,
19330                 NULL, 0, "MultilinkResponse_maximumHeaderInterval sequence", HFILL }},
19331         { &hf_h245_MultilinkResponse_removeConnection,
19332                 { "MultilinkResponse_removeConnection", "h245.MultilinkResponse_removeConnection", FT_NONE, BASE_NONE,
19333                 NULL, 0, "MultilinkResponse_removeConnection sequence", HFILL }},
19334         { &hf_h245_MultilinkResponse_addConnection,
19335                 { "MultilinkResponse_addConnection", "h245.MultilinkResponse_addConnection", FT_NONE, BASE_NONE,
19336                 NULL, 0, "MultilinkResponse_addConnection sequence", HFILL }},
19337         { &hf_h245_MultilinkResponse_callInformation,
19338                 { "MultilinkResponse_callInformation", "h245.MultilinkResponse_callInformation", FT_NONE, BASE_NONE,
19339                 NULL, 0, "MultilinkResponse_callInformation sequence", HFILL }},
19340         { &hf_h245_MultilinkRequest_maximumHeaderInterval,
19341                 { "MultilinkRequest_maximumHeaderInterval", "h245.MultilinkRequest_maximumHeaderInterval", FT_NONE, BASE_NONE,
19342                 NULL, 0, "MultilinkRequest_maximumHeaderInterval sequence", HFILL }},
19343         { &hf_h245_MultilinkRequest_removeConnection,
19344                 { "MultilinkRequest_removeConnection", "h245.MultilinkRequest_removeConnection", FT_NONE, BASE_NONE,
19345                 NULL, 0, "MultilinkRequest_removeConnection sequence", HFILL }},
19346         { &hf_h245_MultilinkRequest_addConnection,
19347                 { "MultilinkRequest_addConnection", "h245.MultilinkRequest_addConnection", FT_NONE, BASE_NONE,
19348                 NULL, 0, "MultilinkRequest_addConnection sequence", HFILL }},
19349         { &hf_h245_MultilinkRequest_callInformation,
19350                 { "MultilinkRequest_callInformation", "h245.MultilinkRequest_callInformation", FT_NONE, BASE_NONE,
19351                 NULL, 0, "MultilinkRequest_callInformation sequence", HFILL }},
19352         { &hf_h245_TerminalInformation,
19353                 { "TerminalInformation", "h245.TerminalInformation", FT_NONE, BASE_NONE,
19354                 NULL, 0, "TerminalInformation sequence", HFILL }},
19355         { &hf_h245_RequestAllTerminalIDsResponse,
19356                 { "RequestAllTerminalIDsResponse", "h245.RequestAllTerminalIDsResponse", FT_NONE, BASE_NONE,
19357                 NULL, 0, "RequestAllTerminalIDsResponse sequence", HFILL }},
19358         { &hf_h245_ConferenceResponse_terminalCertificateResponse,
19359                 { "ConferenceResponse_terminalCertificateResponse", "h245.ConferenceResponse_terminalCertificateResponse", FT_NONE, BASE_NONE,
19360                 NULL, 0, "ConferenceResponse_terminalCertificateResponse sequence", HFILL }},
19361         { &hf_h245_ConferenceResponse_chairTokenOwnerResponse,
19362                 { "ConferenceResponse_chairTokenOwnerResponse", "h245.ConferenceResponse_chairTokenOwnerResponse", FT_NONE, BASE_NONE,
19363                 NULL, 0, "ConferenceResponse_chairTokenOwnerResponse sequence", HFILL }},
19364         { &hf_h245_ConferenceResponse_extensionAddressResponse,
19365                 { "ConferenceResponse_extensionAddressResponse", "h245.ConferenceResponse_extensionAddressResponse", FT_NONE, BASE_NONE,
19366                 NULL, 0, "ConferenceResponse_extensionAddressResponse sequence", HFILL }},
19367         { &hf_h245_ConferenceResponse_passwordResponse,
19368                 { "ConferenceResponse_passwordResponse", "h245.ConferenceResponse_passwordResponse", FT_NONE, BASE_NONE,
19369                 NULL, 0, "ConferenceResponse_passwordResponse sequence", HFILL }},
19370         { &hf_h245_ConferenceResponse_conferenceIDResponse,
19371                 { "ConferenceResponse_conferenceIDResponse", "h245.ConferenceResponse_conferenceIDResponse", FT_NONE, BASE_NONE,
19372                 NULL, 0, "ConferenceResponse_conferenceIDResponse sequence", HFILL }},
19373         { &hf_h245_ConferenceResponse_terminalIDResponse,
19374                 { "ConferenceResponse_terminalIDResponse", "h245.ConferenceResponse_terminalIDResponse", FT_NONE, BASE_NONE,
19375                 NULL, 0, "ConferenceResponse_terminalIDResponse sequence", HFILL }},
19376         { &hf_h245_ConferenceResponse_mCterminalIDResponse,
19377                 { "ConferenceResponse_mCterminalIDResponse", "h245.ConferenceResponse_mCterminalIDResponse", FT_NONE, BASE_NONE,
19378                 NULL, 0, "ConferenceResponse_mCterminalIDResponse sequence", HFILL }},
19379         { &hf_h245_TerminalLabel,
19380                 { "TerminalLabel", "h245.TerminalLabel", FT_NONE, BASE_NONE,
19381                 NULL, 0, "TerminalLabel sequence", HFILL }},
19382         { &hf_h245_Criteria,
19383                 { "Criteria", "h245.Criteria", FT_NONE, BASE_NONE,
19384                 NULL, 0, "Criteria sequence", HFILL }},
19385         { &hf_h245_ConferenceRequest_requestTerminalCertificate,
19386                 { "ConferenceRequest_requestTerminalCertificate", "h245.ConferenceRequest_requestTerminalCertificate", FT_NONE, BASE_NONE,
19387                 NULL, 0, "ConferenceRequest_requestTerminalCertificate sequence", HFILL }},
19388         { &hf_h245_CommunicationModeTableEntry,
19389                 { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry", FT_NONE, BASE_NONE,
19390                 NULL, 0, "CommunicationModeTableEntry sequence", HFILL }},
19391         { &hf_h245_CommunicationModeRequest,
19392                 { "CommunicationModeRequest", "h245.CommunicationModeRequest", FT_NONE, BASE_NONE,
19393                 NULL, 0, "CommunicationModeRequest sequence", HFILL }},
19394         { &hf_h245_CommunicationModeCommand,
19395                 { "CommunicationModeCommand", "h245.CommunicationModeCommand", FT_NONE, BASE_NONE,
19396                 NULL, 0, "CommunicationModeCommand sequence", HFILL }},
19397         { &hf_h245_MaintenanceLoopOffCommand,
19398                 { "MaintenanceLoopOffCommand", "h245.MaintenanceLoopOffCommand", FT_NONE, BASE_NONE,
19399                 NULL, 0, "MaintenanceLoopOffCommand sequence", HFILL }},
19400         { &hf_h245_MaintenanceLoopReject,
19401                 { "MaintenanceLoopReject", "h245.MaintenanceLoopReject", FT_NONE, BASE_NONE,
19402                 NULL, 0, "MaintenanceLoopReject sequence", HFILL }},
19403         { &hf_h245_MaintenanceLoopAck,
19404                 { "MaintenanceLoopAck", "h245.MaintenanceLoopAck", FT_NONE, BASE_NONE,
19405                 NULL, 0, "MaintenanceLoopAck sequence", HFILL }},
19406         { &hf_h245_MaintenanceLoopRequest,
19407                 { "MaintenanceLoopRequest", "h245.MaintenanceLoopRequest", FT_NONE, BASE_NONE,
19408                 NULL, 0, "MaintenanceLoopRequest sequence", HFILL }},
19409         { &hf_h245_RoundTripDelayResponse,
19410                 { "RoundTripDelayResponse", "h245.RoundTripDelayResponse", FT_NONE, BASE_NONE,
19411                 NULL, 0, "RoundTripDelayResponse sequence", HFILL }},
19412         { &hf_h245_RoundTripDelayRequest,
19413                 { "RoundTripDelayRequest", "h245.RoundTripDelayRequest", FT_NONE, BASE_NONE,
19414                 NULL, 0, "RoundTripDelayRequest sequence", HFILL }},
19415         { &hf_h245_DataMode_application_t38fax,
19416                 { "DataMode_application_t38fax", "h245.DataMode_application_t38fax", FT_NONE, BASE_NONE,
19417                 NULL, 0, "DataMode_application_t38fax sequence", HFILL }},
19418         { &hf_h245_DataMode_application_nlpid,
19419                 { "DataMode_application_nlpid", "h245.DataMode_application_nlpid", FT_NONE, BASE_NONE,
19420                 NULL, 0, "DataMode_application_nlpid sequence", HFILL }},
19421         { &hf_h245_DataMode,
19422                 { "DataMode", "h245.DataMode", FT_NONE, BASE_NONE,
19423                 NULL, 0, "DataMode sequence", HFILL }},
19424         { &hf_h245_VBDMode,
19425                 { "VBDMode", "h245.VBDMode", FT_NONE, BASE_NONE,
19426                 NULL, 0, "VBDMode sequence", HFILL }},
19427         { &hf_h245_G7231AnnexCMode_g723AnnexCAudioMode,
19428                 { "G7231AnnexCMode_g723AnnexCAudioMode", "h245.G7231AnnexCMode_g723AnnexCAudioMode", FT_NONE, BASE_NONE,
19429                 NULL, 0, "G7231AnnexCMode_g723AnnexCAudioMode sequence", HFILL }},
19430         { &hf_h245_G7231AnnexCMode,
19431                 { "G7231AnnexCMode", "h245.G7231AnnexCMode", FT_NONE, BASE_NONE,
19432                 NULL, 0, "G7231AnnexCMode sequence", HFILL }},
19433         { &hf_h245_IS13818AudioMode,
19434                 { "IS13818AudioMode", "h245.IS13818AudioMode", FT_NONE, BASE_NONE,
19435                 NULL, 0, "IS13818AudioMode sequence", HFILL }},
19436         { &hf_h245_IS11172AudioMode,
19437                 { "IS11172AudioMode", "h245.IS11172AudioMode", FT_NONE, BASE_NONE,
19438                 NULL, 0, "IS11172AudioMode sequence", HFILL }},
19439         { &hf_h245_IS11172VideoMode,
19440                 { "IS11172VideoMode", "h245.IS11172VideoMode", FT_NONE, BASE_NONE,
19441                 NULL, 0, "IS11172VideoMode sequence", HFILL }},
19442         { &hf_h245_H263VideoMode,
19443                 { "H263VideoMode", "h245.H263VideoMode", FT_NONE, BASE_NONE,
19444                 NULL, 0, "H263VideoMode sequence", HFILL }},
19445         { &hf_h245_H262VideoMode,
19446                 { "H262VideoMode", "h245.H262VideoMode", FT_NONE, BASE_NONE,
19447                 NULL, 0, "H262VideoMode sequence", HFILL }},
19448         { &hf_h245_H261VideoMode,
19449                 { "H261VideoMode", "h245.H261VideoMode", FT_NONE, BASE_NONE,
19450                 NULL, 0, "H261VideoMode sequence", HFILL }},
19451         { &hf_h245_RedundancyEncodingMode,
19452                 { "RedundancyEncodingMode", "h245.RedundancyEncodingMode", FT_NONE, BASE_NONE,
19453                 NULL, 0, "RedundancyEncodingMode sequence", HFILL }},
19454         { &hf_h245_H2250ModeParameters,
19455                 { "H2250ModeParameters", "h245.H2250ModeParameters", FT_NONE, BASE_NONE,
19456                 NULL, 0, "H2250ModeParameters sequence", HFILL }},
19457         { &hf_h245_H223ModeParameters_adaptationLayerType_al3,
19458                 { "H223ModeParameters_adaptationLayerType_al3", "h245.H223ModeParameters_adaptationLayerType_al3", FT_NONE, BASE_NONE,
19459                 NULL, 0, "H223ModeParameters_adaptationLayerType_al3 sequence", HFILL }},
19460         { &hf_h245_H223ModeParameters,
19461                 { "H223ModeParameters", "h245.H223ModeParameters", FT_NONE, BASE_NONE,
19462                 NULL, 0, "H223ModeParameters sequence", HFILL }},
19463         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort,
19464                 { "FECMode_rfc2733Mode_mode_separateStream_samePort", "h245.FECMode_rfc2733Mode_mode_separateStream_samePort", FT_NONE, BASE_NONE,
19465                 NULL, 0, "FECMode_rfc2733Mode_mode_separateStream_samePort sequence", HFILL }},
19466         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort,
19467                 { "FECMode_rfc2733Mode_mode_separateStream_differentPort", "h245.FECMode_rfc2733Mode_mode_separateStream_differentPort", FT_NONE, BASE_NONE,
19468                 NULL, 0, "FECMode_rfc2733Mode_mode_separateStream_differentPort sequence", HFILL }},
19469         { &hf_h245_FECMode_rfc2733Mode,
19470                 { "FECMode_rfc2733Mode", "h245.FECMode_rfc2733Mode", FT_NONE, BASE_NONE,
19471                 NULL, 0, "FECMode_rfc2733Mode sequence", HFILL }},
19472         { &hf_h245_MultiplePayloadStreamElementMode,
19473                 { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode", FT_NONE, BASE_NONE,
19474                 NULL, 0, "MultiplePayloadStreamElementMode sequence", HFILL }},
19475         { &hf_h245_MultiplePayloadStreamMode,
19476                 { "MultiplePayloadStreamMode", "h245.MultiplePayloadStreamMode", FT_NONE, BASE_NONE,
19477                 NULL, 0, "MultiplePayloadStreamMode sequence", HFILL }},
19478         { &hf_h245_RedundancyEncodingDTModeElement,
19479                 { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement", FT_NONE, BASE_NONE,
19480                 NULL, 0, "RedundancyEncodingDTModeElement sequence", HFILL }},
19481         { &hf_h245_RedundancyEncodingDTMode,
19482                 { "RedundancyEncodingDTMode", "h245.RedundancyEncodingDTMode", FT_NONE, BASE_NONE,
19483                 NULL, 0, "RedundancyEncodingDTMode sequence", HFILL }},
19484         { &hf_h245_MultiplexedStreamModeParameters,
19485                 { "MultiplexedStreamModeParameters", "h245.MultiplexedStreamModeParameters", FT_NONE, BASE_NONE,
19486                 NULL, 0, "MultiplexedStreamModeParameters sequence", HFILL }},
19487         { &hf_h245_H235Mode,
19488                 { "H235Mode", "h245.H235Mode", FT_NONE, BASE_NONE,
19489                 NULL, 0, "H235Mode sequence", HFILL }},
19490         { &hf_h245_ModeElement,
19491                 { "ModeElement", "h245.ModeElement", FT_NONE, BASE_NONE,
19492                 NULL, 0, "ModeElement sequence", HFILL }},
19493         { &hf_h245_RequestModeRelease,
19494                 { "RequestModeRelease", "h245.RequestModeRelease", FT_NONE, BASE_NONE,
19495                 NULL, 0, "RequestModeRelease sequence", HFILL }},
19496         { &hf_h245_RequestModeReject,
19497                 { "RequestModeReject", "h245.RequestModeReject", FT_NONE, BASE_NONE,
19498                 NULL, 0, "RequestModeReject sequence", HFILL }},
19499         { &hf_h245_RequestModeAck,
19500                 { "RequestModeAck", "h245.RequestModeAck", FT_NONE, BASE_NONE,
19501                 NULL, 0, "RequestModeAck sequence", HFILL }},
19502         { &hf_h245_RequestMode,
19503                 { "RequestMode", "h245.RequestMode", FT_NONE, BASE_NONE,
19504                 NULL, 0, "RequestMode sequence", HFILL }},
19505         { &hf_h245_RequestMultiplexEntryRelease,
19506                 { "RequestMultiplexEntryRelease", "h245.RequestMultiplexEntryRelease", FT_NONE, BASE_NONE,
19507                 NULL, 0, "RequestMultiplexEntryRelease sequence", HFILL }},
19508         { &hf_h245_RequestMultiplexEntryRejectionDescriptions,
19509                 { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions", FT_NONE, BASE_NONE,
19510                 NULL, 0, "RequestMultiplexEntryRejectionDescriptions sequence", HFILL }},
19511         { &hf_h245_RequestMultiplexEntryReject,
19512                 { "RequestMultiplexEntryReject", "h245.RequestMultiplexEntryReject", FT_NONE, BASE_NONE,
19513                 NULL, 0, "RequestMultiplexEntryReject sequence", HFILL }},
19514         { &hf_h245_RequestMultiplexEntryAck,
19515                 { "RequestMultiplexEntryAck", "h245.RequestMultiplexEntryAck", FT_NONE, BASE_NONE,
19516                 NULL, 0, "RequestMultiplexEntryAck sequence", HFILL }},
19517         { &hf_h245_RequestMultiplexEntry,
19518                 { "RequestMultiplexEntry", "h245.RequestMultiplexEntry", FT_NONE, BASE_NONE,
19519                 NULL, 0, "RequestMultiplexEntry sequence", HFILL }},
19520         { &hf_h245_MultiplexEntrySendRelease,
19521                 { "MultiplexEntrySendRelease", "h245.MultiplexEntrySendRelease", FT_NONE, BASE_NONE,
19522                 NULL, 0, "MultiplexEntrySendRelease sequence", HFILL }},
19523         { &hf_h245_MultiplexEntryRejectionDescriptions,
19524                 { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions", FT_NONE, BASE_NONE,
19525                 NULL, 0, "MultiplexEntryRejectionDescriptions sequence", HFILL }},
19526         { &hf_h245_MultiplexEntrySendReject,
19527                 { "MultiplexEntrySendReject", "h245.MultiplexEntrySendReject", FT_NONE, BASE_NONE,
19528                 NULL, 0, "MultiplexEntrySendReject sequence", HFILL }},
19529         { &hf_h245_MultiplexEntrySendAck,
19530                 { "MultiplexEntrySendAck", "h245.MultiplexEntrySendAck", FT_NONE, BASE_NONE,
19531                 NULL, 0, "MultiplexEntrySendAck sequence", HFILL }},
19532         { &hf_h245_MultiplexElement,
19533                 { "MultiplexElement", "h245.MultiplexElement", FT_NONE, BASE_NONE,
19534                 NULL, 0, "MultiplexElement sequence", HFILL }},
19535         { &hf_h245_MultiplexEntryDescriptor,
19536                 { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor", FT_NONE, BASE_NONE,
19537                 NULL, 0, "MultiplexEntryDescriptor sequence", HFILL }},
19538         { &hf_h245_MultiplexEntrySend,
19539                 { "MultiplexEntrySend", "h245.MultiplexEntrySend", FT_NONE, BASE_NONE,
19540                 NULL, 0, "MultiplexEntrySend sequence", HFILL }},
19541         { &hf_h245_RequestChannelCloseRelease,
19542                 { "RequestChannelCloseRelease", "h245.RequestChannelCloseRelease", FT_NONE, BASE_NONE,
19543                 NULL, 0, "RequestChannelCloseRelease sequence", HFILL }},
19544         { &hf_h245_RequestChannelCloseReject,
19545                 { "RequestChannelCloseReject", "h245.RequestChannelCloseReject", FT_NONE, BASE_NONE,
19546                 NULL, 0, "RequestChannelCloseReject sequence", HFILL }},
19547         { &hf_h245_RequestChannelCloseAck,
19548                 { "RequestChannelCloseAck", "h245.RequestChannelCloseAck", FT_NONE, BASE_NONE,
19549                 NULL, 0, "RequestChannelCloseAck sequence", HFILL }},
19550         { &hf_h245_RequestChannelClose,
19551                 { "RequestChannelClose", "h245.RequestChannelClose", FT_NONE, BASE_NONE,
19552                 NULL, 0, "RequestChannelClose sequence", HFILL }},
19553         { &hf_h245_CloseLogicalChannelAck,
19554                 { "CloseLogicalChannelAck", "h245.CloseLogicalChannelAck", FT_NONE, BASE_NONE,
19555                 NULL, 0, "CloseLogicalChannelAck sequence", HFILL }},
19556         { &hf_h245_CloseLogicalChannel,
19557                 { "CloseLogicalChannel", "h245.CloseLogicalChannel", FT_NONE, BASE_NONE,
19558                 NULL, 0, "CloseLogicalChannel sequence", HFILL }},
19559         { &hf_h245_H2250LogicalChannelAckParameters,
19560                 { "H2250LogicalChannelAckParameters", "h245.H2250LogicalChannelAckParameters", FT_NONE, BASE_NONE,
19561                 NULL, 0, "H2250LogicalChannelAckParameters sequence", HFILL }},
19562         { &hf_h245_OpenLogicalChannelReject,
19563                 { "OpenLogicalChannelReject", "h245.OpenLogicalChannelReject", FT_NONE, BASE_NONE,
19564                 NULL, 0, "OpenLogicalChannelReject sequence", HFILL }},
19565         { &hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters,
19566                 { "OpenLogicalChannelAck_reverseLogicalChannelParameters", "h245.OpenLogicalChannelAck_reverseLogicalChannelParameters", FT_NONE, BASE_NONE,
19567                 NULL, 0, "OpenLogicalChannelAck_reverseLogicalChannelParameters sequence", HFILL }},
19568         { &hf_h245_OpenLogicalChannelAck,
19569                 { "OpenLogicalChannelAck", "h245.OpenLogicalChannelAck", FT_NONE, BASE_NONE,
19570                 NULL, 0, "OpenLogicalChannelAck sequence", HFILL }},
19571         { &hf_h245_EscrowData,
19572                 { "EscrowData", "h245.EscrowData", FT_NONE, BASE_NONE,
19573                 NULL, 0, "EscrowData sequence", HFILL }},
19574         { &hf_h245_EncryptionSync,
19575                 { "EncryptionSync", "h245.EncryptionSync", FT_NONE, BASE_NONE,
19576                 NULL, 0, "EncryptionSync sequence", HFILL }},
19577         { &hf_h245_MulticastAddress_iP6Address,
19578                 { "MulticastAddress_iP6Address", "h245.MulticastAddress_iP6Address", FT_NONE, BASE_NONE,
19579                 NULL, 0, "MulticastAddress_iP6Address sequence", HFILL }},
19580         { &hf_h245_MulticastAddress_iPAddress,
19581                 { "MulticastAddress_iPAddress", "h245.MulticastAddress_iPAddress", FT_NONE, BASE_NONE,
19582                 NULL, 0, "MulticastAddress_iPAddress sequence", HFILL }},
19583         { &hf_h245_UnicastAddress_iPSourceRouteAddress,
19584                 { "UnicastAddress_iPSourceRouteAddress", "h245.UnicastAddress_iPSourceRouteAddress", FT_NONE, BASE_NONE,
19585                 NULL, 0, "UnicastAddress_iPSourceRouteAddress sequence", HFILL }},
19586         { &hf_h245_UnicastAddress_iP6Address,
19587                 { "UnicastAddress_iP6Address", "h245.UnicastAddress_iP6Address", FT_NONE, BASE_NONE,
19588                 NULL, 0, "UnicastAddress_iP6Address sequence", HFILL }},
19589         { &hf_h245_UnicastAddress_iPXAddress,
19590                 { "UnicastAddress_iPXAddress", "h245.UnicastAddress_iPXAddress", FT_NONE, BASE_NONE,
19591                 NULL, 0, "UnicastAddress_iPXAddress sequence", HFILL }},
19592         { &hf_h245_UnicastAddress_iPAddress,
19593                 { "UnicastAddress_iPAddress", "h245.UnicastAddress_iPAddress", FT_NONE, BASE_NONE,
19594                 NULL, 0, "UnicastAddress_iPAddress sequence", HFILL }},
19595         { &hf_h245_FECData_rfc2733_mode_separateStream_samePort,
19596                 { "FECData_rfc2733_mode_separateStream_samePort", "h245.FECData_rfc2733_mode_separateStream_samePort", FT_NONE, BASE_NONE,
19597                 NULL, 0, "FECData_rfc2733_mode_separateStream_samePort sequence", HFILL }},
19598         { &hf_h245_FECData_rfc2733_mode_separateStream_differentPort,
19599                 { "FECData_rfc2733_mode_separateStream_differentPort", "h245.FECData_rfc2733_mode_separateStream_differentPort", FT_NONE, BASE_NONE,
19600                 NULL, 0, "FECData_rfc2733_mode_separateStream_differentPort sequence", HFILL }},
19601         { &hf_h245_FECData_rfc2733,
19602                 { "FECData_rfc2733", "h245.FECData_rfc2733", FT_NONE, BASE_NONE,
19603                 NULL, 0, "FECData_rfc2733 sequence", HFILL }},
19604         { &hf_h245_MultiplePayloadStreamElement,
19605                 { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement", FT_NONE, BASE_NONE,
19606                 NULL, 0, "MultiplePayloadStreamElement sequence", HFILL }},
19607         { &hf_h245_MultiplePayloadStream,
19608                 { "MultiplePayloadStream", "h245.MultiplePayloadStream", FT_NONE, BASE_NONE,
19609                 NULL, 0, "MultiplePayloadStream sequence", HFILL }},
19610         { &hf_h245_RedundancyEncodingElement,
19611                 { "RedundancyEncodingElement", "h245.RedundancyEncodingElement", FT_NONE, BASE_NONE,
19612                 NULL, 0, "RedundancyEncodingElement sequence", HFILL }},
19613         { &hf_h245_RedundancyEncoding_rtpRedundancyEncoding,
19614                 { "RedundancyEncoding_rtpRedundancyEncoding", "h245.RedundancyEncoding_rtpRedundancyEncoding", FT_NONE, BASE_NONE,
19615                 NULL, 0, "RedundancyEncoding_rtpRedundancyEncoding sequence", HFILL }},
19616         { &hf_h245_RedundancyEncoding,
19617                 { "RedundancyEncoding", "h245.RedundancyEncoding", FT_NONE, BASE_NONE,
19618                 NULL, 0, "RedundancyEncoding sequence", HFILL }},
19619         { &hf_h245_RTPPayloadType,
19620                 { "RTPPayloadType", "h245.RTPPayloadType", FT_NONE, BASE_NONE,
19621                 NULL, 0, "RTPPayloadType sequence", HFILL }},
19622         { &hf_h245_H2250LogicalChannelParameters,
19623                 { "H2250LogicalChannelParameters", "h245.H2250LogicalChannelParameters", FT_NONE, BASE_NONE,
19624                 NULL, 0, "H2250LogicalChannelParameters sequence", HFILL }},
19625         { &hf_h245_V76HDLCParameters,
19626                 { "V76HDLCParameters", "h245.V76HDLCParameters", FT_NONE, BASE_NONE,
19627                 NULL, 0, "V76HDLCParameters sequence", HFILL }},
19628         { &hf_h245_V76LogicalChannelParameters_mode_eRM,
19629                 { "V76LogicalChannelParameters_mode_eRM", "h245.V76LogicalChannelParameters_mode_eRM", FT_NONE, BASE_NONE,
19630                 NULL, 0, "V76LogicalChannelParameters_mode_eRM sequence", HFILL }},
19631         { &hf_h245_V76LogicalChannelParameters,
19632                 { "V76LogicalChannelParameters", "h245.V76LogicalChannelParameters", FT_NONE, BASE_NONE,
19633                 NULL, 0, "V76LogicalChannelParameters sequence", HFILL }},
19634         { &hf_h245_H223AnnexCArqParameters,
19635                 { "H223AnnexCArqParameters", "h245.H223AnnexCArqParameters", FT_NONE, BASE_NONE,
19636                 NULL, 0, "H223AnnexCArqParameters sequence", HFILL }},
19637         { &hf_h245_H223AL3MParameters,
19638                 { "H223AL3MParameters", "h245.H223AL3MParameters", FT_NONE, BASE_NONE,
19639                 NULL, 0, "H223AL3MParameters sequence", HFILL }},
19640         { &hf_h245_H223AL2MParameters,
19641                 { "H223AL2MParameters", "h245.H223AL2MParameters", FT_NONE, BASE_NONE,
19642                 NULL, 0, "H223AL2MParameters sequence", HFILL }},
19643         { &hf_h245_H223AL1MParameters,
19644                 { "H223AL1MParameters", "h245.H223AL1MParameters", FT_NONE, BASE_NONE,
19645                 NULL, 0, "H223AL1MParameters sequence", HFILL }},
19646         { &hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3,
19647                 { "H223LogicalChannelParameters_adaptionLayerType_al3", "h245.H223LogicalChannelParameters_adaptionLayerType_al3", FT_NONE, BASE_NONE,
19648                 NULL, 0, "H223LogicalChannelParameters_adaptionLayerType_al3 sequence", HFILL }},
19649         { &hf_h245_H223LogicalChannelParameters,
19650                 { "H223LogicalChannelParameters", "h245.H223LogicalChannelParameters", FT_NONE, BASE_NONE,
19651                 NULL, 0, "H223LogicalChannelParameters sequence", HFILL }},
19652         { &hf_h245_H222LogicalChannelParameters,
19653                 { "H222LogicalChannelParameters", "h245.H222LogicalChannelParameters", FT_NONE, BASE_NONE,
19654                 NULL, 0, "H222LogicalChannelParameters sequence", HFILL }},
19655         { &hf_h245_MultiplexedStreamParameter,
19656                 { "MultiplexedStreamParameter", "h245.MultiplexedStreamParameter", FT_NONE, BASE_NONE,
19657                 NULL, 0, "MultiplexedStreamParameter sequence", HFILL }},
19658         { &hf_h245_H235Media,
19659                 { "H235Media", "h245.H235Media", FT_NONE, BASE_NONE,
19660                 NULL, 0, "H235Media sequence", HFILL }},
19661         { &hf_h245_V75Parameters,
19662                 { "V75Parameters", "h245.V75Parameters", FT_NONE, BASE_NONE,
19663                 NULL, 0, "V75Parameters sequence", HFILL }},
19664         { &hf_h245_Q2931Address,
19665                 { "Q2931Address", "h245.Q2931Address", FT_NONE, BASE_NONE,
19666                 NULL, 0, "Q2931Address sequence", HFILL }},
19667         { &hf_h245_NetworkAccessParameters,
19668                 { "NetworkAccessParameters", "h245.NetworkAccessParameters", FT_NONE, BASE_NONE,
19669                 NULL, 0, "NetworkAccessParameters sequence", HFILL }},
19670         { &hf_h245_reverseLogicalChannelParameters,
19671                 { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters", FT_NONE, BASE_NONE,
19672                 NULL, 0, "reverseLogicalChannelParameters sequence", HFILL }},
19673         { &hf_h245_forwardLogicalChannelParameters,
19674                 { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters", FT_NONE, BASE_NONE,
19675                 NULL, 0, "forwardLogicalChannelParameters sequence", HFILL }},
19676         { &hf_h245_OpenLogicalChannel,
19677                 { "OpenLogicalChannel", "h245.OpenLogicalChannel", FT_NONE, BASE_NONE,
19678                 NULL, 0, "OpenLogicalChannel sequence", HFILL }},
19679         { &hf_h245_FECCapability_rfc2733_separateStream,
19680                 { "FECCapability_rfc2733_separateStream", "h245.FECCapability_rfc2733_separateStream", FT_NONE, BASE_NONE,
19681                 NULL, 0, "FECCapability_rfc2733_separateStream sequence", HFILL }},
19682         { &hf_h245_FECCapability_rfc2733,
19683                 { "FECCapability_rfc2733", "h245.FECCapability_rfc2733", FT_NONE, BASE_NONE,
19684                 NULL, 0, "FECCapability_rfc2733 sequence", HFILL }},
19685         { &hf_h245_MultiplePayloadStreamCapability,
19686                 { "MultiplePayloadStreamCapability", "h245.MultiplePayloadStreamCapability", FT_NONE, BASE_NONE,
19687                 NULL, 0, "MultiplePayloadStreamCapability sequence", HFILL }},
19688         { &hf_h245_NoPTAudioToneCapability,
19689                 { "NoPTAudioToneCapability", "h245.NoPTAudioToneCapability", FT_NONE, BASE_NONE,
19690                 NULL, 0, "NoPTAudioToneCapability sequence", HFILL }},
19691         { &hf_h245_NoPTAudioTelephonyEventCapability,
19692                 { "NoPTAudioTelephonyEventCapability", "h245.NoPTAudioTelephonyEventCapability", FT_NONE, BASE_NONE,
19693                 NULL, 0, "NoPTAudioTelephonyEventCapability sequence", HFILL }},
19694         { &hf_h245_AudioToneCapability,
19695                 { "AudioToneCapability", "h245.AudioToneCapability", FT_NONE, BASE_NONE,
19696                 NULL, 0, "AudioToneCapability sequence", HFILL }},
19697         { &hf_h245_AudioTelephonyEventCapability,
19698                 { "AudioTelephonyEventCapability", "h245.AudioTelephonyEventCapability", FT_NONE, BASE_NONE,
19699                 NULL, 0, "AudioTelephonyEventCapability sequence", HFILL }},
19700         { &hf_h245_MultiplexedStreamCapability,
19701                 { "MultiplexedStreamCapability", "h245.MultiplexedStreamCapability", FT_NONE, BASE_NONE,
19702                 NULL, 0, "MultiplexedStreamCapability sequence", HFILL }},
19703         { &hf_h245_GenericParameter,
19704                 { "GenericParameter", "h245.GenericParameter", FT_NONE, BASE_NONE,
19705                 NULL, 0, "GenericParameter sequence", HFILL }},
19706         { &hf_h245_GenericCapability,
19707                 { "GenericCapability", "h245.GenericCapability", FT_NONE, BASE_NONE,
19708                 NULL, 0, "GenericCapability sequence", HFILL }},
19709         { &hf_h245_ConferenceCapability,
19710                 { "ConferenceCapability", "h245.ConferenceCapability", FT_NONE, BASE_NONE,
19711                 NULL, 0, "ConferenceCapability sequence", HFILL }},
19712         { &hf_h245_IntegrityCapability,
19713                 { "IntegrityCapability", "h245.IntegrityCapability", FT_NONE, BASE_NONE,
19714                 NULL, 0, "IntegrityCapability sequence", HFILL }},
19715         { &hf_h245_AuthenticationCapability,
19716                 { "AuthenticationCapability", "h245.AuthenticationCapability", FT_NONE, BASE_NONE,
19717                 NULL, 0, "AuthenticationCapability sequence", HFILL }},
19718         { &hf_h245_EncryptionAuthenticationAndIntegrity,
19719                 { "EncryptionAuthenticationAndIntegrity", "h245.EncryptionAuthenticationAndIntegrity", FT_NONE, BASE_NONE,
19720                 NULL, 0, "EncryptionAuthenticationAndIntegrity sequence", HFILL }},
19721         { &hf_h245_T38FaxTcpOptions,
19722                 { "T38FaxTcpOptions", "h245.T38FaxTcpOptions", FT_NONE, BASE_NONE,
19723                 NULL, 0, "T38FaxTcpOptions sequence", HFILL }},
19724         { &hf_h245_T38FaxUdpOptions,
19725                 { "T38FaxUdpOptions", "h245.T38FaxUdpOptions", FT_NONE, BASE_NONE,
19726                 NULL, 0, "T38FaxUdpOptions sequence", HFILL }},
19727         { &hf_h245_T38FaxProfile,
19728                 { "T38FaxProfile", "h245.T38FaxProfile", FT_NONE, BASE_NONE,
19729                 NULL, 0, "T38FaxProfile sequence", HFILL }},
19730         { &hf_h245_T84Profile_t84Restricted,
19731                 { "T84Profile_t84Restricted", "h245.T84Profile_t84Restricted", FT_NONE, BASE_NONE,
19732                 NULL, 0, "T84Profile_t84Restricted sequence", HFILL }},
19733         { &hf_h245_V42bis,
19734                 { "V42bis", "h245.V42bis", FT_NONE, BASE_NONE,
19735                 NULL, 0, "V42bis sequence", HFILL }},
19736         { &hf_h245_DataApplicationCapability_application_t38fax,
19737                 { "DataApplicationCapability_application_t38fax", "h245.DataApplicationCapability_application_t38fax", FT_NONE, BASE_NONE,
19738                 NULL, 0, "DataApplicationCapability_application_t38fax sequence", HFILL }},
19739         { &hf_h245_DataApplicationCapability_application_nlpid,
19740                 { "DataApplicationCapability_application_nlpid", "h245.DataApplicationCapability_application_nlpid", FT_NONE, BASE_NONE,
19741                 NULL, 0, "DataApplicationCapability_application_nlpid sequence", HFILL }},
19742         { &hf_h245_DataApplicationCapability_application_t84,
19743                 { "DataApplicationCapability_application_t84", "h245.DataApplicationCapability_application_t84", FT_NONE, BASE_NONE,
19744                 NULL, 0, "DataApplicationCapability_application_t84 sequence", HFILL }},
19745         { &hf_h245_DataApplicationCapability,
19746                 { "DataApplicationCapability", "h245.DataApplicationCapability", FT_NONE, BASE_NONE,
19747                 NULL, 0, "DataApplicationCapability sequence", HFILL }},
19748         { &hf_h245_VBDCapability,
19749                 { "VBDCapability", "h245.VBDCapability", FT_NONE, BASE_NONE,
19750                 NULL, 0, "VBDCapability sequence", HFILL }},
19751         { &hf_h245_GSMAudioCapability,
19752                 { "GSMAudioCapability", "h245.GSMAudioCapability", FT_NONE, BASE_NONE,
19753                 NULL, 0, "GSMAudioCapability sequence", HFILL }},
19754         { &hf_h245_IS13818AudioCapability,
19755                 { "IS13818AudioCapability", "h245.IS13818AudioCapability", FT_NONE, BASE_NONE,
19756                 NULL, 0, "IS13818AudioCapability sequence", HFILL }},
19757         { &hf_h245_IS11172AudioCapability,
19758                 { "IS11172AudioCapability", "h245.IS11172AudioCapability", FT_NONE, BASE_NONE,
19759                 NULL, 0, "IS11172AudioCapability sequence", HFILL }},
19760         { &hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode,
19761                 { "G7231AnnexCCapability_g723AnnexCAudioMode", "h245.G7231AnnexCCapability_g723AnnexCAudioMode", FT_NONE, BASE_NONE,
19762                 NULL, 0, "G7231AnnexCCapability_g723AnnexCAudioMode sequence", HFILL }},
19763         { &hf_h245_G7231AnnexCCapability,
19764                 { "G7231AnnexCCapability", "h245.G7231AnnexCCapability", FT_NONE, BASE_NONE,
19765                 NULL, 0, "G7231AnnexCCapability sequence", HFILL }},
19766         { &hf_h245_G729Extensions,
19767                 { "G729Extensions", "h245.G729Extensions", FT_NONE, BASE_NONE,
19768                 NULL, 0, "G729Extensions sequence", HFILL }},
19769         { &hf_h245_AudioCapability_g7231,
19770                 { "AudioCapability_g7231", "h245.AudioCapability_g7231", FT_NONE, BASE_NONE,
19771                 NULL, 0, "AudioCapability_g7231 sequence", HFILL }},
19772         { &hf_h245_IS11172VideoCapability,
19773                 { "IS11172VideoCapability", "h245.IS11172VideoCapability", FT_NONE, BASE_NONE,
19774                 NULL, 0, "IS11172VideoCapability sequence", HFILL }},
19775         { &hf_h245_H263Version3Options,
19776                 { "H263Version3Options", "h245.H263Version3Options", FT_NONE, BASE_NONE,
19777                 NULL, 0, "H263Version3Options sequence", HFILL }},
19778         { &hf_h245_H263ModeComboFlags,
19779                 { "H263ModeComboFlags", "h245.H263ModeComboFlags", FT_NONE, BASE_NONE,
19780                 NULL, 0, "H263ModeComboFlags sequence", HFILL }},
19781         { &hf_h245_H263VideoModeCombos,
19782                 { "H263VideoModeCombos", "h245.H263VideoModeCombos", FT_NONE, BASE_NONE,
19783                 NULL, 0, "H263VideoModeCombos sequence", HFILL }},
19784         { &hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR,
19785                 { "CustomPictureFormat_pixelAspectInformation_extendedPAR", "h245.CustomPictureFormat_pixelAspectInformation_extendedPAR", FT_NONE, BASE_NONE,
19786                 NULL, 0, "CustomPictureFormat_pixelAspectInformation_extendedPAR sequence", HFILL }},
19787         { &hf_h245_CustomPictureFormat_mPI_customPCF,
19788                 { "CustomPictureFormat_mPI_customPCF", "h245.CustomPictureFormat_mPI_customPCF", FT_NONE, BASE_NONE,
19789                 NULL, 0, "CustomPictureFormat_mPI_customPCF sequence", HFILL }},
19790         { &hf_h245_CustomPictureFormat_mPI,
19791                 { "CustomPictureFormat_mPI", "h245.CustomPictureFormat_mPI", FT_NONE, BASE_NONE,
19792                 NULL, 0, "CustomPictureFormat_mPI sequence", HFILL }},
19793         { &hf_h245_CustomPictureFormat,
19794                 { "CustomPictureFormat", "h245.CustomPictureFormat", FT_NONE, BASE_NONE,
19795                 NULL, 0, "CustomPictureFormat sequence", HFILL }},
19796         { &hf_h245_CustomPictureClockFrequency,
19797                 { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency", FT_NONE, BASE_NONE,
19798                 NULL, 0, "CustomPictureClockFrequency sequence", HFILL }},
19799         { &hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters,
19800                 { "RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters", "h245.RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters", FT_NONE, BASE_NONE,
19801                 NULL, 0, "RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters sequence", HFILL }},
19802         { &hf_h245_RefPictureSelection_enhancedReferencePicSelect,
19803                 { "RefPictureSelection_enhancedReferencePicSelect", "h245.RefPictureSelection_enhancedReferencePicSelect", FT_NONE, BASE_NONE,
19804                 NULL, 0, "RefPictureSelection_enhancedReferencePicSelect sequence", HFILL }},
19805         { &hf_h245_RefPictureSelection_additionalPictureMemory,
19806                 { "RefPictureSelection_additionalPictureMemory", "h245.RefPictureSelection_additionalPictureMemory", FT_NONE, BASE_NONE,
19807                 NULL, 0, "RefPictureSelection_additionalPictureMemory sequence", HFILL }},
19808         { &hf_h245_RefPictureSelection,
19809                 { "RefPictureSelection", "h245.RefPictureSelection", FT_NONE, BASE_NONE,
19810                 NULL, 0, "RefPictureSelection sequence", HFILL }},
19811         { &hf_h245_TransperencyParameters,
19812                 { "TransperencyParameters", "h245.TransperencyParameters", FT_NONE, BASE_NONE,
19813                 NULL, 0, "TransperencyParameters sequence", HFILL }},
19814         { &hf_h245_H263Options,
19815                 { "H263Options", "h245.H263Options", FT_NONE, BASE_NONE,
19816                 NULL, 0, "H263Options sequence", HFILL }},
19817         { &hf_h245_EnhancementOptions,
19818                 { "EnhancementOptions", "h245.EnhancementOptions", FT_NONE, BASE_NONE,
19819                 NULL, 0, "EnhancementOptions sequence", HFILL }},
19820         { &hf_h245_BEnhancementParameters,
19821                 { "BEnhancementParameters", "h245.BEnhancementParameters", FT_NONE, BASE_NONE,
19822                 NULL, 0, "BEnhancementParameters sequence", HFILL }},
19823         { &hf_h245_EnhancementLayerInfo,
19824                 { "EnhancementLayerInfo", "h245.EnhancementLayerInfo", FT_NONE, BASE_NONE,
19825                 NULL, 0, "EnhancementLayerInfo sequence", HFILL }},
19826         { &hf_h245_H263VideoCapability,
19827                 { "H263VideoCapability", "h245.H263VideoCapability", FT_NONE, BASE_NONE,
19828                 NULL, 0, "H263VideoCapability sequence", HFILL }},
19829         { &hf_h245_H262VideoCapability,
19830                 { "H262VideoCapability", "h245.H262VideoCapability", FT_NONE, BASE_NONE,
19831                 NULL, 0, "H262VideoCapability sequence", HFILL }},
19832         { &hf_h245_H261VideoCapability,
19833                 { "H261VideoCapability", "h245.H261VideoCapability", FT_NONE, BASE_NONE,
19834                 NULL, 0, "H261VideoCapability sequence", HFILL }},
19835         { &hf_h245_MediaDistributionCapability,
19836                 { "MediaDistributionCapability", "h245.MediaDistributionCapability", FT_NONE, BASE_NONE,
19837                 NULL, 0, "MediaDistributionCapability sequence", HFILL }},
19838         { &hf_h245_MultipointCapability,
19839                 { "MultipointCapability", "h245.MultipointCapability", FT_NONE, BASE_NONE,
19840                 NULL, 0, "MultipointCapability sequence", HFILL }},
19841         { &hf_h245_receiveMultipointCapability,
19842                 { "receiveMultipointCapability", "h245.receiveMultipointCapability", FT_NONE, BASE_NONE,
19843                 NULL, 0, "Receive MultipointCapability sequence", HFILL }},
19844         { &hf_h245_transmitMultipointCapability,
19845                 { "transmitMultipointCapability", "h245.transmitMultipointCapability", FT_NONE, BASE_NONE,
19846                 NULL, 0, "Transmit MultipointCapability sequence", HFILL }},
19847         { &hf_h245_receiveAndTransmitMultipointCapability,
19848                 { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability", FT_NONE, BASE_NONE,
19849                 NULL, 0, "Receive And Transmit MultipointCapability sequence", HFILL }},
19850         { &hf_h245_RTPH263VideoRedundancyFrameMapping,
19851                 { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping", FT_NONE, BASE_NONE,
19852                 NULL, 0, "RTPH263VideoRedundancyFrameMapping sequence", HFILL }},
19853         { &hf_h245_RTPH263VideoRedundancyEncoding,
19854                 { "RTPH263VideoRedundancyEncoding", "h245.RTPH263VideoRedundancyEncoding", FT_NONE, BASE_NONE,
19855                 NULL, 0, "RTPH263VideoRedundancyEncoding sequence", HFILL }},
19856         { &hf_h245_RedundancyEncodingCapability,
19857                 { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability", FT_NONE, BASE_NONE,
19858                 NULL, 0, "RedundancyEncodingCapability sequence", HFILL }},
19859         { &hf_h245_TransportCapability,
19860                 { "TransportCapability", "h245.TransportCapability", FT_NONE, BASE_NONE,
19861                 NULL, 0, "TransportCapability sequence", HFILL }},
19862         { &hf_h245_MediaChannelCapability,
19863                 { "MediaChannelCapability", "h245.MediaChannelCapability", FT_NONE, BASE_NONE,
19864                 NULL, 0, "MediaChannelCapability sequence", HFILL }},
19865         { &hf_h245_MediaTransportType_AtmAAL5Compressed,
19866                 { "MediaTransportType_AtmAAL5Compressed", "h245.MediaTransportType_AtmAAL5Compressed", FT_NONE, BASE_NONE,
19867                 NULL, 0, "MediaTransportType_AtmAAL5Compressed sequence", HFILL }},
19868         { &hf_h245_QOSCapability,
19869                 { "QOSCapability", "h245.QOSCapability", FT_NONE, BASE_NONE,
19870                 NULL, 0, "QOSCapability sequence", HFILL }},
19871         { &hf_h245_ATMParameters,
19872                 { "ATMParameters", "h245.ATMParameters", FT_NONE, BASE_NONE,
19873                 NULL, 0, "ATMParameters sequence", HFILL }},
19874         { &hf_h245_RSVPParameters,
19875                 { "RSVPParameters", "h245.RSVPParameters", FT_NONE, BASE_NONE,
19876                 NULL, 0, "RSVPParameters sequence", HFILL }},
19877         { &hf_h245_MediaPacketizationCapability,
19878                 { "MediaPacketizationCapability", "h245.MediaPacketizationCapability", FT_NONE, BASE_NONE,
19879                 NULL, 0, "MediaPacketizationCapability sequence", HFILL }},
19880         { &hf_h245_H2250Capability_mcCapability,
19881                 { "H2250Capability_mcCapability", "h245.H2250Capability_mcCapability", FT_NONE, BASE_NONE,
19882                 NULL, 0, "H2250Capability_mcCapability sequence", HFILL }},
19883         { &hf_h245_H2250Capability,
19884                 { "H2250Capability", "h245.H2250Capability", FT_NONE, BASE_NONE,
19885                 NULL, 0, "H2250Capability sequence", HFILL }},
19886         { &hf_h245_V75Capability,
19887                 { "V75Capability", "h245.V75Capability", FT_NONE, BASE_NONE,
19888                 NULL, 0, "V75Capability sequence", HFILL }},
19889         { &hf_h245_V76Capability,
19890                 { "V76Capability", "h245.V76Capability", FT_NONE, BASE_NONE,
19891                 NULL, 0, "V76Capability sequence", HFILL }},
19892         { &hf_h245_H223AnnexCCapability,
19893                 { "H223AnnexCCapability", "h245.H223AnnexCCapability", FT_NONE, BASE_NONE,
19894                 NULL, 0, "H223AnnexCCapability sequence", HFILL }},
19895         { &hf_h245_H223Capability_mobileMultilinkFrameCapability,
19896                 { "H223Capability_mobileMultilinkFrameCapability", "h245.H223Capability_mobileMultilinkFrameCapability", FT_NONE, BASE_NONE,
19897                 NULL, 0, "H223Capability_mobileMultilinkFrameCapability sequence", HFILL }},
19898         { &hf_h245_H223Capability_mobileOperationTransmitCapability,
19899                 { "H223Capability_mobileOperationTransmitCapability", "h245.H223Capability_mobileOperationTransmitCapability", FT_NONE, BASE_NONE,
19900                 NULL, 0, "H223Capability_mobileOperationTransmitCapability sequence", HFILL }},
19901         { &hf_h245_H223Capability_h223MultiplexTableCapability_enhanced,
19902                 { "H223Capability_h223MultiplexTableCapability_enhanced", "h245.H223Capability_h223MultiplexTableCapability_enhanced", FT_NONE, BASE_NONE,
19903                 NULL, 0, "H223Capability_h223MultiplexTableCapability_enhanced sequence", HFILL }},
19904         { &hf_h245_H223Capability,
19905                 { "H223Capability", "h245.H223Capability", FT_NONE, BASE_NONE,
19906                 NULL, 0, "H223Capability sequence", HFILL }},
19907         { &hf_h245_VCCapability_aal1ViaGateway,
19908                 { "VCCapability_aal1ViaGateway", "h245.VCCapability_aal1ViaGateway", FT_NONE, BASE_NONE,
19909                 NULL, 0, "VCCapability_aal1ViaGateway sequence", HFILL }},
19910         { &hf_h245_VCCapability_availableBitRates_rangeOfBitRates,
19911                 { "VCCapability_availableBitRates_rangeOfBitRates", "h245.VCCapability_availableBitRates_rangeOfBitRates", FT_NONE, BASE_NONE,
19912                 NULL, 0, "VCCapability_availableBitRates_rangeOfBitRates sequence", HFILL }},
19913         { &hf_h245_VCCapability_availableBitRates,
19914                 { "VCCapability_availableBitRates", "h245.VCCapability_availableBitRates", FT_NONE, BASE_NONE,
19915                 NULL, 0, "VCCapability_availableBitRates sequence", HFILL }},
19916         { &hf_h245_VCCapability_aal5,
19917                 { "VCCapability_aal5", "h245.VCCapability_aal5", FT_NONE, BASE_NONE,
19918                 NULL, 0, "VCCapability_aal5 sequence", HFILL }},
19919         { &hf_h245_VCCapability_aal1,
19920                 { "VCCapability_aal1", "h245.VCCapability_aal1", FT_NONE, BASE_NONE,
19921                 NULL, 0, "VCCapability_aal1 sequence", HFILL }},
19922         { &hf_h245_VCCapability,
19923                 { "VCCapability", "h245.VCCapability", FT_NONE, BASE_NONE,
19924                 NULL, 0, "VCCapability sequence", HFILL }},
19925         { &hf_h245_H222Capability,
19926                 { "H222Capability", "h245.H222Capability", FT_NONE, BASE_NONE,
19927                 NULL, 0, "H222Capability sequence", HFILL }},
19928         { &hf_h245_H235SecurityCapability,
19929                 { "H235SecurityCapability", "h245.H235SecurityCapability", FT_NONE, BASE_NONE,
19930                 NULL, 0, "H235SecurityCapability sequence", HFILL }},
19931         { &hf_h245_Capability_h233EncryptionReceiveCapability,
19932                 { "Capability_h233EncryptionReceiveCapability", "h245.Capability_h233EncryptionReceiveCapability", FT_NONE, BASE_NONE,
19933                 NULL, 0, "Capability_h233EncryptionReceiveCapability sequence", HFILL }},
19934         { &hf_h245_TerminalCapabilitySetRelease,
19935                 { "TerminalCapabilitySetRelease", "h245.TerminalCapabilitySetRelease", FT_NONE, BASE_NONE,
19936                 NULL, 0, "TerminalCapabilitySetRelease sequence", HFILL }},
19937         { &hf_h245_TerminalCapabilitySetReject,
19938                 { "TerminalCapabilitySetReject", "h245.TerminalCapabilitySetReject", FT_NONE, BASE_NONE,
19939                 NULL, 0, "TerminalCapabilitySetReject sequence", HFILL }},
19940         { &hf_h245_TerminalCapabilitySetAck,
19941                 { "TerminalCapabilitySetAck", "h245.TerminalCapabilitySetAck", FT_NONE, BASE_NONE,
19942                 NULL, 0, "TerminalCapabilitySetAck sequence", HFILL }},
19943         { &hf_h245_CapabilityDescriptor,
19944                 { "CapabilityDescriptor", "h245.CapabilityDescriptor", FT_NONE, BASE_NONE,
19945                 NULL, 0, "CapabilityDescriptor sequence", HFILL }},
19946         { &hf_h245_CapabilityTableEntry,
19947                 { "CapabilityTableEntry", "h245.CapabilityTableEntry", FT_NONE, BASE_NONE,
19948                 NULL, 0, "CapabilityTableEntry sequence", HFILL }},
19949         { &hf_h245_TerminalCapabilitySet,
19950                 { "TerminalCapabilitySet", "h245.TerminalCapabilitySet", FT_NONE, BASE_NONE,
19951                 NULL, 0, "TerminalCapabilitySet sequence", HFILL }},
19952         { &hf_h245_MasterSlaveDeterminationRelease,
19953                 { "MasterSlaveDeterminationRelease", "h245.MasterSlaveDeterminationRelease", FT_NONE, BASE_NONE,
19954                 NULL, 0, "MasterSlaveDeterminationRelease sequence", HFILL }},
19955         { &hf_h245_MasterSlaveDeterminationReject,
19956                 { "MasterSlaveDeterminationReject", "h245.MasterSlaveDeterminationReject", FT_NONE, BASE_NONE,
19957                 NULL, 0, "MasterSlaveDeterminationReject sequence", HFILL }},
19958         { &hf_h245_MasterSlaveDeterminationAck,
19959                 { "MasterSlaveDeterminationAck", "h245.MasterSlaveDeterminationAck", FT_NONE, BASE_NONE,
19960                 NULL, 0, "MasterSlaveDeterminationAck sequence", HFILL }},
19961         { &hf_h245_MasterSlaveDetermination,
19962                 { "MasterSlaveDetermination", "h245.MasterSlaveDetermination", FT_NONE, BASE_NONE,
19963                 NULL, 0, "MasterSlaveDetermination sequence", HFILL }},
19964         { &hf_h245_h221NonStandard,
19965                 { "h221NonStandard", "h245.h221NonStandard", FT_NONE, BASE_NONE,
19966                 NULL, 0, "h221NonStandard sequence", HFILL }},
19967         { &hf_h245_NonStandardParameter,
19968                 { "NonStandardParameter", "h245.NonStandardParameter", FT_NONE, BASE_NONE,
19969                 NULL, 0, "NonStandardParameter sequence", HFILL }},
19970         { &hf_h245_NonStandardMessage,
19971                 { "NonStandardMessage", "h245.NonStandardMessage", FT_NONE, BASE_NONE,
19972                 NULL, 0, "NonStandardMessage sequence", HFILL }},
19973         { &hf_h245_FlowControlIndication_restriction,
19974                 { "FlowControlIndication_restriction", "h245.FlowControlIndication_restriction_type", FT_UINT32, BASE_DEC,
19975                 VALS(FlowControlIndication_restriction_vals), 0, "FlowControlIndication_restriction choice", HFILL }},
19976         { &hf_h245_FlowControlIndication_scope,
19977                 { "FlowControlIndication_scope", "h245.FlowControlIndication_scope_type", FT_UINT32, BASE_DEC,
19978                 VALS(FlowControlIndication_scope_vals), 0, "FlowControlIndication_scope choice", HFILL }},
19979         { &hf_h245_UserInputIndication_userInputSupportIndication,
19980                 { "UserInputIndication_userInputSupportIndication type", "h245.UserInputIndication_userInputSupportIndication_type", FT_UINT32, BASE_DEC,
19981                 VALS(UserInputIndication_userInputSupportIndication_vals), 0, "Type of UserInputIndication_userInputSupportIndication choice", HFILL }},
19982         { &hf_h245_UserInputIndication,
19983                 { "UserInputIndication type", "h245.UserInputIndication_type", FT_UINT32, BASE_DEC,
19984                 VALS(UserInputIndication_vals), 0, "Type of UserInputIndication choice", HFILL }},
19985         { &hf_h245_NewATMVCIndication_reverseParameters_multiplex,
19986                 { "NewATMVCIndication_reverseParameters_multiplex type", "h245.NewATMVCIndication_reverseParameters_multiplex_type", FT_UINT32, BASE_DEC,
19987                 VALS(NewATMVCIndication_reverseParameters_multiplex_vals), 0, "Type of NewATMVCIndication_reverseParameters_multiplex choice", HFILL }},
19988         { &hf_h245_NewATMVCIndication_multiplex,
19989                 { "NewATMVCIndication_multiplex type", "h245.NewATMVCIndication_multiplex_type", FT_UINT32, BASE_DEC,
19990                 VALS(NewATMVCIndication_multiplex_vals), 0, "Type of NewATMVCIndication_multiplex choice", HFILL }},
19991         { &hf_h245_NewATMVCIndication_aal_aal1_errorCorrection,
19992                 { "NewATMVCIndication_aal_aal1_errorCorrection type", "h245.NewATMVCIndication_aal_aal1_errorCorrection_type", FT_UINT32, BASE_DEC,
19993                 VALS(NewATMVCIndication_aal_aal1_errorCorrection_vals), 0, "Type of NewATMVCIndication_aal_aal1_errorCorrection choice", HFILL }},
19994         { &hf_h245_NewATMVCIndication_aal_aal1_clockRecovery,
19995                 { "NewATMVCIndication_aal_aal1_clockRecovery type", "h245.NewATMVCIndication_aal_aal1_clockRecovery_type", FT_UINT32, BASE_DEC,
19996                 VALS(NewATMVCIndication_aal_aal1_clockRecovery_vals), 0, "Type of NewATMVCIndication_aal_aal1_clockRecovery choice", HFILL }},
19997         { &hf_h245_NewATMVCIndication_aal,
19998                 { "NewATMVCIndication_aal type", "h245.NewATMVCIndication_aal_type", FT_UINT32, BASE_DEC,
19999                 VALS(NewATMVCIndication_aal_vals), 0, "Type of NewATMVCIndication_aal choice", HFILL }},
20000         { &hf_h245_JitterIndication_scope,
20001                 { "JitterIndication_scope type", "h245.JitterIndication_scope_type", FT_UINT32, BASE_DEC,
20002                 VALS(JitterIndication_scope_vals), 0, "Type of JitterIndication_scope choice", HFILL }},
20003         { &hf_h245_MiscellaneousIndication_type,
20004                 { "MiscellaneousIndication_type type", "h245.MiscellaneousIndication_type_type", FT_UINT32, BASE_DEC,
20005                 VALS(MiscellaneousIndication_type_vals), 0, "Type of MiscellaneousIndication_type choice", HFILL }},
20006         { &hf_h245_ConferenceIndication,
20007                 { "ConferenceIndication type", "h245.ConferenceIndication_type", FT_UINT32, BASE_DEC,
20008                 VALS(ConferenceIndication_vals), 0, "Type of ConferenceIndication choice", HFILL }},
20009         { &hf_h245_FunctionNotSupported_cause,
20010                 { "FunctionNotSupported_cause type", "h245.FunctionNotSupported_cause_type", FT_UINT32, BASE_DEC,
20011                 VALS(FunctionNotSupported_cause_vals), 0, "Type of FunctionNotSupported_cause choice", HFILL }},
20012         { &hf_h245_FunctionNotUnderstood,
20013                 { "FunctionNotUnderstood type", "h245.FunctionNotUnderstood_type", FT_UINT32, BASE_DEC,
20014                 VALS(FunctionNotUnderstood_vals), 0, "Type of FunctionNotUnderstood choice", HFILL }},
20015         { &hf_h245_MobileMultilinkReconfigurationCommand_status,
20016                 { "MobileMultilinkReconfigurationCommand_status type", "h245.MobileMultilinkReconfigurationCommand_status_type", FT_UINT32, BASE_DEC,
20017                 VALS(MobileMultilinkReconfigurationCommand_status_vals), 0, "Type of MobileMultilinkReconfigurationCommand_status choice", HFILL }},
20018         { &hf_h245_NewATMVCCommand_reverseParameters_multiplex,
20019                 { "NewATMVCCommand_reverseParameters_multiplex type", "h245.NewATMVCCommand_reverseParameters_multiplex_type", FT_UINT32, BASE_DEC,
20020                 VALS(NewATMVCCommand_reverseParameters_multiplex_vals), 0, "Type of NewATMVCCommand_reverseParameters_multiplex choice", HFILL }},
20021         { &hf_h245_NewATMVCCommand_multiplex,
20022                 { "NewATMVCCommand_multiplex type", "h245.NewATMVCCommand_multiplex_type", FT_UINT32, BASE_DEC,
20023                 VALS(NewATMVCCommand_multiplex_vals), 0, "Type of NewATMVCCommand_multiplex choice", HFILL }},
20024         { &hf_h245_NewATMVCCommand_aal_aal1_errorCorrection,
20025                 { "NewATMVCCommand_aal_aal1_errorCorrection type", "h245.NewATMVCCommand_aal_aal1_errorCorrection_type", FT_UINT32, BASE_DEC,
20026                 VALS(NewATMVCCommand_aal_aal1_errorCorrection_vals), 0, "Type of NewATMVCCommand_aal_aal1_errorCorrection choice", HFILL }},
20027         { &hf_h245_NewATMVCCommand_aal_aal1_clockRecovery,
20028                 { "NewATMVCCommand_aal_aal1_clockRecovery type", "h245.NewATMVCCommand_aal_aal1_clockRecovery_type", FT_UINT32, BASE_DEC,
20029                 VALS(NewATMVCCommand_aal_aal1_clockRecovery_vals), 0, "Type of NewATMVCCommand_aal_aal1_clockRecovery choice", HFILL }},
20030         { &hf_h245_NewATMVCCommand_aal,
20031                 { "NewATMVCCommand_aal type", "h245.NewATMVCCommand_aal_type", FT_UINT32, BASE_DEC,
20032                 VALS(NewATMVCCommand_aal_vals), 0, "Type of NewATMVCCommand_aal choice", HFILL }},
20033         { &hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag,
20034                 { "H223MultiplexReconfiguration_h223AnnexADoubleFlag type", "h245.H223MultiplexReconfiguration_h223AnnexADoubleFlag_type", FT_UINT32, BASE_DEC,
20035                 VALS(H223MultiplexReconfiguration_h223AnnexADoubleFlag_vals), 0, "Type of H223MultiplexReconfiguration_h223AnnexADoubleFlag choice", HFILL }},
20036         { &hf_h245_H223MultiplexReconfiguration_h223ModeChange,
20037                 { "H223MultiplexReconfiguration_h223ModeChange type", "h245.H223MultiplexReconfiguration_h223ModeChange_type", FT_UINT32, BASE_DEC,
20038                 VALS(H223MultiplexReconfiguration_h223ModeChange_vals), 0, "Type of H223MultiplexReconfiguration_h223ModeChange choice", HFILL }},
20039         { &hf_h245_H223MultiplexReconfiguration,
20040                 { "H223MultiplexReconfiguration type", "h245.H223MultiplexReconfiguration_type", FT_UINT32, BASE_DEC,
20041                 VALS(H223MultiplexReconfiguration_vals), 0, "Type of H223MultiplexReconfiguration choice", HFILL }},
20042         { &hf_h245_PictureReference,
20043                 { "PictureReference type", "h245.PictureReference_type", FT_UINT32, BASE_DEC,
20044                 VALS(PictureReference_vals), 0, "Type of PictureReference choice", HFILL }},
20045         { &hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount,
20046                 { "MiscellaneousCommand_type_progressiveRefinementStart_repeatCount type", "h245.MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_type", FT_UINT32, BASE_DEC,
20047                 VALS(MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_vals), 0, "Type of MiscellaneousCommand_type_progressiveRefinementStart_repeatCount choice", HFILL }},
20048         { &hf_h245_MiscellaneousCommand_type,
20049                 { "MiscellaneousCommand_type type", "h245.MiscellaneousCommand_type_type", FT_UINT32, BASE_DEC,
20050                 VALS(MiscellaneousCommand_type_vals), 0, "Type of MiscellaneousCommand_type choice", HFILL }},
20051         { &hf_h245_ConferenceCommand,
20052                 { "ConferenceCommand type", "h245.ConferenceCommand_type", FT_UINT32, BASE_DEC,
20053                 VALS(ConferenceCommand_vals), 0, "Type of ConferenceCommand choice", HFILL }},
20054         { &hf_h245_EndSessionCommand_gstnOptions,
20055                 { "EndSessionCommand_gstnOptions type", "h245.EndSessionCommand_gstnOptions_type", FT_UINT32, BASE_DEC,
20056                 VALS(EndSessionCommand_gstnOptions_vals), 0, "Type of EndSessionCommand_gstnOptions choice", HFILL }},
20057         { &hf_h245_EndSessionCommand_isdnOptions,
20058                 { "EndSessionCommand_isdnOptions type", "h245.EndSessionCommand_isdnOptions_type", FT_UINT32, BASE_DEC,
20059                 VALS(EndSessionCommand_isdnOptions_vals), 0, "Type of EndSessionCommand_isdnOptions choice", HFILL }},
20060         { &hf_h245_FlowControlCommand_restriction,
20061                 { "FlowControlCommand_restriction type", "h245.FlowControlCommand_restriction_type", FT_UINT32, BASE_DEC,
20062                 VALS(FlowControlCommand_restriction_vals), 0, "Type of FlowControlCommand_restriction choice", HFILL }},
20063         { &hf_h245_FlowControlCommand_scope,
20064                 { "FlowControlCommand_scope type", "h245.FlowControlCommand_scope_type", FT_UINT32, BASE_DEC,
20065                 VALS(FlowControlCommand_scope_vals), 0, "Type of FlowControlCommand_scope choice", HFILL }},
20066         { &hf_h245_EncryptionCommand,
20067                 { "EncryptionCommand type", "h245.EncryptionCommand_type", FT_UINT32, BASE_DEC,
20068                 VALS(EncryptionCommand_vals), 0, "Type of EncryptionCommand choice", HFILL }},
20069         { &hf_h245_SendTerminalCapabilitySet,
20070                 { "SendTerminalCapabilitySet type", "h245.SendTerminalCapabilitySet_type", FT_UINT32, BASE_DEC,
20071                 VALS(SendTerminalCapabilitySet_vals), 0, "Type of SendTerminalCapabilitySet choice", HFILL }},
20072         { &hf_h245_LogicalChannelRateRejectReason,
20073                 { "LogicalChannelRateRejectReason type", "h245.LogicalChannelRateRejectReason_type", FT_UINT32, BASE_DEC,
20074                 VALS(LogicalChannelRateRejectReason_vals), 0, "Type of LogicalChannelRateRejectReason choice", HFILL }},
20075         { &hf_h245_DialingInformationNetworkType,
20076                 { "DialingInformationNetworkType type", "h245.DialingInformationNetworkType_type", FT_UINT32, BASE_DEC,
20077                 VALS(DialingInformationNetworkType_vals), 0, "Type of DialingInformationNetworkType choice", HFILL }},
20078         { &hf_h245_DialingInformation,
20079                 { "DialingInformation type", "h245.DialingInformation_type", FT_UINT32, BASE_DEC,
20080                 VALS(DialingInformation_vals), 0, "Type of DialingInformation choice", HFILL }},
20081         { &hf_h245_MultilinkIndication,
20082                 { "MultilinkIndication type", "h245.MultilinkIndication_type", FT_UINT32, BASE_DEC,
20083                 VALS(MultilinkIndication_vals), 0, "Type of MultilinkIndication choice", HFILL }},
20084         { &hf_h245_MultilinkResponse_addConnection_responseCode_rejected,
20085                 { "MultilinkResponse_addConnection_responseCode_rejected type", "h245.MultilinkResponse_addConnection_responseCode_rejected_type", FT_UINT32, BASE_DEC,
20086                 VALS(MultilinkResponse_addConnection_responseCode_rejected_vals), 0, "Type of MultilinkResponse_addConnection_responseCode_rejected choice", HFILL }},
20087         { &hf_h245_MultilinkResponse_addConnection_responseCode,
20088                 { "MultilinkResponse_addConnection_responseCode type", "h245.MultilinkResponse_addConnection_responseCode_type", FT_UINT32, BASE_DEC,
20089                 VALS(MultilinkResponse_addConnection_responseCode_vals), 0, "Type of MultilinkResponse_addConnection_responseCode choice", HFILL }},
20090         { &hf_h245_MultilinkResponse,
20091                 { "MultilinkResponse type", "h245.MultilinkResponse_type", FT_UINT32, BASE_DEC,
20092                 VALS(MultilinkResponse_vals), 0, "Type of MultilinkResponse choice", HFILL }},
20093         { &hf_h245_MultilinkRequest_maximumHeaderInterval_requestType,
20094                 { "MultilinkRequest_maximumHeaderInterval_requestType type", "h245.MultilinkRequest_maximumHeaderInterval_requestType_type", FT_UINT32, BASE_DEC,
20095                 VALS(MultilinkRequest_maximumHeaderInterval_requestType_vals), 0, "Type of MultilinkRequest_maximumHeaderInterval_requestType choice", HFILL }},
20096         { &hf_h245_MultilinkRequest,
20097                 { "MultilinkRequest type", "h245.MultilinkRequest_type", FT_UINT32, BASE_DEC,
20098                 VALS(MultilinkRequest_vals), 0, "Type of MultilinkRequest choice", HFILL }},
20099         { &hf_h245_RemoteMCResponse_reject,
20100                 { "RemoteMCResponse_reject type", "h245.RemoteMCResponse_reject_type", FT_UINT32, BASE_DEC,
20101                 VALS(RemoteMCResponse_reject_vals), 0, "Type of RemoteMCResponse_reject choice", HFILL }},
20102         { &hf_h245_RemoteMCResponse,
20103                 { "RemoteMCResponse type", "h245.RemoteMCResponse_type", FT_UINT32, BASE_DEC,
20104                 VALS(RemoteMCResponse_vals), 0, "Type of RemoteMCResponse choice", HFILL }},
20105         { &hf_h245_RemoteMCRequest,
20106                 { "RemoteMCRequest type", "h245.RemoteMCRequest_type", FT_UINT32, BASE_DEC,
20107                 VALS(RemoteMCRequest_vals), 0, "Type of RemoteMCRequest choice", HFILL }},
20108         { &hf_h245_ConferenceResponse_sendThisSourceResponse,
20109                 { "ConferenceResponse_sendThisSourceResponse type", "h245.ConferenceResponse_sendThisSourceResponse_type", FT_UINT32, BASE_DEC,
20110                 VALS(ConferenceResponse_sendThisSourceResponse_vals), 0, "Type of ConferenceResponse_sendThisSourceResponse choice", HFILL }},
20111         { &hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse,
20112                 { "ConferenceResponse_makeTerminalBroadcasterResponse type", "h245.ConferenceResponse_makeTerminalBroadcasterResponse_type", FT_UINT32, BASE_DEC,
20113                 VALS(ConferenceResponse_makeTerminalBroadcasterResponse_vals), 0, "Type of ConferenceResponse_makeTerminalBroadcasterResponse choice", HFILL }},
20114         { &hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse,
20115                 { "ConferenceResponse_broadcastMyLogicalChannelResponse type", "h245.ConferenceResponse_broadcastMyLogicalChannelResponse_type", FT_UINT32, BASE_DEC,
20116                 VALS(ConferenceResponse_broadcastMyLogicalChannelResponse_vals), 0, "Type of ConferenceResponse_broadcastMyLogicalChannelResponse choice", HFILL }},
20117         { &hf_h245_ConferenceResponse_makeMeChairResponse,
20118                 { "ConferenceResponse_makeMeChairResponse type", "h245.ConferenceResponse_makeMeChairResponse_type", FT_UINT32, BASE_DEC,
20119                 VALS(ConferenceResponse_makeMeChairResponse_vals), 0, "Type of ConferenceResponse_makeMeChairResponse choice", HFILL }},
20120         { &hf_h245_ConferenceResponse,
20121                 { "ConferenceResponse type", "h245.ConferenceResponse_type", FT_UINT32, BASE_DEC,
20122                 VALS(ConferenceResponse_vals), 0, "Type of ConferenceResponse choice", HFILL }},
20123         { &hf_h245_ConferenceRequest,
20124                 { "ConferenceRequest type", "h245.ConferenceRequest_type", FT_UINT32, BASE_DEC,
20125                 VALS(ConferenceRequest_vals), 0, "Type of ConferenceRequest choice", HFILL }},
20126         { &hf_h245_CommunicationModeTableEntry_dataType,
20127                 { "CommunicationModeTableEntry_dataType type", "h245.CommunicationModeTableEntry_dataType_type", FT_UINT32, BASE_DEC,
20128                 VALS(CommunicationModeTableEntry_dataType_vals), 0, "Type of CommunicationModeTableEntry_dataType choice", HFILL }},
20129         { &hf_h245_CommunicationModeResponse,
20130                 { "CommunicationModeResponse type", "h245.CommunicationModeResponse_type", FT_UINT32, BASE_DEC,
20131                 VALS(CommunicationModeResponse_vals), 0, "Type of CommunicationModeResponse choice", HFILL }},
20132         { &hf_h245_MaintenanceLoopReject_cause,
20133                 { "MaintenanceLoopReject_cause type", "h245.MaintenanceLoopReject_cause_type", FT_UINT32, BASE_DEC,
20134                 VALS(MaintenanceLoopReject_cause_vals), 0, "Type of MaintenanceLoopReject_cause choice", HFILL }},
20135         { &hf_h245_MaintenanceLoopReject_type,
20136                 { "MaintenanceLoopReject_type type", "h245.MaintenanceLoopReject_type_type", FT_UINT32, BASE_DEC,
20137                 VALS(MaintenanceLoopReject_type_vals), 0, "Type of MaintenanceLoopReject_type choice", HFILL }},
20138         { &hf_h245_MaintenanceLoopAck_type,
20139                 { "MaintenanceLoopAck_type type", "h245.MaintenanceLoopAck_type_type", FT_UINT32, BASE_DEC,
20140                 VALS(MaintenanceLoopAck_type_vals), 0, "Type of MaintenanceLoopAck_type choice", HFILL }},
20141         { &hf_h245_MaintenanceLoopRequest_type,
20142                 { "MaintenanceLoopRequest_type type", "h245.MaintenanceLoopRequest_type_type", FT_UINT32, BASE_DEC,
20143                 VALS(MaintenanceLoopRequest_type_vals), 0, "Type of MaintenanceLoopRequest_type choice", HFILL }},
20144         { &hf_h245_EncryptionMode,
20145                 { "EncryptionMode type", "h245.EncryptionMode_type", FT_UINT32, BASE_DEC,
20146                 VALS(EncryptionMode_vals), 0, "Type of EncryptionMode choice", HFILL }},
20147         { &hf_h245_DataMode_application,
20148                 { "DataMode_application type", "h245.DataMode_application_type", FT_UINT32, BASE_DEC,
20149                 VALS(DataMode_application_vals), 0, "Type of DataMode_application choice", HFILL }},
20150         { &hf_h245_IS13818AudioMode_multiChannelType,
20151                 { "IS13818AudioMode_multiChannelType type", "h245.IS13818AudioMode_multiChannelType_type", FT_UINT32, BASE_DEC,
20152                 VALS(IS13818AudioMode_multiChannelType_vals), 0, "Type of IS13818AudioMode_multiChannelType choice", HFILL }},
20153         { &hf_h245_IS13818AudioMode_audioSampling,
20154                 { "IS13818AudioMode_audioSampling type", "h245.IS13818AudioMode_audioSampling_type", FT_UINT32, BASE_DEC,
20155                 VALS(IS13818AudioMode_audioSampling_vals), 0, "Type of IS13818AudioMode_audioSampling choice", HFILL }},
20156         { &hf_h245_IS13818AudioMode_audioLayer,
20157                 { "IS13818AudioMode_audioLayer type", "h245.IS13818AudioMode_audioLayer_type", FT_UINT32, BASE_DEC,
20158                 VALS(IS13818AudioMode_audioLayer_vals), 0, "Type of IS13818AudioMode_audioLayer choice", HFILL }},
20159         { &hf_h245_IS11172AudioMode_multichannelType,
20160                 { "IS11172AudioMode_multichannelType type", "h245.IS11172AudioMode_multichannelType_type", FT_UINT32, BASE_DEC,
20161                 VALS(IS11172AudioMode_multichannelType_vals), 0, "Type of IS11172AudioMode_multichannelType choice", HFILL }},
20162         { &hf_h245_IS11172AudioMode_audioSampling,
20163                 { "IS11172AudioMode_audioSampling type", "h245.IS11172AudioMode_audioSampling_type", FT_UINT32, BASE_DEC,
20164                 VALS(IS11172AudioMode_audioSampling_vals), 0, "Type of IS11172AudioMode_audioSampling choice", HFILL }},
20165         { &hf_h245_IS11172AudioMode_audioLayer,
20166                 { "IS11172AudioMode_audioLayer type", "h245.IS11172AudioMode_audioLayer_type", FT_UINT32, BASE_DEC,
20167                 VALS(IS11172AudioMode_audioLayer_vals), 0, "Type of IS11172AudioMode_audioLayer choice", HFILL }},
20168         { &hf_h245_AudioMode_g7231,
20169                 { "AudioMode_g7231 type", "h245.AudioMode_g7231_type", FT_UINT32, BASE_DEC,
20170                 VALS(AudioMode_g7231_vals), 0, "Type of AudioMode_g7231 choice", HFILL }},
20171         { &hf_h245_AudioMode,
20172                 { "AudioMode type", "h245.AudioMode_type", FT_UINT32, BASE_DEC,
20173                 VALS(AudioMode_vals), 0, "Type of AudioMode choice", HFILL }},
20174         { &hf_h245_H263VideoMode_resolution,
20175                 { "H263VideoMode_resolution type", "h245.H263VideoMode_resolution_type", FT_UINT32, BASE_DEC,
20176                 VALS(H263VideoMode_resolution_vals), 0, "Type of H263VideoMode_resolution choice", HFILL }},
20177         { &hf_h245_H262VideoMode_profileAndLevel,
20178                 { "H262VideoMode_profileAndLevel type", "h245.H262VideoMode_profileAndLevel_type", FT_UINT32, BASE_DEC,
20179                 VALS(H262VideoMode_profileAndLevel_vals), 0, "Type of H262VideoMode_profileAndLevel choice", HFILL }},
20180         { &hf_h245_H261VideoMode_resolution,
20181                 { "H261VideoMode_resolution type", "h245.H261VideoMode_resolution_type", FT_UINT32, BASE_DEC,
20182                 VALS(H261VideoMode_resolution_vals), 0, "Type of H261VideoMode_resolution choice", HFILL }},
20183         { &hf_h245_VideoMode,
20184                 { "VideoMode type", "h245.VideoMode_type", FT_UINT32, BASE_DEC,
20185                 VALS(VideoMode_vals), 0, "Type of VideoMode choice", HFILL }},
20186         { &hf_h245_RedundancyEncodingMode_secondaryEncoding,
20187                 { "RedundancyEncodingMode_secondaryEncoding type", "h245.RedundancyEncodingMode_secondaryEncoding_type", FT_UINT32, BASE_DEC,
20188                 VALS(RedundancyEncodingMode_secondaryEncoding_vals), 0, "Type of RedundancyEncodingMode_secondaryEncoding choice", HFILL }},
20189         { &hf_h245_V76ModeParameters,
20190                 { "V76ModeParameters type", "h245.V76ModeParameters_type", FT_UINT32, BASE_DEC,
20191                 VALS(V76ModeParameters_vals), 0, "Type of V76ModeParameters choice", HFILL }},
20192         { &hf_h245_H223ModeParameters_adaptationLayerType,
20193                 { "H223ModeParameters_adaptationLayerType type", "h245.H223ModeParameters_adaptationLayerType_type", FT_UINT32, BASE_DEC,
20194                 VALS(H223ModeParameters_adaptationLayerType_vals), 0, "Type of H223ModeParameters_adaptationLayerType choice", HFILL }},
20195         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream,
20196                 { "FECMode_rfc2733Mode_mode_separateStream type", "h245.FECMode_rfc2733Mode_mode_separateStream_type", FT_UINT32, BASE_DEC,
20197                 VALS(FECMode_rfc2733Mode_mode_separateStream_vals), 0, "Type of FECMode_rfc2733Mode_mode_separateStream choice", HFILL }},
20198         { &hf_h245_FECMode_rfc2733Mode_mode,
20199                 { "FECMode_rfc2733Mode_mode type", "h245.FECMode_rfc2733Mode_mode_type", FT_UINT32, BASE_DEC,
20200                 VALS(FECMode_rfc2733Mode_mode_vals), 0, "Type of FECMode_rfc2733Mode_mode choice", HFILL }},
20201         { &hf_h245_FECMode,
20202                 { "FECMode type", "h245.FECMode_type", FT_UINT32, BASE_DEC,
20203                 VALS(FECMode_vals), 0, "Type of FECMode choice", HFILL }},
20204         { &hf_h245_RedundancyEncodingDTModeElement_type,
20205                 { "RedundancyEncodingDTModeElement_type type", "h245.RedundancyEncodingDTModeElement_type_type", FT_UINT32, BASE_DEC,
20206                 VALS(RedundancyEncodingDTModeElement_type_vals), 0, "Type of RedundancyEncodingDTModeElement_type choice", HFILL }},
20207         { &hf_h245_H235Mode_mediaMode,
20208                 { "H235Mode_mediaMode type", "h245.H235Mode_mediaMode_type", FT_UINT32, BASE_DEC,
20209                 VALS(H235Mode_mediaMode_vals), 0, "Type of H235Mode_mediaMode choice", HFILL }},
20210         { &hf_h245_ModeElementType,
20211                 { "ModeElementType type", "h245.ModeElementType_type", FT_UINT32, BASE_DEC,
20212                 VALS(ModeElementType_vals), 0, "Type of ModeElementType choice", HFILL }},
20213         { &hf_h245_RequestModeReject_cause,
20214                 { "RequestModeReject_cause type", "h245.RequestModeReject_cause_type", FT_UINT32, BASE_DEC,
20215                 VALS(RequestModeReject_cause_vals), 0, "Type of RequestModeReject_cause choice", HFILL }},
20216         { &hf_h245_RequestMultiplexEntryRejectionDescriptions_cause,
20217                 { "RequestMultiplexEntryRejectionDescriptions_cause type", "h245.RequestMultiplexEntryRejectionDescriptions_cause_type", FT_UINT32, BASE_DEC,
20218                 VALS(RequestMultiplexEntryRejectionDescriptions_cause_vals), 0, "Type of RequestMultiplexEntryRejectionDescriptions_cause choice", HFILL }},
20219         { &hf_h245_MultiplexEntryRejectionDescriptions_cause,
20220                 { "MultiplexEntryRejectionDescriptions_cause type", "h245.MultiplexEntryRejectionDescriptions_cause_type", FT_UINT32, BASE_DEC,
20221                 VALS(MultiplexEntryRejectionDescriptions_cause_vals), 0, "Type of MultiplexEntryRejectionDescriptions_cause choice", HFILL }},
20222         { &hf_h245_MultiplexElement_repeatCount,
20223                 { "MultiplexElement_repeatCount type", "h245.MultiplexElement_repeatCount_type", FT_UINT32, BASE_DEC,
20224                 VALS(MultiplexElement_repeatCount_vals), 0, "Type of MultiplexElement_repeatCount choice", HFILL }},
20225         { &hf_h245_MultiplexElement_type,
20226                 { "MultiplexElement_type type", "h245.MultiplexElement_type_type", FT_UINT32, BASE_DEC,
20227                 VALS(MultiplexElement_type_vals), 0, "Type of MultiplexElement_type choice", HFILL }},
20228         { &hf_h245_RequestChannelCloseReject_cause,
20229                 { "RequestChannelCloseReject_cause type", "h245.RequestChannelCloseReject_cause_type", FT_UINT32, BASE_DEC,
20230                 VALS(RequestChannelCloseReject_cause_vals), 0, "Type of RequestChannelCloseReject_cause choice", HFILL }},
20231         { &hf_h245_RequestChannelClose_reason,
20232                 { "RequestChannelClose_reason type", "h245.RequestChannelClose_reason_type", FT_UINT32, BASE_DEC,
20233                 VALS(RequestChannelClose_reason_vals), 0, "Type of RequestChannelClose_reason choice", HFILL }},
20234         { &hf_h245_CloseLogicalChannel_reason,
20235                 { "CloseLogicalChannel_reason type", "h245.CloseLogicalChannel_reason_type", FT_UINT32, BASE_DEC,
20236                 VALS(CloseLogicalChannel_reason_vals), 0, "Type of CloseLogicalChannel_reason choice", HFILL }},
20237         { &hf_h245_CloseLogicalChannel_source,
20238                 { "CloseLogicalChannel_source type", "h245.CloseLogicalChannel_source_type", FT_UINT32, BASE_DEC,
20239                 VALS(CloseLogicalChannel_source_vals), 0, "Type of CloseLogicalChannel_source choice", HFILL }},
20240         { &hf_h245_OpenLogicalChannelReject_cause,
20241                 { "OpenLogicalChannelReject_cause type", "h245.OpenLogicalChannelReject_cause_type", FT_UINT32, BASE_DEC,
20242                 VALS(OpenLogicalChannelReject_cause_vals), 0, "Type of OpenLogicalChannelReject_cause choice", HFILL }},
20243         { &hf_h245_forwardMultiplexAckParameters,
20244                 { "forwardMultiplexAckParameters type", "h245.forwardMultiplexAckParameters_type", FT_UINT32, BASE_DEC,
20245                 VALS(forwardMultiplexAckParameters_vals), 0, "Type of forwardMultiplexAckParameters choice", HFILL }},
20246         { &hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters,
20247                 { "OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters type", "h245.OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20248                 VALS(OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_vals), 0, "Type of OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters choice", HFILL }},
20249         { &hf_h245_MulticastAddress,
20250                 { "MulticastAddress type", "h245.MulticastAddress_type", FT_UINT32, BASE_DEC,
20251                 VALS(MulticastAddress_vals), 0, "Type of MulticastAddress choice", HFILL }},
20252         { &hf_h245_UnicastAddress_iPSourceRouteAddress_routing,
20253                 { "UnicastAddress_iPSourceRouteAddress_routing type", "h245.UnicastAddress_iPSourceRouteAddress_routing_type", FT_UINT32, BASE_DEC,
20254                 VALS(UnicastAddress_iPSourceRouteAddress_routing_vals), 0, "Type of UnicastAddress_iPSourceRouteAddress_routing choice", HFILL }},
20255         { &hf_h245_UnicastAddress,
20256                 { "UnicastAddress type", "h245.UnicastAddress_type", FT_UINT32, BASE_DEC,
20257                 VALS(UnicastAddress_vals), 0, "Type of UnicastAddress choice", HFILL }},
20258         { &hf_h245_mediaControlChannel,
20259                 { "mediaControlChannel type", "h245.mediaControlChannel_type", FT_UINT32, BASE_DEC,
20260                 VALS(TransportAddress_vals), 0, "Type of mediaControlChannel choice", HFILL }},
20261         { &hf_h245_mediaChannel,
20262                 { "mediaChannel type", "h245.mediaChannel_type", FT_UINT32, BASE_DEC,
20263                 VALS(TransportAddress_vals), 0, "Type of mediaChannel choice", HFILL }},
20264         { &hf_h245_localAreaAddress,
20265                 { "localAreaAddress type", "h245.localAreaAddress_type", FT_UINT32, BASE_DEC,
20266                 VALS(TransportAddress_vals), 0, "Type of localAreaAddress choice", HFILL }},
20267         { &hf_h245_signalAddress,
20268                 { "signalAddress type", "h245.signalAddress_type", FT_UINT32, BASE_DEC,
20269                 VALS(TransportAddress_vals), 0, "Type of signalAddress choice", HFILL }},
20270         { &hf_h245_FECData_rfc2733_mode_separateStream,
20271                 { "FECData_rfc2733_mode_separateStream type", "h245.FECData_rfc2733_mode_separateStream_type", FT_UINT32, BASE_DEC,
20272                 VALS(FECData_rfc2733_mode_separateStream_vals), 0, "Type of FECData_rfc2733_mode_separateStream choice", HFILL }},
20273         { &hf_h245_FECData_rfc2733_mode,
20274                 { "FECData_rfc2733_mode type", "h245.FECData_rfc2733_mode_type", FT_UINT32, BASE_DEC,
20275                 VALS(FECData_rfc2733_mode_vals), 0, "Type of FECData_rfc2733_mode choice", HFILL }},
20276         { &hf_h245_FECData,
20277                 { "FECData type", "h245.FECData_type", FT_UINT32, BASE_DEC,
20278                 VALS(FECData_vals), 0, "Type of FECData choice", HFILL }},
20279         { &hf_h245_RTPPayloadType_payloadDescriptor,
20280                 { "RTPPayloadType_payloadDescriptor type", "h245.RTPPayloadType_payloadDescriptor_type", FT_UINT32, BASE_DEC,
20281                 VALS(RTPPayloadType_payloadDescriptor_vals), 0, "Type of RTPPayloadType_payloadDescriptor choice", HFILL }},
20282         { &hf_h245_H2250LogicalChannelParameters_mediaPacketization,
20283                 { "H2250LogicalChannelParameters_mediaPacketization type", "h245.H2250LogicalChannelParameters_mediaPacketization_type", FT_UINT32, BASE_DEC,
20284                 VALS(H2250LogicalChannelParameters_mediaPacketization_vals), 0, "Type of H2250LogicalChannelParameters_mediaPacketization choice", HFILL }},
20285         { &hf_h245_CRCLength,
20286                 { "CRCLength type", "h245.CRCLength_type", FT_UINT32, BASE_DEC,
20287                 VALS(CRCLength_vals), 0, "Type of CRCLength choice", HFILL }},
20288         { &hf_h245_V76LogicalChannelParameters_mode_eRM_recovery,
20289                 { "V76LogicalChannelParameters_mode_eRM_recovery type", "h245.V76LogicalChannelParameters_mode_eRM_recovery_type", FT_UINT32, BASE_DEC,
20290                 VALS(V76LogicalChannelParameters_mode_eRM_recovery_vals), 0, "Type of V76LogicalChannelParameters_mode_eRM_recovery choice", HFILL }},
20291         { &hf_h245_V76LogicalChannelParameters_mode,
20292                 { "V76LogicalChannelParameters_mode type", "h245.V76LogicalChannelParameters_mode_type", FT_UINT32, BASE_DEC,
20293                 VALS(V76LogicalChannelParameters_mode_vals), 0, "Type of V76LogicalChannelParameters_mode choice", HFILL }},
20294         { &hf_h245_V76LogicalChannelParameters_suspendResume,
20295                 { "V76LogicalChannelParameters_suspendResume type", "h245.V76LogicalChannelParameters_suspendResume_type", FT_UINT32, BASE_DEC,
20296                 VALS(V76LogicalChannelParameters_suspendResume_vals), 0, "Type of V76LogicalChannelParameters_suspendResume choice", HFILL }},
20297         { &hf_h245_H223AnnexCArqParameters_numberOfRetransmissions,
20298                 { "H223AnnexCArqParameters_numberOfRetransmissions type", "h245.H223AnnexCArqParameters_numberOfRetransmissions_type", FT_UINT32, BASE_DEC,
20299                 VALS(H223AnnexCArqParameters_numberOfRetransmissions_vals), 0, "Type of H223AnnexCArqParameters_numberOfRetransmissions choice", HFILL }},
20300         { &hf_h245_H223AL3MParameters_arqType,
20301                 { "H223AL3MParameters_arqType type", "h245.H223AL3MParameters_arqType_type", FT_UINT32, BASE_DEC,
20302                 VALS(H223AL3MParameters_arqType_vals), 0, "Type of H223AL3MParameters_arqType choice", HFILL }},
20303         { &hf_h245_H223AL3MParameters_crcLength,
20304                 { "H223AL3MParameters_crcLength type", "h245.H223AL3MParameters_crcLength_type", FT_UINT32, BASE_DEC,
20305                 VALS(H223AL3MParameters_crcLength_vals), 0, "Type of H223AL3MParameters_crcLength choice", HFILL }},
20306         { &hf_h245_H223AL3MParameters_headerFormat,
20307                 { "H223AL3MParameters_headerFormat type", "h245.H223AL3MParameters_headerFormat_type", FT_UINT32, BASE_DEC,
20308                 VALS(H223AL3MParameters_headerFormat_vals), 0, "Type of H223AL3MParameters_headerFormat choice", HFILL }},
20309         { &hf_h245_H223AL2MParameters_headerFEC,
20310                 { "H223AL2MParameters_headerFEC type", "h245.H223AL2MParameters_headerFEC_type", FT_UINT32, BASE_DEC,
20311                 VALS(H223AL2MParameters_headerFEC_vals), 0, "Type of H223AL2MParameters_headerFEC choice", HFILL }},
20312         { &hf_h245_H223AL1MParameters_arqType,
20313                 { "H223AL1MParameters_arqType type", "h245.H223AL1MParameters_arqType_type", FT_UINT32, BASE_DEC,
20314                 VALS(H223AL1MParameters_arqType_vals), 0, "Type of H223AL1MParameters_arqType choice", HFILL }},
20315         { &hf_h245_H223AL1MParameters_crcLength,
20316                 { "H223AL1MParameters_crcLength type", "h245.H223AL1MParameters_crcLength_type", FT_UINT32, BASE_DEC,
20317                 VALS(H223AL1MParameters_crcLength_vals), 0, "Type of H223AL1MParameters_crcLength choice", HFILL }},
20318         { &hf_h245_H223AL1MParameters_headerFEC,
20319                 { "H223AL1MParameters_headerFEC type", "h245.H223AL1MParameters_headerFEC_type", FT_UINT32, BASE_DEC,
20320                 VALS(H223AL1MParameters_headerFEC_vals), 0, "Type of H223AL1MParameters_headerFEC choice", HFILL }},
20321         { &hf_h245_H223AL1MParameters_transferMode,
20322                 { "H223AL1MParameters_transferMode type", "h245.H223AL1MParameters_transferMode_type", FT_UINT32, BASE_DEC,
20323                 VALS(H223AL1MParameters_transferMode_vals), 0, "Type of H223AL1MParameters_transferMode choice", HFILL }},
20324         { &hf_h245_H223LogicalChannelParameters_adaptationLayerType,
20325                 { "H223LogicalChannelParameters_adaptationLayerType type", "h245.H223LogicalChannelParameters_adaptationLayerType_type", FT_UINT32, BASE_DEC,
20326                 VALS(H223LogicalChannelParameters_adaptationLayerType_vals), 0, "Type of H223LogicalChannelParameters_adaptationLayerType choice", HFILL }},
20327         { &hf_h245_H235Media_mediaType,
20328                 { "H235Media_mediaType type", "h245.H235Media_mediaType_type", FT_UINT32, BASE_DEC,
20329                 VALS(H235Media_mediaType_vals), 0, "Type of H235Media_mediaType choice", HFILL }},
20330         { &hf_h245_DataType,
20331                 { "DataType type", "h245.DataType_type", FT_UINT32, BASE_DEC,
20332                 VALS(DataType_vals), 0, "Type of DataType choice", HFILL }},
20333         { &hf_h245_Q2931Address_address,
20334                 { "Q2931Address_address type", "h245.Q2931Address_address_type", FT_UINT32, BASE_DEC,
20335                 VALS(Q2931Address_address_vals), 0, "Type of Q2931Address_address choice", HFILL }},
20336         { &hf_h245_NetworkAccessParameters_t120SetupProcedure,
20337                 { "NetworkAccessParameters_t120SetupProcedure type", "h245.NetworkAccessParameters_t120SetupProcedure_type", FT_UINT32, BASE_DEC,
20338                 VALS(NetworkAccessParameters_t120SetupProcedure_vals), 0, "Type of NetworkAccessParameters_t120SetupProcedure choice", HFILL }},
20339         { &hf_h245_NetworkAccessParameters_networkAddress,
20340                 { "NetworkAccessParameters_networkAddress type", "h245.NetworkAccessParameters_networkAddress_type", FT_UINT32, BASE_DEC,
20341                 VALS(NetworkAccessParameters_networkAddress_vals), 0, "Type of NetworkAccessParameters_networkAddress choice", HFILL }},
20342         { &hf_h245_NetworkAccessParameters_distribution,
20343                 { "NetworkAccessParameters_distribution type", "h245.NetworkAccessParameters_distribution_type", FT_UINT32, BASE_DEC,
20344                 VALS(NetworkAccessParameters_distribution_vals), 0, "Type of NetworkAccessParameters_distribution choice", HFILL }},
20345         { &hf_h245_reverseLogicalChannelParameters_multiplexParameters,
20346                 { "reverseLogicalChannelParameters_multiplexParameters type", "h245.reverseLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20347                 VALS(reverseLogicalChannelParameters_multiplexParameters_vals), 0, "Type of reverseLogicalChannelParameters_multiplexParameters choice", HFILL }},
20348         { &hf_h245_forwardLogicalChannelParameters_multiplexParameters,
20349                 { "forwardLogicalChannelParameters_multiplexParameters type", "h245.forwardLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20350                 VALS(forwardLogicalChannelParameters_multiplexParameters_vals), 0, "Type of forwardLogicalChannelParameters_multiplexParameters choice", HFILL }},
20351         { &hf_h245_FECCapability,
20352                 { "FECCapability type", "h245.FECCapability_type", FT_UINT32, BASE_DEC,
20353                 VALS(FECCapability_vals), 0, "Type of FECCapability choice", HFILL }},
20354         { &hf_h245_MultiplexFormat,
20355                 { "MultiplexFormat type", "h245.MultiplexFormat_type", FT_UINT32, BASE_DEC,
20356                 VALS(MultiplexFormat_vals), 0, "Type of MultiplexFormat choice", HFILL }},
20357         { &hf_h245_ParameterValue,
20358                 { "ParameterValue type", "h245.ParameterValue_type", FT_UINT32, BASE_DEC,
20359                 VALS(ParameterValue_vals), 0, "Type of ParameterValue choice", HFILL }},
20360         { &hf_h245_ParameterIdentifier,
20361                 { "ParameterIdentifier type", "h245.ParameterIdentifier_type", FT_UINT32, BASE_DEC,
20362                 VALS(ParameterIdentifier_vals), 0, "Type of ParameterIdentifier choice", HFILL }},
20363         { &hf_h245_CapabilityIdentifier,
20364                 { "CapabilityIdentifier type", "h245.CapabilityIdentifier_type", FT_UINT32, BASE_DEC,
20365                 VALS(CapabilityIdentifier_vals), 0, "Type of CapabilityIdentifier choice", HFILL }},
20366         { &hf_h245_UserInputCapability,
20367                 { "UserInputCapability type", "h245.UserInputCapability_type", FT_UINT32, BASE_DEC,
20368                 VALS(UserInputCapability_vals), 0, "Type of UserInputCapability choice", HFILL }},
20369         { &hf_h245_MediaEncryptionAlgorithm,
20370                 { "MediaEncryptionAlgorithm type", "h245.MediaEncryptionAlgorithm_type", FT_UINT32, BASE_DEC,
20371                 VALS(MediaEncryptionAlgorithm_vals), 0, "Type of MediaEncryptionAlgorithm choice", HFILL }},
20372         { &hf_h245_T38FaxUdpOptions_t38FaxUdpEC,
20373                 { "T38FaxUdpOptions_t38FaxUdpEC type", "h245.T38FaxUdpOptions_t38FaxUdpEC_type", FT_UINT32, BASE_DEC,
20374                 VALS(T38FaxUdpOptions_t38FaxUdpEC_vals), 0, "Type of T38FaxUdpOptions_t38FaxUdpEC choice", HFILL }},
20375         { &hf_h245_T38FaxRateManagement,
20376                 { "T38FaxRateManagement type", "h245.T38FaxRateManagement_type", FT_UINT32, BASE_DEC,
20377                 VALS(T38FaxRateManagement_vals), 0, "Type of T38FaxRateManagement choice", HFILL }},
20378         { &hf_h245_T84Profile,
20379                 { "T84Profile type", "h245.T84Profile_type", FT_UINT32, BASE_DEC,
20380                 VALS(T84Profile_vals), 0, "Type of T84Profile choice", HFILL }},
20381         { &hf_h245_CompressionType,
20382                 { "CompressionType type", "h245.CompressionType_type", FT_UINT32, BASE_DEC,
20383                 VALS(CompressionType_vals), 0, "Type of CompressionType choice", HFILL }},
20384         { &hf_h245_DataProtocolCapability_v76wCompression,
20385                 { "DataProtocolCapability_v76wCompression type", "h245.DataProtocolCapability_v76wCompression_type", FT_UINT32, BASE_DEC,
20386                 VALS(DataProtocolCapability_v76wCompression_vals), 0, "Type of DataProtocolCapability_v76wCompression choice", HFILL }},
20387         { &hf_h245_DataProtocolCapability,
20388                 { "DataProtocolCapability type", "h245.DataProtocolCapability_type", FT_UINT32, BASE_DEC,
20389                 VALS(DataProtocolCapability_vals), 0, "Type of DataProtocolCapability choice", HFILL }},
20390         { &hf_h245_DataApplicationCapability_application,
20391                 { "DataApplicationCapability_application type", "h245.DataApplicationCapability_application_type", FT_UINT32, BASE_DEC,
20392                 VALS(DataApplicationCapability_application_vals), 0, "Type of DataApplicationCapability_application choice", HFILL }},
20393         { &hf_h245_AudioCapability,
20394                 { "AudioCapability type", "h245.AudioCapability_type", FT_UINT32, BASE_DEC,
20395                 VALS(AudioCapability_vals), 0, "Type of AudioCapability choice", HFILL }},
20396         { &hf_h245_CustomPictureFormat_pixelAspectInformation,
20397                 { "CustomPictureFormat_pixelAspectInformation type", "h245.CustomPictureFormat_pixelAspectInformation_type", FT_UINT32, BASE_DEC,
20398                 VALS(CustomPictureFormat_pixelAspectInformation_vals), 0, "Type of CustomPictureFormat_pixelAspectInformation choice", HFILL }},
20399         { &hf_h245_RefPictureSelection_videoBackChannelSend,
20400                 { "RefPictureSelection_videoBackChannelSend type", "h245.RefPictureSelection_videoBackChannelSend_type", FT_UINT32, BASE_DEC,
20401                 VALS(RefPictureSelection_videoBackChannelSend_vals), 0, "Type of RefPictureSelection_videoBackChannelSend choice", HFILL }},
20402         { &hf_h245_VideoCapability,
20403                 { "VideoCapability type", "h245.VideoCapability_type", FT_UINT32, BASE_DEC,
20404                 VALS(VideoCapability_vals), 0, "Type of VideoCapability choice", HFILL }},
20405         { &hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,
20406                 { "RTPH263VideoRedundancyEncoding_frameToThreadMapping type", "h245.RTPH263VideoRedundancyEncoding_frameToThreadMapping_type", FT_UINT32, BASE_DEC,
20407                 VALS(RTPH263VideoRedundancyEncoding_frameToThreadMapping_vals), 0, "Type of RTPH263VideoRedundancyEncoding_frameToThreadMapping choice", HFILL }},
20408         { &hf_h245_RedundancyEncodingMethod,
20409                 { "RedundancyEncodingMethod type", "h245.RedundancyEncodingMethod_type", FT_UINT32, BASE_DEC,
20410                 VALS(RedundancyEncodingMethod_vals), 0, "Type of RedundancyEncodingMethod choice", HFILL }},
20411         { &hf_h245_MediaTransportType,
20412                 { "MediaTransportType type", "h245.MediaTransportType_type", FT_UINT32, BASE_DEC,
20413                 VALS(MediaTransportType_vals), 0, "Type of MediaTransportType choice", HFILL }},
20414         { &hf_h245_QOSMode,
20415                 { "QOSMode type", "h245.QOSMode_type", FT_UINT32, BASE_DEC,
20416                 VALS(QOSMode_vals), 0, "Type of QOSMode choice", HFILL }},
20417         { &hf_h245_H223Capability_h223MultiplexTableCapability,
20418                 { "H223Capability_h223MultiplexTableCapability type", "h245.H223Capability_h223MultiplexTableCapability_type", FT_UINT32, BASE_DEC,
20419                 VALS(H223Capability_h223MultiplexTableCapability_vals), 0, "Type of H223Capability_h223MultiplexTableCapability choice", HFILL }},
20420         { &hf_h245_VCCapability_availableBitRates_type,
20421                 { "VCCapability_availableBitRates_type type", "h245.VCCapability_availableBitRates_type_type", FT_UINT32, BASE_DEC,
20422                 VALS(VCCapability_availableBitRates_type_vals), 0, "Type of VCCapability_availableBitRates_type choice", HFILL }},
20423         { &hf_h245_MultiplexCapability,
20424                 { "MultiplexCapability type", "h245.MultiplexCapability_type", FT_UINT32, BASE_DEC,
20425                 VALS(MultiplexCapability_vals), 0, "Type of MultiplexCapability choice", HFILL }},
20426         { &hf_h245_Capability,
20427                 { "Capability type", "h245.Capability_type", FT_UINT32, BASE_DEC,
20428                 VALS(Capability_vals), 0, "Type of Capability choice", HFILL }},
20429         { &hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded,
20430                 { "TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded type", "h245.TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_type", FT_UINT32, BASE_DEC,
20431                 VALS(TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_vals), 0, "Type of TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded choice", HFILL }},
20432         { &hf_h245_TerminalCapabilitySetReject_cause,
20433                 { "TerminalCapabilitySetReject_cause type", "h245.TerminalCapabilitySetReject_cause_type", FT_UINT32, BASE_DEC,
20434                 VALS(TerminalCapabilitySetReject_cause_vals), 0, "Type of TerminalCapabilitySetReject_cause choice", HFILL }},
20435         { &hf_h245_MasterSlaveDeterminationReject_cause,
20436                 { "MasterSlaveDeterminationReject_cause type", "h245.MasterSlaveDeterminationReject_cause_type", FT_UINT32, BASE_DEC,
20437                 VALS(MasterSlaveDeterminationReject_cause_vals), 0, "Type of MasterSlaveDeterminationReject_cause choice", HFILL }},
20438         { &hf_h245_MasterSlaveDeterminationAck_decision,
20439                 { "MasterSlaveDeterminationAck_decision type", "h245.MasterSlaveDeterminationAck_decision_type", FT_UINT32, BASE_DEC,
20440                 VALS(MasterSlaveDeterminationAck_decision_vals), 0, "Type of MasterSlaveDeterminationAck_decision choice", HFILL }},
20441         { &hf_h245_RequestModeAck_response_decision,
20442                 { "RequestModeAck_response_decision type", "h245.RequestModeAck_response_decision_type", FT_UINT32, BASE_DEC,
20443                 VALS(RequestModeAck_response_decision_vals), 0, "Type of RequestModeAck_response_decision choice", HFILL }},
20444         { &hf_h245_NonStandardIdentifier,
20445                 { "NonStandardIdentifier type", "h245.NonStandardIdentifier_type", FT_UINT32, BASE_DEC,
20446                 VALS(NonStandardIdentifier_vals), 0, "Type of NonStandardIdentifier choice", HFILL }},
20447         { &hf_h245_h233EncryptionTransmitCapability,
20448                 { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability", FT_BOOLEAN, 8,
20449                 TFS(&tfs_h233EncryptionTransmitCapability_bit), 0x01, "The h233EncryptionTransmitCapability bit", HFILL }},
20450         { &hf_h245_nullClockRecovery,
20451                 { "nullClockRecovery", "h245.nullClockRecovery", FT_BOOLEAN, 8,
20452                 TFS(&tfs_nullClockRecovery_bit), 0x01, "The nullClockRecovery bit", HFILL }},
20453         { &hf_h245_srtsClockRecovery,
20454                 { "srtsClockRecovery", "h245.srtsClockRecovery", FT_BOOLEAN, 8,
20455                 TFS(&tfs_srtsClockRecovery_bit), 0x01, "The srtsClockRecovery bit", HFILL }},
20456         { &hf_h245_adaptiveClockRecovery,
20457                 { "adaptiveClockRecovery", "h245.adaptiveClockRecovery", FT_BOOLEAN, 8,
20458                 TFS(&tfs_adaptiveClockRecovery_bit), 0x01, "The adaptiveClockRecovery bit", HFILL }},
20459         { &hf_h245_nullErrorCorrection,
20460                 { "nullErrorCorrection", "h245.nullErrorCorrection", FT_BOOLEAN, 8,
20461                 TFS(&tfs_nullErrorCorrection_bit), 0x01, "The nullErrorCorrection bit", HFILL }},
20462         { &hf_h245_longInterleaver,
20463                 { "longInterleaver", "h245.longInterleaver", FT_BOOLEAN, 8,
20464                 TFS(&tfs_longInterleaver_bit), 0x01, "The longInterleaver bit", HFILL }},
20465         { &hf_h245_shortInterleaver,
20466                 { "shortInterleaver", "h245.shortInterleaver", FT_BOOLEAN, 8,
20467                 TFS(&tfs_shortInterleaver_bit), 0x01, "The shortInterleaver bit", HFILL }},
20468         { &hf_h245_errorCorrectionOnly,
20469                 { "errorCorrectionOnly", "h245.errorCorrectionOnly", FT_BOOLEAN, 8,
20470                 TFS(&tfs_errorCorrectionOnly_bit), 0x01, "The errorCorrectionOnly bit", HFILL }},
20471         { &hf_h245_structuredDataTransfer,
20472                 { "structuredDataTransfer", "h245.structuredDataTransfer", FT_BOOLEAN, 8,
20473                 TFS(&tfs_structuredDataTransfer_bit), 0x01, "The structuredDataTransfer bit", HFILL }},
20474         { &hf_h245_partiallyFilledCells,
20475                 { "partiallyFilledCells", "h245.partiallyFilledCells", FT_BOOLEAN, 8,
20476                 TFS(&tfs_partiallyFilledCells_bit), 0x01, "The partiallyFilledCells bit", HFILL }},
20477         { &hf_h245_transportStream,
20478                 { "transportStream", "h245.transportStream", FT_BOOLEAN, 8,
20479                 TFS(&tfs_transportStream_bit), 0x01, "The transportStream bit", HFILL }},
20480         { &hf_h245_programStream,
20481                 { "programStream", "h245.programStream", FT_BOOLEAN, 8,
20482                 TFS(&tfs_programStream_bit), 0x01, "The programStream bit", HFILL }},
20483         { &hf_h245_transportWithIframes,
20484                 { "transportWithIframes", "h245.transportWithIframes", FT_BOOLEAN, 8,
20485                 TFS(&tfs_transportWithIframes_bit), 0x01, "The transportWithIframes bit", HFILL }},
20486         { &hf_h245_videoWithAL1,
20487                 { "videoWithAL1", "h245.videoWithAL1", FT_BOOLEAN, 8,
20488                 TFS(&tfs_videoWithAL1_bit), 0x01, "The videoWithAL1 bit", HFILL }},
20489         { &hf_h245_videoWithAL2,
20490                 { "videoWithAL2", "h245.videoWithAL2", FT_BOOLEAN, 8,
20491                 TFS(&tfs_videoWithAL2_bit), 0x01, "The videoWithAL2 bit", HFILL }},
20492         { &hf_h245_videoWithAL3,
20493                 { "videoWithAL3", "h245.videoWithAL3", FT_BOOLEAN, 8,
20494                 TFS(&tfs_videoWithAL3_bit), 0x01, "The videoWithAL3 bit", HFILL }},
20495         { &hf_h245_audioWithAL1,
20496                 { "audioWithAL1", "h245.audioWithAL1", FT_BOOLEAN, 8,
20497                 TFS(&tfs_audioWithAL1_bit), 0x01, "The audioWithAL1 bit", HFILL }},
20498         { &hf_h245_audioWithAL2,
20499                 { "audioWithAL2", "h245.audioWithAL2", FT_BOOLEAN, 8,
20500                 TFS(&tfs_audioWithAL2_bit), 0x01, "The audioWithAL2 bit", HFILL }},
20501         { &hf_h245_audioWithAL3,
20502                 { "audioWithAL3", "h245.audioWithAL3", FT_BOOLEAN, 8,
20503                 TFS(&tfs_audioWithAL3_bit), 0x01, "The audioWithAL3 bit", HFILL }},
20504         { &hf_h245_dataWithAL1,
20505                 { "dataWithAL1", "h245.dataWithAL1", FT_BOOLEAN, 8,
20506                 TFS(&tfs_dataWithAL1_bit), 0x01, "The dataWithAL1 bit", HFILL }},
20507         { &hf_h245_dataWithAL2,
20508                 { "dataWithAL2", "h245.dataWithAL2", FT_BOOLEAN, 8,
20509                 TFS(&tfs_dataWithAL2_bit), 0x01, "The dataWithAL2 bit", HFILL }},
20510         { &hf_h245_dataWithAL3,
20511                 { "dataWithAL3", "h245.dataWithAL3", FT_BOOLEAN, 8,
20512                 TFS(&tfs_dataWithAL3_bit), 0x01, "The dataWithAL3 bit", HFILL }},
20513         { &hf_h245_maxMUXPDUSizeCapability,
20514                 { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability", FT_BOOLEAN, 8,
20515                 TFS(&tfs_maxMUXPDUSizeCapability_bit), 0x01, "The maxMUXPDUSizeCapability bit", HFILL }},
20516         { &hf_h245_nsrpSupport,
20517                 { "nsrpSupport", "h245.nsrpSupport", FT_BOOLEAN, 8,
20518                 TFS(&tfs_nsrpSupport_bit), 0x01, "The nsrpSupport bit", HFILL }},
20519         { &hf_h245_modeChangeCapability,
20520                 { "modeChangeCapability", "h245.modeChangeCapability", FT_BOOLEAN, 8,
20521                 TFS(&tfs_modeChangeCapability_bit), 0x01, "The modeChangeCapability bit", HFILL }},
20522         { &hf_h245_h223AnnexA,
20523                 { "h223AnnexA", "h245.h223AnnexA", FT_BOOLEAN, 8,
20524                 TFS(&tfs_h223AnnexA_bit), 0x01, "The h223AnnexA bit", HFILL }},
20525         { &hf_h245_h223AnnexADoubleFlag_bool,
20526                 { "h223AnnexADoubleFlag_bool", "h245.h223AnnexADoubleFlag_bool", FT_BOOLEAN, 8,
20527                 TFS(&tfs_h223AnnexADoubleFlag_bool_bit), 0x01, "The h223AnnexADoubleFlag_bool bit", HFILL }},
20528         { &hf_h245_h223AnnexB,
20529                 { "h223AnnexB", "h245.h223AnnexB", FT_BOOLEAN, 8,
20530                 TFS(&tfs_h223AnnexB_bit), 0x01, "The h223AnnexB bit", HFILL }},
20531         { &hf_h245_h223AnnexBwithHeader,
20532                 { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader", FT_BOOLEAN, 8,
20533                 TFS(&tfs_h223AnnexBwithHeader_bit), 0x01, "The h223AnnexBwithHeader bit", HFILL }},
20534         { &hf_h245_videoWithAL1M,
20535                 { "videoWithAL1M", "h245.videoWithAL1M", FT_BOOLEAN, 8,
20536                 TFS(&tfs_videoWithAL1M_bit), 0x01, "The videoWithAL1M bit", HFILL }},
20537         { &hf_h245_videoWithAL2M,
20538                 { "videoWithAL2M", "h245.videoWithAL2M", FT_BOOLEAN, 8,
20539                 TFS(&tfs_videoWithAL2M_bit), 0x01, "The videoWithAL2M bit", HFILL }},
20540         { &hf_h245_videoWithAL3M,
20541                 { "videoWithAL3M", "h245.videoWithAL3M", FT_BOOLEAN, 8,
20542                 TFS(&tfs_videoWithAL3M_bit), 0x01, "The videoWithAL3M bit", HFILL }},
20543         { &hf_h245_audioWithAL1M,
20544                 { "audioWithAL1M", "h245.audioWithAL1M", FT_BOOLEAN, 8,
20545                 TFS(&tfs_audioWithAL1M_bit), 0x01, "The audioWithAL1M bit", HFILL }},
20546         { &hf_h245_audioWithAL2M,
20547                 { "audioWithAL2M", "h245.audioWithAL2M", FT_BOOLEAN, 8,
20548                 TFS(&tfs_audioWithAL2M_bit), 0x01, "The audioWithAL2M bit", HFILL }},
20549         { &hf_h245_audioWithAL3M,
20550                 { "audioWithAL3M", "h245.audioWithAL3M", FT_BOOLEAN, 8,
20551                 TFS(&tfs_audioWithAL3M_bit), 0x01, "The audioWithAL3M bit", HFILL }},
20552         { &hf_h245_dataWithAL1M,
20553                 { "dataWithAL1M", "h245.dataWithAL1M", FT_BOOLEAN, 8,
20554                 TFS(&tfs_dataWithAL1M_bit), 0x01, "The dataWithAL1M bit", HFILL }},
20555         { &hf_h245_dataWithAL2M,
20556                 { "dataWithAL2M", "h245.dataWithAL2M", FT_BOOLEAN, 8,
20557                 TFS(&tfs_dataWithAL2M_bit), 0x01, "The dataWithAL2M bit", HFILL }},
20558         { &hf_h245_dataWithAL3M,
20559                 { "dataWithAL3M", "h245.dataWithAL3M", FT_BOOLEAN, 8,
20560                 TFS(&tfs_dataWithAL3M_bit), 0x01, "The dataWithAL3M bit", HFILL }},
20561         { &hf_h245_alpduInterleaving,
20562                 { "alpduInterleaving", "h245.alpduInterleaving", FT_BOOLEAN, 8,
20563                 TFS(&tfs_alpduInterleaving_bit), 0x01, "The alpduInterleaving bit", HFILL }},
20564         { &hf_h245_rsCodeCapability,
20565                 { "rsCodeCapability", "h245.rsCodeCapability", FT_BOOLEAN, 8,
20566                 TFS(&tfs_rsCodeCapability_bit), 0x01, "The rsCodeCapability bit", HFILL }},
20567         { &hf_h245_suspendResumeCapabilitywAddress,
20568                 { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress", FT_BOOLEAN, 8,
20569                 TFS(&tfs_suspendResumeCapabilitywAddress_bit), 0x01, "The suspendResumeCapabilitywAddress bit", HFILL }},
20570         { &hf_h245_suspendResumeCapabilitywoAddress,
20571                 { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress", FT_BOOLEAN, 8,
20572                 TFS(&tfs_suspendResumeCapabilitywoAddress_bit), 0x01, "The suspendResumeCapabilitywoAddress bit", HFILL }},
20573         { &hf_h245_rejCapability,
20574                 { "rejCapability", "h245.rejCapability", FT_BOOLEAN, 8,
20575                 TFS(&tfs_rejCapability_bit), 0x01, "The rejCapability bit", HFILL }},
20576         { &hf_h245_sREJCapability,
20577                 { "sREJCapability", "h245.sREJCapability", FT_BOOLEAN, 8,
20578                 TFS(&tfs_sREJCapability_bit), 0x01, "The sREJCapability bit", HFILL }},
20579         { &hf_h245_mREJCapability,
20580                 { "mREJCapability", "h245.mREJCapability", FT_BOOLEAN, 8,
20581                 TFS(&tfs_mREJCapability_bit), 0x01, "The mREJCapability bit", HFILL }},
20582         { &hf_h245_crc8bitCapability,
20583                 { "crc8bitCapability", "h245.crc8bitCapability", FT_BOOLEAN, 8,
20584                 TFS(&tfs_crc8bitCapability_bit), 0x01, "The crc8bitCapability bit", HFILL }},
20585         { &hf_h245_crc16bitCapability,
20586                 { "crc16bitCapability", "h245.crc16bitCapability", FT_BOOLEAN, 8,
20587                 TFS(&tfs_crc16bitCapability_bit), 0x01, "The crc16bitCapability bit", HFILL }},
20588         { &hf_h245_crc32bitCapability,
20589                 { "crc32bitCapability", "h245.crc32bitCapability", FT_BOOLEAN, 8,
20590                 TFS(&tfs_crc32bitCapability_bit), 0x01, "The crc32bitCapability bit", HFILL }},
20591         { &hf_h245_uihCapability,
20592                 { "uihCapability", "h245.uihCapability", FT_BOOLEAN, 8,
20593                 TFS(&tfs_uihCapability_bit), 0x01, "The uihCapability bit", HFILL }},
20594         { &hf_h245_twoOctetAddressFieldCapability,
20595                 { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability", FT_BOOLEAN, 8,
20596                 TFS(&tfs_twoOctetAddressFieldCapability_bit), 0x01, "The twoOctetAddressFieldCapability bit", HFILL }},
20597         { &hf_h245_loopBackTestCapability,
20598                 { "loopBackTestCapability", "h245.loopBackTestCapability", FT_BOOLEAN, 8,
20599                 TFS(&tfs_loopBackTestCapability_bit), 0x01, "The loopBackTestCapability bit", HFILL }},
20600         { &hf_h245_audioHeader,
20601                 { "audioHeader", "h245.audioHeader", FT_BOOLEAN, 8,
20602                 TFS(&tfs_audioHeader_bit), 0x01, "The audioHeader bit", HFILL }},
20603         { &hf_h245_centralizedConferenceMC,
20604                 { "centralizedConferenceMC", "h245.centralizedConferenceMC", FT_BOOLEAN, 8,
20605                 TFS(&tfs_centralizedConferenceMC_bit), 0x01, "The centralizedConferenceMC bit", HFILL }},
20606         { &hf_h245_decentralizedConferenceMC,
20607                 { "decentralizedConferenceMC", "h245.decentralizedConferenceMC", FT_BOOLEAN, 8,
20608                 TFS(&tfs_decentralizedConferenceMC_bit), 0x01, "The decentralizedConferenceMC bit", HFILL }},
20609         { &hf_h245_rtcpVideoControlCapability,
20610                 { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability", FT_BOOLEAN, 8,
20611                 TFS(&tfs_rtcpVideoControlCapability_bit), 0x01, "The rtcpVideoControlCapability bit", HFILL }},
20612         { &hf_h245_logicalChannelSwitchingCapability,
20613                 { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability", FT_BOOLEAN, 8,
20614                 TFS(&tfs_logicalChannelSwitchingCapability_bit), 0x01, "The logicalChannelSwitchingCapability bit", HFILL }},
20615         { &hf_h245_t120DynamicPortCapability,
20616                 { "t120DynamicPortCapability", "h245.t120DynamicPortCapability", FT_BOOLEAN, 8,
20617                 TFS(&tfs_t120DynamicPortCapability_bit), 0x01, "The t120DynamicPortCapability bit", HFILL }},
20618         { &hf_h245_h261aVideoPacketization,
20619                 { "h261aVideoPacketization", "h245.h261aVideoPacketization", FT_BOOLEAN, 8,
20620                 TFS(&tfs_h261aVideoPacketization_bit), 0x01, "The h261aVideoPacketization bit", HFILL }},
20621         { &hf_h245_atmUBR,
20622                 { "atmUBR", "h245.atmUBR", FT_BOOLEAN, 8,
20623                 TFS(&tfs_atmUBR_bit), 0x01, "The atmUBR bit", HFILL }},
20624         { &hf_h245_atmrtVBR,
20625                 { "atmrtVBR", "h245.atmrtVBR", FT_BOOLEAN, 8,
20626                 TFS(&tfs_atmrtVBR_bit), 0x01, "The atmrtVBR bit", HFILL }},
20627         { &hf_h245_atmnrtVBR,
20628                 { "atmnrtVBR", "h245.atmnrtVBR", FT_BOOLEAN, 8,
20629                 TFS(&tfs_atmnrtVBR_bit), 0x01, "The atmnrtVBR bit", HFILL }},
20630         { &hf_h245_atmABR,
20631                 { "atmABR", "h245.atmABR", FT_BOOLEAN, 8,
20632                 TFS(&tfs_atmABR_bit), 0x01, "The atmABR bit", HFILL }},
20633         { &hf_h245_atmCBR,
20634                 { "atmCBR", "h245.atmCBR", FT_BOOLEAN, 8,
20635                 TFS(&tfs_atmCBR_bit), 0x01, "The atmCBR bit", HFILL }},
20636         { &hf_h245_variableDelta,
20637                 { "variableDelta", "h245.variableDelta", FT_BOOLEAN, 8,
20638                 TFS(&tfs_variableDelta_bit), 0x01, "The variableDelta bit", HFILL }},
20639         { &hf_h245_multicastCapability,
20640                 { "multicastCapability", "h245.multicastCapability", FT_BOOLEAN, 8,
20641                 TFS(&tfs_multicastCapability_bit), 0x01, "The multicastCapability bit", HFILL }},
20642         { &hf_h245_multiUniCastConference,
20643                 { "multiUniCastConference", "h245.multiUniCastConference", FT_BOOLEAN, 8,
20644                 TFS(&tfs_multiUniCastConference_bit), 0x01, "The multiUniCastConference bit", HFILL }},
20645         { &hf_h245_centralizedControl,
20646                 { "centralizedControl", "h245.centralizedControl", FT_BOOLEAN, 8,
20647                 TFS(&tfs_centralizedControl_bit), 0x01, "The centralizedControl bit", HFILL }},
20648         { &hf_h245_distributedControl,
20649                 { "distributedControl", "h245.distributedControl", FT_BOOLEAN, 8,
20650                 TFS(&tfs_distributedControl_bit), 0x01, "The distributedControl bit", HFILL }},
20651         { &hf_h245_centralizedAudio,
20652                 { "centralizedAudio", "h245.centralizedAudio", FT_BOOLEAN, 8,
20653                 TFS(&tfs_centralizedAudio_bit), 0x01, "The centralizedAudio bit", HFILL }},
20654         { &hf_h245_distributedAudio,
20655                 { "distributedAudio", "h245.distributedAudio", FT_BOOLEAN, 8,
20656                 TFS(&tfs_distributedAudio_bit), 0x01, "The distributedAudio bit", HFILL }},
20657         { &hf_h245_centralizedVideo,
20658                 { "centralizedVideo", "h245.centralizedVideo", FT_BOOLEAN, 8,
20659                 TFS(&tfs_centralizedVideo_bit), 0x01, "The centralizedVideo bit", HFILL }},
20660         { &hf_h245_distributedVideo,
20661                 { "distributedVideo", "h245.distributedVideo", FT_BOOLEAN, 8,
20662                 TFS(&tfs_distributedVideo_bit), 0x01, "The distributedVideo bit", HFILL }},
20663         { &hf_h245_temporalSpatialTradeOffCapability,
20664                 { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability", FT_BOOLEAN, 8,
20665                 TFS(&tfs_temporalSpatialTradeOffCapability_bit), 0x01, "The temporalSpatialTradeOffCapability bit", HFILL }},
20666         { &hf_h245_stillImageTransmission,
20667                 { "stillImageTransmission", "h245.stillImageTransmission", FT_BOOLEAN, 8,
20668                 TFS(&tfs_stillImageTransmission_bit), 0x01, "The stillImageTransmission bit", HFILL }},
20669         { &hf_h245_videoBadMBsCap,
20670                 { "videoBadMBsCap", "h245.videoBadMBsCap", FT_BOOLEAN, 8,
20671                 TFS(&tfs_videoBadMBsCap_bit), 0x01, "The videoBadMBsCap bit", HFILL }},
20672         { &hf_h245_profileAndLevelSPatML,
20673                 { "profileAndLevelSPatML", "h245.profileAndLevelSPatML", FT_BOOLEAN, 8,
20674                 TFS(&tfs_profileAndLevelSPatML_bit), 0x01, "The profileAndLevelSPatML bit", HFILL }},
20675         { &hf_h245_profileAndLevelMPatLL,
20676                 { "profileAndLevelMPatLL", "h245.profileAndLevelMPatLL", FT_BOOLEAN, 8,
20677                 TFS(&tfs_profileAndLevelMPatLL_bit), 0x01, "The profileAndLevelMPatLL bit", HFILL }},
20678         { &hf_h245_profileAndLevelMPatML,
20679                 { "profileAndLevelMPatML", "h245.profileAndLevelMPatML", FT_BOOLEAN, 8,
20680                 TFS(&tfs_profileAndLevelMPatML_bit), 0x01, "The profileAndLevelMPatML bit", HFILL }},
20681         { &hf_h245_profileAndLevelMPatH14,
20682                 { "profileAndLevelMPatH14", "h245.profileAndLevelMPatH14", FT_BOOLEAN, 8,
20683                 TFS(&tfs_profileAndLevelMPatH14_bit), 0x01, "The profileAndLevelMPatH14 bit", HFILL }},
20684         { &hf_h245_profileAndLevelMPatHL,
20685                 { "profileAndLevelMPatHL", "h245.profileAndLevelMPatHL", FT_BOOLEAN, 8,
20686                 TFS(&tfs_profileAndLevelMPatHL_bit), 0x01, "The profileAndLevelMPatHL bit", HFILL }},
20687         { &hf_h245_profileAndLevelSNRatLL,
20688                 { "profileAndLevelSNRatLL", "h245.profileAndLevelSNRatLL", FT_BOOLEAN, 8,
20689                 TFS(&tfs_profileAndLevelSNRatLL_bit), 0x01, "The profileAndLevelSNRatLL bit", HFILL }},
20690         { &hf_h245_profileAndLevelSNRatML,
20691                 { "profileAndLevelSNRatML", "h245.profileAndLevelSNRatML", FT_BOOLEAN, 8,
20692                 TFS(&tfs_profileAndLevelSNRatML_bit), 0x01, "The profileAndLevelSNRatML bit", HFILL }},
20693         { &hf_h245_profileAndLevelSpatialatH14,
20694                 { "profileAndLevelSpatialatH14", "h245.profileAndLevelSpatialatH14", FT_BOOLEAN, 8,
20695                 TFS(&tfs_profileAndLevelSpatialatH14_bit), 0x01, "The profileAndLevelSpatialatH14 bit", HFILL }},
20696         { &hf_h245_profileAndLevelHPatML,
20697                 { "profileAndLevelHPatML", "h245.profileAndLevelHPatML", FT_BOOLEAN, 8,
20698                 TFS(&tfs_profileAndLevelHPatML_bit), 0x01, "The profileAndLevelHPatML bit", HFILL }},
20699         { &hf_h245_profileAndLevelHPatH14,
20700                 { "profileAndLevelHPatH14", "h245.profileAndLevelHPatH14", FT_BOOLEAN, 8,
20701                 TFS(&tfs_profileAndLevelHPatH14_bit), 0x01, "The profileAndLevelHPatH14 bit", HFILL }},
20702         { &hf_h245_profileAndLevelHPatHL,
20703                 { "profileAndLevelHPatHL", "h245.profileAndLevelHPatHL", FT_BOOLEAN, 8,
20704                 TFS(&tfs_profileAndLevelHPatHL_bit), 0x01, "The profileAndLevelHPatHL bit", HFILL }},
20705         { &hf_h245_unrestrictedVector,
20706                 { "unrestrictedVector", "h245.unrestrictedVector", FT_BOOLEAN, 8,
20707                 TFS(&tfs_unrestrictedVector_bit), 0x01, "The unrestrictedVector bit", HFILL }},
20708         { &hf_h245_arithmeticCoding,
20709                 { "arithmeticCoding", "h245.arithmeticCoding", FT_BOOLEAN, 8,
20710                 TFS(&tfs_arithmeticCoding_bit), 0x01, "The arithmeticCoding bit", HFILL }},
20711         { &hf_h245_advancedPrediction,
20712                 { "advancedPrediction", "h245.advancedPrediction", FT_BOOLEAN, 8,
20713                 TFS(&tfs_advancedPrediction_bit), 0x01, "The advancedPrediction bit", HFILL }},
20714         { &hf_h245_pbFrames,
20715                 { "pbFrames", "h245.pbFrames", FT_BOOLEAN, 8,
20716                 TFS(&tfs_pbFrames_bit), 0x01, "The pbFrames bit", HFILL }},
20717         { &hf_h245_errorCompensation,
20718                 { "errorCompensation", "h245.errorCompensation", FT_BOOLEAN, 8,
20719                 TFS(&tfs_errorCompensation_bit), 0x01, "The errorCompensation bit", HFILL }},
20720         { &hf_h245_baseBitRateConstrained,
20721                 { "baseBitRateConstrained", "h245.baseBitRateConstrained", FT_BOOLEAN, 8,
20722                 TFS(&tfs_baseBitRateConstrained_bit), 0x01, "The baseBitRateConstrained bit", HFILL }},
20723         { &hf_h245_advancedIntraCodingMode,
20724                 { "advancedIntraCodingMode", "h245.advancedIntraCodingMode", FT_BOOLEAN, 8,
20725                 TFS(&tfs_advancedIntraCodingMode_bit), 0x01, "The advancedIntraCodingMode bit", HFILL }},
20726         { &hf_h245_deblockingFilterMode,
20727                 { "deblockingFilterMode", "h245.deblockingFilterMode", FT_BOOLEAN, 8,
20728                 TFS(&tfs_deblockingFilterMode_bit), 0x01, "The deblockingFilterMode bit", HFILL }},
20729         { &hf_h245_improvedPBFramesMode,
20730                 { "improvedPBFramesMode", "h245.improvedPBFramesMode", FT_BOOLEAN, 8,
20731                 TFS(&tfs_improvedPBFramesMode_bit), 0x01, "The improvedPBFramesMode bit", HFILL }},
20732         { &hf_h245_unlimitedMotionVectors,
20733                 { "unlimitedMotionVectors", "h245.unlimitedMotionVectors", FT_BOOLEAN, 8,
20734                 TFS(&tfs_unlimitedMotionVectors_bit), 0x01, "The unlimitedMotionVectors bit", HFILL }},
20735         { &hf_h245_fullPictureFreeze,
20736                 { "fullPictureFreeze", "h245.fullPictureFreeze", FT_BOOLEAN, 8,
20737                 TFS(&tfs_fullPictureFreeze_bit), 0x01, "The fullPictureFreeze bit", HFILL }},
20738         { &hf_h245_partialPictureFreezeAndRelease,
20739                 { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease", FT_BOOLEAN, 8,
20740                 TFS(&tfs_partialPictureFreezeAndRelease_bit), 0x01, "The partialPictureFreezeAndRelease bit", HFILL }},
20741         { &hf_h245_resizingPartPicFreezeAndRelease,
20742                 { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease", FT_BOOLEAN, 8,
20743                 TFS(&tfs_resizingPartPicFreezeAndRelease_bit), 0x01, "The resizingPartPicFreezeAndRelease bit", HFILL }},
20744         { &hf_h245_fullPictureSnapshot,
20745                 { "fullPictureSnapshot", "h245.fullPictureSnapshot", FT_BOOLEAN, 8,
20746                 TFS(&tfs_fullPictureSnapshot_bit), 0x01, "The fullPictureSnapshot bit", HFILL }},
20747         { &hf_h245_partialPictureSnapshot,
20748                 { "partialPictureSnapshot", "h245.partialPictureSnapshot", FT_BOOLEAN, 8,
20749                 TFS(&tfs_partialPictureSnapshot_bit), 0x01, "The partialPictureSnapshot bit", HFILL }},
20750         { &hf_h245_videoSegmentTagging,
20751                 { "videoSegmentTagging", "h245.videoSegmentTagging", FT_BOOLEAN, 8,
20752                 TFS(&tfs_videoSegmentTagging_bit), 0x01, "The videoSegmentTagging bit", HFILL }},
20753         { &hf_h245_progressiveRefinement,
20754                 { "progressiveRefinement", "h245.progressiveRefinement", FT_BOOLEAN, 8,
20755                 TFS(&tfs_progressiveRefinement_bit), 0x01, "The progressiveRefinement bit", HFILL }},
20756         { &hf_h245_dynamicPictureResizingByFour,
20757                 { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour", FT_BOOLEAN, 8,
20758                 TFS(&tfs_dynamicPictureResizingByFour_bit), 0x01, "The dynamicPictureResizingByFour bit", HFILL }},
20759         { &hf_h245_dynamicPictureResizingSixteenthPel,
20760                 { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel", FT_BOOLEAN, 8,
20761                 TFS(&tfs_dynamicPictureResizingSixteenthPel_bit), 0x01, "The dynamicPictureResizingSixteenthPel bit", HFILL }},
20762         { &hf_h245_dynamicWarpingHalfPel,
20763                 { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel", FT_BOOLEAN, 8,
20764                 TFS(&tfs_dynamicWarpingHalfPel_bit), 0x01, "The dynamicWarpingHalfPel bit", HFILL }},
20765         { &hf_h245_dynamicWarpingSixteenthPel,
20766                 { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel", FT_BOOLEAN, 8,
20767                 TFS(&tfs_dynamicWarpingSixteenthPel_bit), 0x01, "The dynamicWarpingSixteenthPel bit", HFILL }},
20768         { &hf_h245_independentSegmentDecoding,
20769                 { "independentSegmentDecoding", "h245.independentSegmentDecoding", FT_BOOLEAN, 8,
20770                 TFS(&tfs_independentSegmentDecoding_bit), 0x01, "The independentSegmentDecoding bit", HFILL }},
20771         { &hf_h245_slicesInOrderNonRect,
20772                 { "slicesInOrderNonRect", "h245.slicesInOrderNonRect", FT_BOOLEAN, 8,
20773                 TFS(&tfs_slicesInOrderNonRect_bit), 0x01, "The slicesInOrderNonRect bit", HFILL }},
20774         { &hf_h245_slicesInOrderRect,
20775                 { "slicesInOrderRect", "h245.slicesInOrderRect", FT_BOOLEAN, 8,
20776                 TFS(&tfs_slicesInOrderRect_bit), 0x01, "The slicesInOrderRect bit", HFILL }},
20777         { &hf_h245_slicesNoOrderNonRect,
20778                 { "slicesNoOrderNonRect", "h245.slicesNoOrderNonRect", FT_BOOLEAN, 8,
20779                 TFS(&tfs_slicesNoOrderNonRect_bit), 0x01, "The slicesNoOrderNonRect bit", HFILL }},
20780         { &hf_h245_slicesNoOrderRect,
20781                 { "slicesNoOrderRect", "h245.slicesNoOrderRect", FT_BOOLEAN, 8,
20782                 TFS(&tfs_slicesNoOrderRect_bit), 0x01, "The slicesNoOrderRect bit", HFILL }},
20783         { &hf_h245_alternateInterVLCMode,
20784                 { "alternateInterVLCMode", "h245.alternateInterVLCMode", FT_BOOLEAN, 8,
20785                 TFS(&tfs_alternateInterVLCMode_bit), 0x01, "The alternateInterVLCMode bit", HFILL }},
20786         { &hf_h245_modifiedQuantizationMode,
20787                 { "modifiedQuantizationMode", "h245.modifiedQuantizationMode", FT_BOOLEAN, 8,
20788                 TFS(&tfs_modifiedQuantizationMode_bit), 0x01, "The modifiedQuantizationMode bit", HFILL }},
20789         { &hf_h245_reducedResolutionUpdate,
20790                 { "reducedResolutionUpdate", "h245.reducedResolutionUpdate", FT_BOOLEAN, 8,
20791                 TFS(&tfs_reducedResolutionUpdate_bit), 0x01, "The reducedResolutionUpdate bit", HFILL }},
20792         { &hf_h245_separateVideoBackChannel,
20793                 { "separateVideoBackChannel", "h245.separateVideoBackChannel", FT_BOOLEAN, 8,
20794                 TFS(&tfs_separateVideoBackChannel_bit), 0x01, "The separateVideoBackChannel bit", HFILL }},
20795         { &hf_h245_videoMux,
20796                 { "videoMux", "h245.videoMux", FT_BOOLEAN, 8,
20797                 TFS(&tfs_videoMux_bit), 0x01, "The videoMux bit", HFILL }},
20798         { &hf_h245_anyPixelAspectRatio,
20799                 { "anyPixelAspectRatio", "h245.anyPixelAspectRatio", FT_BOOLEAN, 8,
20800                 TFS(&tfs_anyPixelAspectRatio_bit), 0x01, "The anyPixelAspectRatio bit", HFILL }},
20801         { &hf_h245_referencePicSelect,
20802                 { "referencePicSelect", "h245.referencePicSelect", FT_BOOLEAN, 8,
20803                 TFS(&tfs_referencePicSelect_bit), 0x01, "The referencePicSelect bit", HFILL }},
20804         { &hf_h245_enhancedReferencePicSelect_bool,
20805                 { "enhancedReferencePicSelect_bool", "h245.enhancedReferencePicSelect_bool", FT_BOOLEAN, 8,
20806                 TFS(&tfs_enhancedReferencePicSelect_bool_bit), 0x01, "The enhancedReferencePicSelect_bool bit", HFILL }},
20807         { &hf_h245_dataPartitionedSlices,
20808                 { "dataPartitionedSlices", "h245.dataPartitionedSlices", FT_BOOLEAN, 8,
20809                 TFS(&tfs_dataPartitionedSlices_bit), 0x01, "The dataPartitionedSlices bit", HFILL }},
20810         { &hf_h245_fixedPointIDCT0,
20811                 { "fixedPointIDCT0", "h245.fixedPointIDCT0", FT_BOOLEAN, 8,
20812                 TFS(&tfs_fixedPointIDCT0_bit), 0x01, "The fixedPointIDCT0 bit", HFILL }},
20813         { &hf_h245_interlacedFields,
20814                 { "interlacedFields", "h245.interlacedFields", FT_BOOLEAN, 8,
20815                 TFS(&tfs_interlacedFields_bit), 0x01, "The interlacedFields bit", HFILL }},
20816         { &hf_h245_currentPictureHeaderRepetition,
20817                 { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition", FT_BOOLEAN, 8,
20818                 TFS(&tfs_currentPictureHeaderRepetition_bit), 0x01, "The currentPictureHeaderRepetition bit", HFILL }},
20819         { &hf_h245_previousPictureHeaderRepetition,
20820                 { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition", FT_BOOLEAN, 8,
20821                 TFS(&tfs_previousPictureHeaderRepetition_bit), 0x01, "The previousPictureHeaderRepetition bit", HFILL }},
20822         { &hf_h245_nextPictureHeaderRepetition,
20823                 { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition", FT_BOOLEAN, 8,
20824                 TFS(&tfs_nextPictureHeaderRepetition_bit), 0x01, "The nextPictureHeaderRepetition bit", HFILL }},
20825         { &hf_h245_pictureNumber_bool,
20826                 { "pictureNumber_bool", "h245.pictureNumber_bool", FT_BOOLEAN, 8,
20827                 TFS(&tfs_pictureNumber_bool_bit), 0x01, "The pictureNumber_bool bit", HFILL }},
20828         { &hf_h245_spareReferencePictures,
20829                 { "spareReferencePictures", "h245.spareReferencePictures", FT_BOOLEAN, 8,
20830                 TFS(&tfs_spareReferencePictures_bit), 0x01, "The spareReferencePictures bit", HFILL }},
20831         { &hf_h245_constrainedBitstream,
20832                 { "constrainedBitstream", "h245.constrainedBitstream", FT_BOOLEAN, 8,
20833                 TFS(&tfs_constrainedBitstream_bit), 0x01, "The constrainedBitstream bit", HFILL }},
20834         { &hf_h245_silenceSuppression,
20835                 { "silenceSuppression", "h245.silenceSuppression", FT_BOOLEAN, 8,
20836                 TFS(&tfs_silenceSuppression_bit), 0x01, "The silenceSuppression bit", HFILL }},
20837         { &hf_h245_annexA,
20838                 { "annexA", "h245.annexA", FT_BOOLEAN, 8,
20839                 TFS(&tfs_annexA_bit), 0x01, "The annexA bit", HFILL }},
20840         { &hf_h245_annexB,
20841                 { "annexB", "h245.annexB", FT_BOOLEAN, 8,
20842                 TFS(&tfs_annexB_bit), 0x01, "The annexB bit", HFILL }},
20843         { &hf_h245_annexD,
20844                 { "annexD", "h245.annexD", FT_BOOLEAN, 8,
20845                 TFS(&tfs_annexD_bit), 0x01, "The annexD bit", HFILL }},
20846         { &hf_h245_annexE,
20847                 { "annexE", "h245.annexE", FT_BOOLEAN, 8,
20848                 TFS(&tfs_annexE_bit), 0x01, "The annexE bit", HFILL }},
20849         { &hf_h245_annexF,
20850                 { "annexF", "h245.annexF", FT_BOOLEAN, 8,
20851                 TFS(&tfs_annexF_bit), 0x01, "The annexF bit", HFILL }},
20852         { &hf_h245_annexG,
20853                 { "annexG", "h245.annexG", FT_BOOLEAN, 8,
20854                 TFS(&tfs_annexG_bit), 0x01, "The annexG bit", HFILL }},
20855         { &hf_h245_annexH,
20856                 { "annexH", "h245.annexH", FT_BOOLEAN, 8,
20857                 TFS(&tfs_annexH_bit), 0x01, "The annexH bit", HFILL }},
20858         { &hf_h245_audioLayer1,
20859                 { "audioLayer1", "h245.audioLayer1", FT_BOOLEAN, 8,
20860                 TFS(&tfs_audioLayer1_bit), 0x01, "The audioLayer1 bit", HFILL }},
20861         { &hf_h245_audioLayer2,
20862                 { "audioLayer2", "h245.audioLayer2", FT_BOOLEAN, 8,
20863                 TFS(&tfs_audioLayer2_bit), 0x01, "The audioLayer2 bit", HFILL }},
20864         { &hf_h245_audioLayer3,
20865                 { "audioLayer3", "h245.audioLayer3", FT_BOOLEAN, 8,
20866                 TFS(&tfs_audioLayer3_bit), 0x01, "The audioLayer3 bit", HFILL }},
20867         { &hf_h245_audioSampling32k,
20868                 { "audioSampling32k", "h245.audioSampling32k", FT_BOOLEAN, 8,
20869                 TFS(&tfs_audioSampling32k_bit), 0x01, "The audioSampling32k bit", HFILL }},
20870         { &hf_h245_audioSampling44k1,
20871                 { "audioSampling44k1", "h245.audioSampling44k1", FT_BOOLEAN, 8,
20872                 TFS(&tfs_audioSampling44k1_bit), 0x01, "The audioSampling44k1 bit", HFILL }},
20873         { &hf_h245_audioSampling48k,
20874                 { "audioSampling48k", "h245.audioSampling48k", FT_BOOLEAN, 8,
20875                 TFS(&tfs_audioSampling48k_bit), 0x01, "The audioSampling48k bit", HFILL }},
20876         { &hf_h245_singleChannel,
20877                 { "singleChannel", "h245.singleChannel", FT_BOOLEAN, 8,
20878                 TFS(&tfs_singleChannel_bit), 0x01, "The singleChannel bit", HFILL }},
20879         { &hf_h245_twoChannels,
20880                 { "twoChannels", "h245.twoChannels", FT_BOOLEAN, 8,
20881                 TFS(&tfs_twoChannels_bit), 0x01, "The twoChannels bit", HFILL }},
20882         { &hf_h245_audioSampling16k,
20883                 { "audioSampling16k", "h245.audioSampling16k", FT_BOOLEAN, 8,
20884                 TFS(&tfs_audioSampling16k_bit), 0x01, "The audioSampling16k bit", HFILL }},
20885         { &hf_h245_audioSampling22k05,
20886                 { "audioSampling22k05", "h245.audioSampling22k05", FT_BOOLEAN, 8,
20887                 TFS(&tfs_audioSampling22k05_bit), 0x01, "The audioSampling22k05 bit", HFILL }},
20888         { &hf_h245_audioSampling24k,
20889                 { "audioSampling24k", "h245.audioSampling24k", FT_BOOLEAN, 8,
20890                 TFS(&tfs_audioSampling24k_bit), 0x01, "The audioSampling24k bit", HFILL }},
20891         { &hf_h245_threeChannels21,
20892                 { "threeChannels21", "h245.threeChannels21", FT_BOOLEAN, 8,
20893                 TFS(&tfs_threeChannels21_bit), 0x01, "The threeChannels21 bit", HFILL }},
20894         { &hf_h245_threeChannels30,
20895                 { "threeChannels30", "h245.threeChannels30", FT_BOOLEAN, 8,
20896                 TFS(&tfs_threeChannels30_bit), 0x01, "The threeChannels30 bit", HFILL }},
20897         { &hf_h245_fourChannels2020,
20898                 { "fourChannels2020", "h245.fourChannels2020", FT_BOOLEAN, 8,
20899                 TFS(&tfs_fourChannels2020_bit), 0x01, "The fourChannels2020 bit", HFILL }},
20900         { &hf_h245_fourChannels22,
20901                 { "fourChannels22", "h245.fourChannels22", FT_BOOLEAN, 8,
20902                 TFS(&tfs_fourChannels22_bit), 0x01, "The fourChannels22 bit", HFILL }},
20903         { &hf_h245_fourChannels31,
20904                 { "fourChannels31", "h245.fourChannels31", FT_BOOLEAN, 8,
20905                 TFS(&tfs_fourChannels31_bit), 0x01, "The fourChannels31 bit", HFILL }},
20906         { &hf_h245_fiveChannels3020,
20907                 { "fiveChannels3020", "h245.fiveChannels3020", FT_BOOLEAN, 8,
20908                 TFS(&tfs_fiveChannels3020_bit), 0x01, "The fiveChannels3020 bit", HFILL }},
20909         { &hf_h245_fiveChannels32,
20910                 { "fiveChannels32", "h245.fiveChannels32", FT_BOOLEAN, 8,
20911                 TFS(&tfs_fiveChannels32_bit), 0x01, "The fiveChannels32 bit", HFILL }},
20912         { &hf_h245_lowFrequencyEnhancement,
20913                 { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement", FT_BOOLEAN, 8,
20914                 TFS(&tfs_lowFrequencyEnhancement_bit), 0x01, "The lowFrequencyEnhancement bit", HFILL }},
20915         { &hf_h245_multilingual,
20916                 { "multilingual", "h245.multilingual", FT_BOOLEAN, 8,
20917                 TFS(&tfs_multilingual_bit), 0x01, "The multilingual bit", HFILL }},
20918         { &hf_h245_comfortNoise,
20919                 { "comfortNoise", "h245.comfortNoise", FT_BOOLEAN, 8,
20920                 TFS(&tfs_comfortNoise_bit), 0x01, "The comfortNoise bit", HFILL }},
20921         { &hf_h245_scrambled,
20922                 { "scrambled", "h245.scrambled", FT_BOOLEAN, 8,
20923                 TFS(&tfs_scrambled_bit), 0x01, "The scrambled bit", HFILL }},
20924         { &hf_h245_qcif_bool,
20925                 { "qcif_bool", "h245.qcif_bool", FT_BOOLEAN, 8,
20926                 TFS(&tfs_qcif_bool_bit), 0x01, "The qcif_bool bit", HFILL }},
20927         { &hf_h245_cif_bool,
20928                 { "cif_bool", "h245.cif_bool", FT_BOOLEAN, 8,
20929                 TFS(&tfs_cif_bool_bit), 0x01, "The cif_bool bit", HFILL }},
20930         { &hf_h245_ccir601Seq,
20931                 { "ccir601Seq", "h245.ccir601Seq", FT_BOOLEAN, 8,
20932                 TFS(&tfs_ccir601Seq_bit), 0x01, "The ccir601Seq bit", HFILL }},
20933         { &hf_h245_ccir601Prog,
20934                 { "ccir601Prog", "h245.ccir601Prog", FT_BOOLEAN, 8,
20935                 TFS(&tfs_ccir601Prog_bit), 0x01, "The ccir601Prog bit", HFILL }},
20936         { &hf_h245_hdtvSeq,
20937                 { "hdtvSeq", "h245.hdtvSeq", FT_BOOLEAN, 8,
20938                 TFS(&tfs_hdtvSeq_bit), 0x01, "The hdtvSeq bit", HFILL }},
20939         { &hf_h245_hdtvProg,
20940                 { "hdtvProg", "h245.hdtvProg", FT_BOOLEAN, 8,
20941                 TFS(&tfs_hdtvProg_bit), 0x01, "The hdtvProg bit", HFILL }},
20942         { &hf_h245_g3FacsMH200x100,
20943                 { "g3FacsMH200x100", "h245.g3FacsMH200x100", FT_BOOLEAN, 8,
20944                 TFS(&tfs_g3FacsMH200x100_bit), 0x01, "The g3FacsMH200x100 bit", HFILL }},
20945         { &hf_h245_g3FacsMH200x200,
20946                 { "g3FacsMH200x200", "h245.g3FacsMH200x200", FT_BOOLEAN, 8,
20947                 TFS(&tfs_g3FacsMH200x200_bit), 0x01, "The g3FacsMH200x200 bit", HFILL }},
20948         { &hf_h245_g4FacsMMR200x100,
20949                 { "g4FacsMMR200x100", "h245.g4FacsMMR200x100", FT_BOOLEAN, 8,
20950                 TFS(&tfs_g4FacsMMR200x100_bit), 0x01, "The g4FacsMMR200x100 bit", HFILL }},
20951         { &hf_h245_g4FacsMMR200x200,
20952                 { "g4FacsMMR200x200", "h245.g4FacsMMR200x200", FT_BOOLEAN, 8,
20953                 TFS(&tfs_g4FacsMMR200x200_bit), 0x01, "The g4FacsMMR200x200 bit", HFILL }},
20954         { &hf_h245_jbig200x200Seq,
20955                 { "jbig200x200Seq", "h245.jbig200x200Seq", FT_BOOLEAN, 8,
20956                 TFS(&tfs_jbig200x200Seq_bit), 0x01, "The jbig200x200Seq bit", HFILL }},
20957         { &hf_h245_jbig200x200Prog,
20958                 { "jbig200x200Prog", "h245.jbig200x200Prog", FT_BOOLEAN, 8,
20959                 TFS(&tfs_jbig200x200Prog_bit), 0x01, "The jbig200x200Prog bit", HFILL }},
20960         { &hf_h245_jbig300x300Seq,
20961                 { "jbig300x300Seq", "h245.jbig300x300Seq", FT_BOOLEAN, 8,
20962                 TFS(&tfs_jbig300x300Seq_bit), 0x01, "The jbig300x300Seq bit", HFILL }},
20963         { &hf_h245_jbig300x300Prog,
20964                 { "jbig300x300Prog", "h245.jbig300x300Prog", FT_BOOLEAN, 8,
20965                 TFS(&tfs_jbig300x300Prog_bit), 0x01, "The jbig300x300Prog bit", HFILL }},
20966         { &hf_h245_digPhotoLow,
20967                 { "digPhotoLow", "h245.digPhotoLow", FT_BOOLEAN, 8,
20968                 TFS(&tfs_digPhotoLow_bit), 0x01, "The digPhotoLow bit", HFILL }},
20969         { &hf_h245_digPhotoMedSeq,
20970                 { "digPhotoMedSeq", "h245.digPhotoMedSeq", FT_BOOLEAN, 8,
20971                 TFS(&tfs_digPhotoMedSeq_bit), 0x01, "The digPhotoMedSeq bit", HFILL }},
20972         { &hf_h245_digPhotoMedProg,
20973                 { "digPhotoMedProg", "h245.digPhotoMedProg", FT_BOOLEAN, 8,
20974                 TFS(&tfs_digPhotoMedProg_bit), 0x01, "The digPhotoMedProg bit", HFILL }},
20975         { &hf_h245_digPhotoHighSeq,
20976                 { "digPhotoHighSeq", "h245.digPhotoHighSeq", FT_BOOLEAN, 8,
20977                 TFS(&tfs_digPhotoHighSeq_bit), 0x01, "The digPhotoHighSeq bit", HFILL }},
20978         { &hf_h245_digPhotoHighProg,
20979                 { "digPhotoHighProg", "h245.digPhotoHighProg", FT_BOOLEAN, 8,
20980                 TFS(&tfs_digPhotoHighProg_bit), 0x01, "The digPhotoHighProg bit", HFILL }},
20981         { &hf_h245_fillBitRemoval,
20982                 { "fillBitRemoval", "h245.fillBitRemoval", FT_BOOLEAN, 8,
20983                 TFS(&tfs_fillBitRemoval_bit), 0x01, "The fillBitRemoval bit", HFILL }},
20984         { &hf_h245_transcodingJBIG,
20985                 { "transcodingJBIG", "h245.transcodingJBIG", FT_BOOLEAN, 8,
20986                 TFS(&tfs_transcodingJBIG_bit), 0x01, "The transcodingJBIG bit", HFILL }},
20987         { &hf_h245_transcodingMMR,
20988                 { "transcodingMMR", "h245.transcodingMMR", FT_BOOLEAN, 8,
20989                 TFS(&tfs_transcodingMMR_bit), 0x01, "The transcodingMMR bit", HFILL }},
20990         { &hf_h245_t38TCPBidirectionalMode,
20991                 { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode", FT_BOOLEAN, 8,
20992                 TFS(&tfs_t38TCPBidirectionalMode_bit), 0x01, "The t38TCPBidirectionalMode bit", HFILL }},
20993         { &hf_h245_chairControlCapability,
20994                 { "chairControlCapability", "h245.chairControlCapability", FT_BOOLEAN, 8,
20995                 TFS(&tfs_chairControlCapability_bit), 0x01, "The chairControlCapability bit", HFILL }},
20996         { &hf_h245_videoIndicateMixingCapability,
20997                 { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability", FT_BOOLEAN, 8,
20998                 TFS(&tfs_videoIndicateMixingCapability_bit), 0x01, "The videoIndicateMixingCapability bit", HFILL }},
20999         { &hf_h245_multipointVisualizationCapability,
21000                 { "multipointVisualizationCapability", "h245.multipointVisualizationCapability", FT_BOOLEAN, 8,
21001                 TFS(&tfs_multipointVisualizationCapability_bit), 0x01, "The multipointVisualizationCapability bit", HFILL }},
21002         { &hf_h245_controlOnMuxStream,
21003                 { "controlOnMuxStream", "h245.controlOnMuxStream", FT_BOOLEAN, 8,
21004                 TFS(&tfs_controlOnMuxStream_bit), 0x01, "The controlOnMuxStream bit", HFILL }},
21005         { &hf_h245_redundancyEncoding_bool,
21006                 { "redundancyEncoding_bool", "h245.redundancyEncoding_bool", FT_BOOLEAN, 8,
21007                 TFS(&tfs_redundancyEncoding_bool_bit), 0x01, "The redundancyEncoding_bool bit", HFILL }},
21008         { &hf_h245_separatePort,
21009                 { "separatePort", "h245.separatePort", FT_BOOLEAN, 8,
21010                 TFS(&tfs_separatePort_bit), 0x01, "The separatePort bit", HFILL }},
21011         { &hf_h245_samePort_bool,
21012                 { "samePort_bool", "h245.samePort_bool", FT_BOOLEAN, 8,
21013                 TFS(&tfs_samePort_bool_bit), 0x01, "The samePort_bool bit", HFILL }},
21014         { &hf_h245_associateConference,
21015                 { "associateConference", "h245.associateConference", FT_BOOLEAN, 8,
21016                 TFS(&tfs_associateConference_bit), 0x01, "The associateConference bit", HFILL }},
21017         { &hf_h245_audioHeaderPresent,
21018                 { "audioHeaderPresent", "h245.audioHeaderPresent", FT_BOOLEAN, 8,
21019                 TFS(&tfs_audioHeaderPresent_bit), 0x01, "The audioHeaderPresent bit", HFILL }},
21020         { &hf_h245_segmentableFlag,
21021                 { "segmentableFlag", "h245.segmentableFlag", FT_BOOLEAN, 8,
21022                 TFS(&tfs_segmentableFlag_bit), 0x01, "The segmentableFlag bit", HFILL }},
21023         { &hf_h245_alsduSplitting,
21024                 { "alsduSplitting", "h245.alsduSplitting", FT_BOOLEAN, 8,
21025                 TFS(&tfs_alsduSplitting_bit), 0x01, "The alsduSplitting bit", HFILL }},
21026         { &hf_h245_uIH,
21027                 { "uIH", "h245.uIH", FT_BOOLEAN, 8,
21028                 TFS(&tfs_uIH_bit), 0x01, "The uIH bit", HFILL }},
21029         { &hf_h245_loopbackTestProcedure,
21030                 { "loopbackTestProcedure", "h245.loopbackTestProcedure", FT_BOOLEAN, 8,
21031                 TFS(&tfs_loopbackTestProcedure_bit), 0x01, "The loopbackTestProcedure bit", HFILL }},
21032         { &hf_h245_mediaGuaranteedDelivery,
21033                 { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery", FT_BOOLEAN, 8,
21034                 TFS(&tfs_mediaGuaranteedDelivery_bit), 0x01, "The mediaGuaranteedDelivery bit", HFILL }},
21035         { &hf_h245_mediaControlGuaranteedDelivery,
21036                 { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery", FT_BOOLEAN, 8,
21037                 TFS(&tfs_mediaControlGuaranteedDelivery_bit), 0x01, "The mediaControlGuaranteedDelivery bit", HFILL }},
21038         { &hf_h245_flowControlToZero,
21039                 { "flowControlToZero", "h245.flowControlToZero", FT_BOOLEAN, 8,
21040                 TFS(&tfs_flowControlToZero_bit), 0x01, "The flowControlToZero bit", HFILL }},
21041         { &hf_h245_multiplexCapability_bool,
21042                 { "multiplexCapability_bool", "h245.multiplexCapability_bool", FT_BOOLEAN, 8,
21043                 TFS(&tfs_multiplexCapability_bool_bit), 0x01, "The multiplexCapability_bool bit", HFILL }},
21044         { &hf_h245_secureChannel,
21045                 { "secureChannel", "h245.secureChannel", FT_BOOLEAN, 8,
21046                 TFS(&tfs_secureChannel_bit), 0x01, "The secureChannel bit", HFILL }},
21047         { &hf_h245_sharedSecret,
21048                 { "sharedSecret", "h245.sharedSecret", FT_BOOLEAN, 8,
21049                 TFS(&tfs_sharedSecret_bit), 0x01, "The sharedSecret bit", HFILL }},
21050         { &hf_h245_certProtectedKey,
21051                 { "certProtectedKey", "h245.certProtectedKey", FT_BOOLEAN, 8,
21052                 TFS(&tfs_certProtectedKey_bit), 0x01, "The certProtectedKey bit", HFILL }},
21053         { &hf_h245_bitRateLockedToPCRClock,
21054                 { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock", FT_BOOLEAN, 8,
21055                 TFS(&tfs_bitRateLockedToPCRClock_bit), 0x01, "The bitRateLockedToPCRClock bit", HFILL }},
21056         { &hf_h245_bitRateLockedToNetworkClock,
21057                 { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock", FT_BOOLEAN, 8,
21058                 TFS(&tfs_bitRateLockedToNetworkClock_bit), 0x01, "The bitRateLockedToNetworkClock bit", HFILL }},
21059         { &hf_h245_IS11172_BitRate,
21060                 { "BitRate", "h245.IS11172_BitRate", FT_UINT32, BASE_DEC,
21061                 NULL, 0, "IS11172 BitRate in kbit/s", HFILL }},
21062         { &hf_h245_IS13818_BitRate,
21063                 { "BitRate", "h245.IS13818_BitRate", FT_UINT32, BASE_DEC,
21064                 NULL, 0, "IS13818 BitRate in kbit/s", HFILL }},
21065         { &hf_h245_ATM_BitRate,
21066                 { "BitRate", "h245.ATM_BitRate", FT_UINT32, BASE_DEC,
21067                 NULL, 0, "ATM BitRate in 64kbit/s units", HFILL }},
21068         { &hf_h245_t35CountryCode,
21069                 { "t35CountryCode", "h245.t35CountryCode", FT_UINT32, BASE_DEC,
21070                 VALS(T35CountryCode_vals), 0, "t35CountryCode value", HFILL }},
21071         { &hf_h245_t35Extension,
21072                 { "t35Extension", "h245.t35Extension", FT_UINT32, BASE_DEC,
21073                 NULL, 0, "t35Extension value", HFILL }},
21074         { &hf_h245_manufacturerCode,
21075                 { "manufacturerCode", "h245.manufacturerCode", FT_UINT32, BASE_DEC,
21076                 NULL, 0, "manufacturerCode value", HFILL }},
21077         { &hf_h245_terminalType,
21078                 { "terminalType", "h245.terminalType", FT_UINT32, BASE_DEC,
21079                 NULL, 0, "terminalType value", HFILL }},
21080         { &hf_h245_statusDeterminationNumber,
21081                 { "statusDeterminationNumber", "h245.statusDeterminationNumber", FT_UINT32, BASE_DEC,
21082                 NULL, 0, "statusDeterminationNumber value", HFILL }},
21083         { &hf_h245_CapabilityTableEntryNumber,
21084                 { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber", FT_UINT32, BASE_DEC,
21085                 NULL, 0, "CapabilityTableEntryNumber value", HFILL }},
21086         { &hf_h245_CapabilityDescriptorNumber,
21087                 { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber", FT_UINT32, BASE_DEC,
21088                 NULL, 0, "CapabilityDescriptorNumber value", HFILL }},
21089         { &hf_h245_h233IVResponseTime,
21090                 { "h233IVResponseTime", "h245.h233IVResponseTime", FT_UINT32, BASE_DEC,
21091                 NULL, 0, "h233IVResponseTime value", HFILL }},
21092         { &hf_h245_maxPendingReplacementFor,
21093                 { "maxPendingReplacementFor", "h245.maxPendingReplacementFor", FT_UINT32, BASE_DEC,
21094                 NULL, 0, "maxPendingReplacementFor value", HFILL }},
21095         { &hf_h245_numberOfVCs,
21096                 { "numberOfVCs", "h245.numberOfVCs", FT_UINT32, BASE_DEC,
21097                 NULL, 0, "numberOfVCs value", HFILL }},
21098         { &hf_h245_forwardMaximumSDUSize,
21099                 { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize", FT_UINT32, BASE_DEC,
21100                 NULL, 0, "forwardMaximumSDUSize value", HFILL }},
21101         { &hf_h245_backwardMaximumSDUSize,
21102                 { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize", FT_UINT32, BASE_DEC,
21103                 NULL, 0, "backwardMaximumSDUSize value", HFILL }},
21104         { &hf_h245_singleBitRate,
21105                 { "singleBitRate", "h245.singleBitRate", FT_UINT32, BASE_DEC,
21106                 NULL, 0, "singleBitRate value", HFILL }},
21107         { &hf_h245_lowerBitRate,
21108                 { "lowerBitRate", "h245.lowerBitRate", FT_UINT32, BASE_DEC,
21109                 NULL, 0, "lowerBitRate value", HFILL }},
21110         { &hf_h245_higherBitRate,
21111                 { "higherBitRate", "h245.higherBitRate", FT_UINT32, BASE_DEC,
21112                 NULL, 0, "higherBitRate value", HFILL }},
21113         { &hf_h245_maximumAl2SDUSize,
21114                 { "maximumAl2SDUSize", "h245.maximumAl2SDUSize", FT_UINT32, BASE_DEC,
21115                 NULL, 0, "maximumAl2SDUSize value", HFILL }},
21116         { &hf_h245_maximumAl3SDUSize,
21117                 { "maximumAl3SDUSize", "h245.maximumAl3SDUSize", FT_UINT32, BASE_DEC,
21118                 NULL, 0, "maximumAl3SDUSize value", HFILL }},
21119         { &hf_h245_maximumDelayJitter,
21120                 { "maximumDelayJitter", "h245.maximumDelayJitter", FT_UINT32, BASE_DEC,
21121                 NULL, 0, "maximumDelayJitter value", HFILL }},
21122         { &hf_h245_maximumNestingDepth,
21123                 { "maximumNestingDepth", "h245.maximumNestingDepth", FT_UINT32, BASE_DEC,
21124                 NULL, 0, "maximumNestingDepth value", HFILL }},
21125         { &hf_h245_maximumElementListSize,
21126                 { "maximumElementListSize", "h245.maximumElementListSize", FT_UINT32, BASE_DEC,
21127                 NULL, 0, "maximumElementListSize value", HFILL }},
21128         { &hf_h245_maximumSubElementListSize,
21129                 { "maximumSubElementListSize", "h245.maximumSubElementListSize", FT_UINT32, BASE_DEC,
21130                 NULL, 0, "maximumSubElementListSize value", HFILL }},
21131         { &hf_h245_h223bitRate,
21132                 { "h223bitRate", "h245.h223bitRate", FT_UINT32, BASE_DEC,
21133                 NULL, 0, "h223bitRate value", HFILL }},
21134         { &hf_h245_maximumSampleSize,
21135                 { "maximumSampleSize", "h245.maximumSampleSize", FT_UINT32, BASE_DEC,
21136                 NULL, 0, "maximumSampleSize value", HFILL }},
21137         { &hf_h245_maximumPayloadLength,
21138                 { "maximumPayloadLength", "h245.maximumPayloadLength", FT_UINT32, BASE_DEC,
21139                 NULL, 0, "maximumPayloadLength value", HFILL }},
21140         { &hf_h245_maximumAL1MPDUSize,
21141                 { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize", FT_UINT32, BASE_DEC,
21142                 NULL, 0, "maximumAL1MPDUSize value", HFILL }},
21143         { &hf_h245_maximumAL2MSDUSize,
21144                 { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize", FT_UINT32, BASE_DEC,
21145                 NULL, 0, "maximumAL2MSDUSize value", HFILL }},
21146         { &hf_h245_maximumAL3MSDUSize,
21147                 { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize", FT_UINT32, BASE_DEC,
21148                 NULL, 0, "maximumAL3MSDUSize value", HFILL }},
21149         { &hf_h245_numOfDLCS,
21150                 { "numOfDLCS", "h245.numOfDLCS", FT_UINT32, BASE_DEC,
21151                 NULL, 0, "numOfDLCS value", HFILL }},
21152         { &hf_h245_n401Capability,
21153                 { "n401Capability", "h245.n401Capability", FT_UINT32, BASE_DEC,
21154                 NULL, 0, "n401Capability value", HFILL }},
21155         { &hf_h245_maxWindowSizeCapability,
21156                 { "maxWindowSizeCapability", "h245.maxWindowSizeCapability", FT_UINT32, BASE_DEC,
21157                 NULL, 0, "maxWindowSizeCapability value", HFILL }},
21158         { &hf_h245_maximumAudioDelayJitter,
21159                 { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter", FT_UINT32, BASE_DEC,
21160                 NULL, 0, "maximumAudioDelayJitter value", HFILL }},
21161         { &hf_h245_tokenRate,
21162                 { "tokenRate", "h245.tokenRate", FT_UINT32, BASE_DEC,
21163                 NULL, 0, "tokenRate value", HFILL }},
21164         { &hf_h245_bucketSize,
21165                 { "bucketSize", "h245.bucketSize", FT_UINT32, BASE_DEC,
21166                 NULL, 0, "bucketSize value", HFILL }},
21167         { &hf_h245_peakRate,
21168                 { "peakRate", "h245.peakRate", FT_UINT32, BASE_DEC,
21169                 NULL, 0, "peakRate value", HFILL }},
21170         { &hf_h245_minPoliced,
21171                 { "minPoliced", "h245.minPoliced", FT_UINT32, BASE_DEC,
21172                 NULL, 0, "minPoliced value", HFILL }},
21173         { &hf_h245_maxPktSize,
21174                 { "maxPktSize", "h245.maxPktSize", FT_UINT32, BASE_DEC,
21175                 NULL, 0, "maxPktSize value", HFILL }},
21176         { &hf_h245_maxNTUSize,
21177                 { "maxNTUSize", "h245.maxNTUSize", FT_UINT32, BASE_DEC,
21178                 NULL, 0, "maxNTUSize value", HFILL }},
21179         { &hf_h245_numberOfThreads,
21180                 { "numberOfThreads", "h245.numberOfThreads", FT_UINT32, BASE_DEC,
21181                 NULL, 0, "numberOfThreads value", HFILL }},
21182         { &hf_h245_framesBetweenSyncPoints,
21183                 { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints", FT_UINT32, BASE_DEC,
21184                 NULL, 0, "framesBetweenSyncPoints value", HFILL }},
21185         { &hf_h245_threadNumber,
21186                 { "threadNumber", "h245.threadNumber", FT_UINT32, BASE_DEC,
21187                 NULL, 0, "threadNumber value", HFILL }},
21188         { &hf_h245_qcifMPI_1_4,
21189                 { "qcifMPI_1_4", "h245.qcifMPI_1_4", FT_UINT32, BASE_DEC,
21190                 NULL, 0, "qcifMPI_1_4 value", HFILL }},
21191         { &hf_h245_qcifMPI_1_32,
21192                 { "qcifMPI_1_32", "h245.qcifMPI_1_32", FT_UINT32, BASE_DEC,
21193                 NULL, 0, "qcifMPI_1_32 value", HFILL }},
21194         { &hf_h245_qcifMPI_1_2048,
21195                 { "qcifMPI_1_2048", "h245.qcifMPI_1_2048", FT_UINT32, BASE_DEC,
21196                 NULL, 0, "qcifMPI_1_2048 value", HFILL }},
21197         { &hf_h245_cifMPI_1_4,
21198                 { "cifMPI_1_4", "h245.cifMPI_1_4", FT_UINT32, BASE_DEC,
21199                 NULL, 0, "cifMPI_1_4 value", HFILL }},
21200         { &hf_h245_cifMPI_1_32,
21201                 { "cifMPI_1_32", "h245.cifMPI_1_32", FT_UINT32, BASE_DEC,
21202                 NULL, 0, "cifMPI_1_32 value", HFILL }},
21203         { &hf_h245_cifMPI_1_2048,
21204                 { "cifMPI_1_2048", "h245.cifMPI_1_2048", FT_UINT32, BASE_DEC,
21205                 NULL, 0, "cifMPI_1_2048 value", HFILL }},
21206         { &hf_h245_videoBitRate,
21207                 { "videoBitRate", "h245.videoBitRate", FT_UINT32, BASE_DEC,
21208                 NULL, 0, "videoBitRate value  (units 400 bit/s)", HFILL }},
21209         { &hf_h245_vbvBufferSize,
21210                 { "vbvBufferSize", "h245.vbvBufferSize", FT_UINT32, BASE_DEC,
21211                 NULL, 0, "vbvBufferSize value  (units 16384 bits)", HFILL }},
21212         { &hf_h245_samplesPerLine,
21213                 { "samplesPerLine", "h245.samplesPerLine", FT_UINT32, BASE_DEC,
21214                 NULL, 0, "samplesPerLine value", HFILL }},
21215         { &hf_h245_linesPerFrame,
21216                 { "linesPerFrame", "h245.linesPerFrame", FT_UINT32, BASE_DEC,
21217                 NULL, 0, "linesPerFrame value", HFILL }},
21218         { &hf_h245_framesPerSecond,
21219                 { "framesPerSecond", "h245.framesPerSecond", FT_UINT32, BASE_DEC,
21220                 NULL, 0, "framesPerSecond value", HFILL }},
21221         { &hf_h245_luminanceSampleRate,
21222                 { "luminanceSampleRate", "h245.luminanceSampleRate", FT_UINT32, BASE_DEC,
21223                 NULL, 0, "luminanceSampleRate value", HFILL }},
21224         { &hf_h245_sqcifMPI_1_32,
21225                 { "sqcifMPI_1_32", "h245.sqcifMPI_1_32", FT_UINT32, BASE_DEC,
21226                 NULL, 0, "sqcifMPI_1_32 value", HFILL }},
21227         { &hf_h245_sqcifMPI_1_2048,
21228                 { "sqcifMPI_1_2048", "h245.sqcifMPI_1_2048", FT_UINT32, BASE_DEC,
21229                 NULL, 0, "sqcifMPI_1_2048 value", HFILL }},
21230         { &hf_h245_cif4MPI_1_32,
21231                 { "cif4MPI_1_32", "h245.cif4MPI_1_32", FT_UINT32, BASE_DEC,
21232                 NULL, 0, "cif4MPI_1_32 value", HFILL }},
21233         { &hf_h245_cif4MPI_1_2048,
21234                 { "cif4MPI_1_2048", "h245.cif4MPI_1_2048", FT_UINT32, BASE_DEC,
21235                 NULL, 0, "cif4MPI_1_2048 value", HFILL }},
21236         { &hf_h245_cif16MPI_1_32,
21237                 { "cif16MPI_1_32", "h245.cif16MPI_1_32", FT_UINT32, BASE_DEC,
21238                 NULL, 0, "cif16MPI_1_32 value", HFILL }},
21239         { &hf_h245_cif16MPI_1_2048,
21240                 { "cif16MPI_1_2048", "h245.cif16MPI_1_2048", FT_UINT32, BASE_DEC,
21241                 NULL, 0, "cif16MPI_1_2048 value", HFILL }},
21242         { &hf_h245_maxBitRate_192400,
21243                 { "maxBitRate_192400", "h245.maxBitRate_192400", FT_UINT32, BASE_DEC,
21244                 NULL, 0, "maxBitRate_192400 value", HFILL }},
21245         { &hf_h245_hrd_B,
21246                 { "hrd_B", "h245.hrd_B", FT_UINT32, BASE_DEC,
21247                 NULL, 0, "hrd_B value", HFILL }},
21248         { &hf_h245_bppMaxKb,
21249                 { "bppMaxKb", "h245.bppMaxKb", FT_UINT32, BASE_DEC,
21250                 NULL, 0, "bppMaxKb value", HFILL }},
21251         { &hf_h245_slowSqcifMPI,
21252                 { "slowSqcifMPI", "h245.slowSqcifMPI", FT_UINT32, BASE_DEC,
21253                 NULL, 0, "slowSqcifMPI value", HFILL }},
21254         { &hf_h245_slowQcifMPI,
21255                 { "slowQcifMPI", "h245.slowQcifMPI", FT_UINT32, BASE_DEC,
21256                 NULL, 0, "slowQcifMPI value", HFILL }},
21257         { &hf_h245_slowCifMPI,
21258                 { "slowCifMPI", "h245.slowCifMPI", FT_UINT32, BASE_DEC,
21259                 NULL, 0, "slowCifMPI value", HFILL }},
21260         { &hf_h245_slowCif4MPI,
21261                 { "slowCif4MPI", "h245.slowCif4MPI", FT_UINT32, BASE_DEC,
21262                 NULL, 0, "slowCif4MPI value", HFILL }},
21263         { &hf_h245_slowCif16MPI,
21264                 { "slowCif16MPI", "h245.slowCif16MPI", FT_UINT32, BASE_DEC,
21265                 NULL, 0, "slowCif16MPI value", HFILL }},
21266         { &hf_h245_numberOfBPictures,
21267                 { "numberOfBPictures", "h245.numberOfBPictures", FT_UINT32, BASE_DEC,
21268                 NULL, 0, "numberOfBPictures value", HFILL }},
21269         { &hf_h245_presentationOrder,
21270                 { "presentationOrder", "h245.presentationOrder", FT_UINT32, BASE_DEC,
21271                 NULL, 0, "presentationOrder value", HFILL }},
21272         { &hf_h245_offset_x,
21273                 { "offset_x", "h245.offset_x", FT_UINT32, BASE_DEC,
21274                 NULL, 0, "offset_x value", HFILL }},
21275         { &hf_h245_offset_y,
21276                 { "offset_y", "h245.offset_y", FT_UINT32, BASE_DEC,
21277                 NULL, 0, "offset_y value", HFILL }},
21278         { &hf_h245_scale_x,
21279                 { "scale_x", "h245.scale_x", FT_UINT32, BASE_DEC,
21280                 NULL, 0, "scale_x value", HFILL }},
21281         { &hf_h245_scale_y,
21282                 { "scale_y", "h245.scale_y", FT_UINT32, BASE_DEC,
21283                 NULL, 0, "scale_y value", HFILL }},
21284         { &hf_h245_sqcifAdditionalPictureMemory,
21285                 { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21286                 NULL, 0, "sqcifAdditionalPictureMemory value", HFILL }},
21287         { &hf_h245_qcifAdditionalPictureMemory,
21288                 { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21289                 NULL, 0, "qcifAdditionalPictureMemory value", HFILL }},
21290         { &hf_h245_cifAdditionalPictureMemory,
21291                 { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21292                 NULL, 0, "cifAdditionalPictureMemory value", HFILL }},
21293         { &hf_h245_cif4AdditionalPictureMemory,
21294                 { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory", FT_UINT32, BASE_DEC,
21295                 NULL, 0, "cif4AdditionalPictureMemory value", HFILL }},
21296         { &hf_h245_cif16AdditionalPictureMemory,
21297                 { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory", FT_UINT32, BASE_DEC,
21298                 NULL, 0, "cif16AdditionalPictureMemory value", HFILL }},
21299         { &hf_h245_bigCpfAdditionalPictureMemory,
21300                 { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21301                 NULL, 0, "bigCpfAdditionalPictureMemory value", HFILL }},
21302         { &hf_h245_mpuHorizMBs,
21303                 { "mpuHorizMBs", "h245.mpuHorizMBs", FT_UINT32, BASE_DEC,
21304                 NULL, 0, "mpuHorizMBs value", HFILL }},
21305         { &hf_h245_mpuVertMBs,
21306                 { "mpuVertMBs", "h245.mpuVertMBs", FT_UINT32, BASE_DEC,
21307                 NULL, 0, "mpuVertMBs value", HFILL }},
21308         { &hf_h245_mpuTotalNumber,
21309                 { "mpuTotalNumber", "h245.mpuTotalNumber", FT_UINT32, BASE_DEC,
21310                 NULL, 0, "mpuTotalNumber value", HFILL }},
21311         { &hf_h245_clockConversionCode,
21312                 { "clockConversionCode", "h245.clockConversionCode", FT_UINT32, BASE_DEC,
21313                 NULL, 0, "clockConversionCode value", HFILL }},
21314         { &hf_h245_clockDivisor,
21315                 { "clockDivisor", "h245.clockDivisor", FT_UINT32, BASE_DEC,
21316                 NULL, 0, "clockDivisor value", HFILL }},
21317         { &hf_h245_maxCustomPictureWidth,
21318                 { "maxCustomPictureWidth", "h245.maxCustomPictureWidth", FT_UINT32, BASE_DEC,
21319                 NULL, 0, "maxCustomPictureWidth value", HFILL }},
21320         { &hf_h245_minCustomPictureWidth,
21321                 { "minCustomPictureWidth", "h245.minCustomPictureWidth", FT_UINT32, BASE_DEC,
21322                 NULL, 0, "minCustomPictureWidth value", HFILL }},
21323         { &hf_h245_minCustomPictureHeight,
21324                 { "minCustomPictureHeight", "h245.minCustomPictureHeight", FT_UINT32, BASE_DEC,
21325                 NULL, 0, "minCustomPictureHeight value", HFILL }},
21326         { &hf_h245_maxCustomPictureHeight,
21327                 { "maxCustomPictureHeight", "h245.maxCustomPictureHeight", FT_UINT32, BASE_DEC,
21328                 NULL, 0, "maxCustomPictureHeight value", HFILL }},
21329         { &hf_h245_standardMPI,
21330                 { "standardMPI", "h245.standardMPI", FT_UINT32, BASE_DEC,
21331                 NULL, 0, "standardMPI value", HFILL }},
21332         { &hf_h245_customMPI,
21333                 { "customMPI", "h245.customMPI", FT_UINT32, BASE_DEC,
21334                 NULL, 0, "customMPI value", HFILL }},
21335         { &hf_h245_width,
21336                 { "width", "h245.width", FT_UINT32, BASE_DEC,
21337                 NULL, 0, "width value", HFILL }},
21338         { &hf_h245_height,
21339                 { "height", "h245.height", FT_UINT32, BASE_DEC,
21340                 NULL, 0, "height value", HFILL }},
21341         { &hf_h245_pictureRate,
21342                 { "pictureRate", "h245.pictureRate", FT_UINT32, BASE_DEC,
21343                 NULL, 0, "pictureRate value", HFILL }},
21344         { &hf_h245_g711Alaw64k,
21345                 { "g711Alaw64k", "h245.g711Alaw64k", FT_UINT32, BASE_DEC,
21346                 NULL, 0, "g711Alaw64k value", HFILL }},
21347         { &hf_h245_g711Alaw56k,
21348                 { "g711Alaw56k", "h245.g711Alaw56k", FT_UINT32, BASE_DEC,
21349                 NULL, 0, "g711Alaw56k value", HFILL }},
21350         { &hf_h245_g711Ulaw64k,
21351                 { "g711Ulaw64k", "h245.g711Ulaw64k", FT_UINT32, BASE_DEC,
21352                 NULL, 0, "g711Ulaw64k value", HFILL }},
21353         { &hf_h245_g711Ulaw56k,
21354                 { "g711Ulaw56k", "h245.g711Ulaw56k", FT_UINT32, BASE_DEC,
21355                 NULL, 0, "g711Ulaw56k value", HFILL }},
21356         { &hf_h245_g722_64k,
21357                 { "g722_64k", "h245.g722_64k", FT_UINT32, BASE_DEC,
21358                 NULL, 0, "g722_64k value", HFILL }},
21359         { &hf_h245_g722_56k,
21360                 { "g722_56k", "h245.g722_56k", FT_UINT32, BASE_DEC,
21361                 NULL, 0, "g722_56k value", HFILL }},
21362         { &hf_h245_g722_48k,
21363                 { "g722_48k", "h245.g722_48k", FT_UINT32, BASE_DEC,
21364                 NULL, 0, "g722_48k value", HFILL }},
21365         { &hf_h245_maxAl_sduAudioFrames,
21366                 { "maxAl_sduAudioFrames", "h245.maxAl_sduAudioFrames", FT_UINT32, BASE_DEC,
21367                 NULL, 0, "maxAl_sduAudioFrames value", HFILL }},
21368         { &hf_h245_g728,
21369                 { "g728", "h245.g728", FT_UINT32, BASE_DEC,
21370                 NULL, 0, "g728 value", HFILL }},
21371         { &hf_h245_g729,
21372                 { "g729", "h245.g729", FT_UINT32, BASE_DEC,
21373                 NULL, 0, "g729 value", HFILL }},
21374         { &hf_h245_g729AnnexA,
21375                 { "g729AnnexA", "h245.g729AnnexA", FT_UINT32, BASE_DEC,
21376                 NULL, 0, "g729AnnexA value", HFILL }},
21377         { &hf_h245_g729wAnnexB,
21378                 { "g729wAnnexB", "h245.g729wAnnexB", FT_UINT32, BASE_DEC,
21379                 NULL, 0, "g729wAnnexB value", HFILL }},
21380         { &hf_h245_g729AnnexAwAnnexB,
21381                 { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB", FT_UINT32, BASE_DEC,
21382                 NULL, 0, "g729AnnexAwAnnexB value", HFILL }},
21383         { &hf_h245_audioUnit,
21384                 { "audioUnit", "h245.audioUnit", FT_UINT32, BASE_DEC,
21385                 NULL, 0, "audioUnit value", HFILL }},
21386         { &hf_h245_highRateMode0,
21387                 { "highRateMode0", "h245.highRateMode0", FT_UINT32, BASE_DEC,
21388                 NULL, 0, "highRateMode0 value", HFILL }},
21389         { &hf_h245_highRateMode1,
21390                 { "highRateMode1", "h245.highRateMode1", FT_UINT32, BASE_DEC,
21391                 NULL, 0, "highRateMode1 value", HFILL }},
21392         { &hf_h245_lowRateMode0,
21393                 { "lowRateMode0", "h245.lowRateMode0", FT_UINT32, BASE_DEC,
21394                 NULL, 0, "lowRateMode0 value", HFILL }},
21395         { &hf_h245_lowRateMode1,
21396                 { "lowRateMode1", "h245.lowRateMode1", FT_UINT32, BASE_DEC,
21397                 NULL, 0, "lowRateMode1 value", HFILL }},
21398         { &hf_h245_sidMode0,
21399                 { "sidMode0", "h245.sidMode0", FT_UINT32, BASE_DEC,
21400                 NULL, 0, "sidMode0 value", HFILL }},
21401         { &hf_h245_sidMode1,
21402                 { "sidMode1", "h245.sidMode1", FT_UINT32, BASE_DEC,
21403                 NULL, 0, "sidMode1 value", HFILL }},
21404         { &hf_h245_audioUnitSize,
21405                 { "audioUnitSize", "h245.audioUnitSize", FT_UINT32, BASE_DEC,
21406                 NULL, 0, "audioUnitSize value", HFILL }},
21407         { &hf_h245_maxBitRate_4294967295UL,
21408                 { "maxBitRate_4294967295UL", "h245.maxBitRate_4294967295UL", FT_UINT32, BASE_DEC,
21409                 NULL, 0, "maxBitRate value in units of 100bits/s", HFILL }},
21410         { &hf_h245_numberOfCodewords,
21411                 { "numberOfCodewords", "h245.numberOfCodewords", FT_UINT32, BASE_DEC,
21412                 NULL, 0, "numberOfCodewords value", HFILL }},
21413         { &hf_h245_maximumStringLength,
21414                 { "maximumStringLength", "h245.maximumStringLength", FT_UINT32, BASE_DEC,
21415                 NULL, 0, "maximumStringLength value", HFILL }},
21416         { &hf_h245_version,
21417                 { "version", "h245.version", FT_UINT32, BASE_DEC,
21418                 NULL, 0, "version value", HFILL }},
21419         { &hf_h245_standard_0_127,
21420                 { "standard_0_127", "h245.standard_0_127", FT_UINT32, BASE_DEC,
21421                 NULL, 0, "standard_0_127 value", HFILL }},
21422         { &hf_h245_booleanArray,
21423                 { "booleanArray", "h245.booleanArray", FT_UINT32, BASE_DEC,
21424                 NULL, 0, "booleanArray value", HFILL }},
21425         { &hf_h245_unsignedMin,
21426                 { "unsignedMin", "h245.unsignedMin", FT_UINT32, BASE_DEC,
21427                 NULL, 0, "unsignedMin value", HFILL }},
21428         { &hf_h245_unsignedMax,
21429                 { "unsignedMax", "h245.unsignedMax", FT_UINT32, BASE_DEC,
21430                 NULL, 0, "unsignedMax value", HFILL }},
21431         { &hf_h245_unsigned32Min,
21432                 { "unsigned32Min", "h245.unsigned32Min", FT_UINT32, BASE_DEC,
21433                 NULL, 0, "unsigned32Min value", HFILL }},
21434         { &hf_h245_unsigned32Max,
21435                 { "unsigned32Max", "h245.unsigned32Max", FT_UINT32, BASE_DEC,
21436                 NULL, 0, "unsigned32Max value", HFILL }},
21437         { &hf_h245_dynamicRTPPayloadType,
21438                 { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType", FT_UINT32, BASE_DEC,
21439                 NULL, 0, "dynamicRTPPayloadType value", HFILL }},
21440         { &hf_h245_portNumber,
21441                 { "portNumber", "h245.portNumber", FT_UINT32, BASE_DEC,
21442                 NULL, 0, "portNumber value", HFILL }},
21443         { &hf_h245_resourceID,
21444                 { "resourceID", "h245.resourceID", FT_UINT32, BASE_DEC,
21445                 NULL, 0, "resourceID value", HFILL }},
21446         { &hf_h245_subChannelID,
21447                 { "subChannelID", "h245.subChannelID", FT_UINT32, BASE_DEC,
21448                 NULL, 0, "subChannelID value", HFILL }},
21449         { &hf_h245_pcr_pid,
21450                 { "pcr_pid", "h245.pcr_pid", FT_UINT32, BASE_DEC,
21451                 NULL, 0, "pcr_pid value", HFILL }},
21452         { &hf_h245_controlFieldOctets,
21453                 { "controlFieldOctets", "h245.controlFieldOctets", FT_UINT32, BASE_DEC,
21454                 NULL, 0, "controlFieldOctets value", HFILL }},
21455         { &hf_h245_sendBufferSize,
21456                 { "sendBufferSize", "h245.sendBufferSize", FT_UINT32, BASE_DEC,
21457                 NULL, 0, "sendBufferSize value", HFILL }},
21458         { &hf_h245_rcpcCodeRate,
21459                 { "rcpcCodeRate", "h245.rcpcCodeRate", FT_UINT32, BASE_DEC,
21460                 NULL, 0, "rcpcCodeRate value", HFILL }},
21461         { &hf_h245_rsCodeCorrection,
21462                 { "rsCodeCorrection", "h245.rsCodeCorrection", FT_UINT32, BASE_DEC,
21463                 NULL, 0, "rsCodeCorrection value", HFILL }},
21464         { &hf_h245_finite_0_16,
21465                 { "finite_0_16", "h245.finite_0_16", FT_UINT32, BASE_DEC,
21466                 NULL, 0, "finite_0_16 value", HFILL }},
21467         { &hf_h245_windowSize,
21468                 { "windowSize", "h245.windowSize", FT_UINT32, BASE_DEC,
21469                 NULL, 0, "windowSize value", HFILL }},
21470         { &hf_h245_n401,
21471                 { "n401", "h245.n401", FT_UINT32, BASE_DEC,
21472                 NULL, 0, "n401 value", HFILL }},
21473         { &hf_h245_sessionID_0_255,
21474                 { "sessionID_0_255", "h245.sessionID_0_255", FT_UINT32, BASE_DEC,
21475                 NULL, 0, "sessionID_0_255 value", HFILL }},
21476         { &hf_h245_sessionID_1_255,
21477                 { "sessionID_1_255", "h245.sessionID_1_255", FT_UINT32, BASE_DEC,
21478                 NULL, 0, "sessionID_1_255 value", HFILL }},
21479         { &hf_h245_associatedSessionID,
21480                 { "associatedSessionID", "h245.associatedSessionID", FT_UINT32, BASE_DEC,
21481                 NULL, 0, "associatedSessionID value", HFILL }},
21482         { &hf_h245_payloadType,
21483                 { "payloadType", "h245.payloadType", FT_UINT32, BASE_DEC,
21484                 NULL, 0, "payloadType value", HFILL }},
21485         { &hf_h245_protectedSessionID,
21486                 { "protectedSessionID", "h245.protectedSessionID", FT_UINT32, BASE_DEC,
21487                 NULL, 0, "protectedSessionID value", HFILL }},
21488         { &hf_h245_protectedPayloadType,
21489                 { "protectedPayloadType", "h245.protectedPayloadType", FT_UINT32, BASE_DEC,
21490                 NULL, 0, "protectedPayloadType value", HFILL }},
21491         { &hf_h245_tsapIdentifier,
21492                 { "tsapIdentifier", "h245.tsapIdentifier", FT_UINT32, BASE_DEC,
21493                 NULL, 0, "tsapIdentifier value", HFILL }},
21494         { &hf_h245_synchFlag,
21495                 { "synchFlag", "h245.synchFlag", FT_UINT32, BASE_DEC,
21496                 NULL, 0, "synchFlag value", HFILL }},
21497         { &hf_h245_finite_1_65535,
21498                 { "finite_1_65535", "h245.finite_1_65535", FT_UINT32, BASE_DEC,
21499                 NULL, 0, "finite_1_65535 value", HFILL }},
21500         { &hf_h245_MultiplexTableEntryNumber,
21501                 { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber", FT_UINT32, BASE_DEC,
21502                 NULL, 0, "MultiplexTableEntryNumber value", HFILL }},
21503         { &hf_h245_dataModeBitRate,
21504                 { "dataModeBitRate", "h245.dataModeBitRate", FT_UINT32, BASE_DEC,
21505                 NULL, 0, "dataModeBitRate value", HFILL }},
21506         { &hf_h245_sessionDependency,
21507                 { "sessionDependency", "h245.sessionDependency", FT_UINT32, BASE_DEC,
21508                 NULL, 0, "sessionDependency value", HFILL }},
21509         { &hf_h245_sRandom,
21510                 { "sRandom", "h245.sRandom", FT_UINT32, BASE_DEC,
21511                 NULL, 0, "sRandom value", HFILL }},
21512         { &hf_h245_McuNumber,
21513                 { "McuNumber", "h245.McuNumber", FT_UINT32, BASE_DEC,
21514                 NULL, 0, "McuNumber value", HFILL }},
21515         { &hf_h245_TerminalNumber,
21516                 { "TerminalNumber", "h245.TerminalNumber", FT_UINT32, BASE_DEC,
21517                 NULL, 0, "TerminalNumber value", HFILL }},
21518         { &hf_h245_maxNumberOfAdditionalConnections,
21519                 { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections", FT_UINT32, BASE_DEC,
21520                 NULL, 0, "maxNumberOfAdditionalConnections value", HFILL }},
21521         { &hf_h245_requestedInterval,
21522                 { "requestedInterval", "h245.requestedInterval", FT_UINT32, BASE_DEC,
21523                 NULL, 0, "requestedInterval value", HFILL }},
21524         { &hf_h245_callAssociationNumber,
21525                 { "callAssociationNumber", "h245.callAssociationNumber", FT_UINT32, BASE_DEC,
21526                 NULL, 0, "callAssociationNumber value", HFILL }},
21527         { &hf_h245_currentInterval,
21528                 { "currentInterval", "h245.currentInterval", FT_UINT32, BASE_DEC,
21529                 NULL, 0, "currentInterval value", HFILL }},
21530         { &hf_h245_infoNotAvailable,
21531                 { "infoNotAvailable", "h245.infoNotAvailable", FT_UINT32, BASE_DEC,
21532                 NULL, 0, "infoNotAvailable value", HFILL }},
21533         { &hf_h245_channelTag,
21534                 { "channelTag", "h245.channelTag", FT_UINT32, BASE_DEC,
21535                 NULL, 0, "channelTag value", HFILL }},
21536         { &hf_h245_ConnectionIDsequenceNumber,
21537                 { "ConnectionIDsequenceNumber", "h245.ConnectionIDsequenceNumber", FT_UINT32, BASE_DEC,
21538                 NULL, 0, "ConnectionIDsequenceNumber value", HFILL }},
21539         { &hf_h245_MaximumBitRate,
21540                 { "MaximumBitRate", "h245.MaximumBitRate", FT_UINT32, BASE_DEC,
21541                 NULL, 0, "MaximumBitRate value", HFILL }},
21542         { &hf_h245_maximumBitRate_0_16777215,
21543                 { "maximumBitRate_0_16777215", "h245.maximumBitRate_0_16777215", FT_UINT32, BASE_DEC,
21544                 NULL, 0, "maximumBitRate_0_16777215 value", HFILL }},
21545         { &hf_h245_firstGOB_0_17,
21546                 { "firstGOB_0_17", "h245.firstGOB_0_17", FT_UINT32, BASE_DEC,
21547                 NULL, 0, "firstGOB_0_17 value", HFILL }},
21548         { &hf_h245_numberOfGOBs,
21549                 { "numberOfGOBs", "h245.numberOfGOBs", FT_UINT32, BASE_DEC,
21550                 NULL, 0, "numberOfGOBs value", HFILL }},
21551         { &hf_h245_videoTemporalSpatialTradeOff,
21552                 { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff", FT_UINT32, BASE_DEC,
21553                 NULL, 0, "videoTemporalSpatialTradeOff value", HFILL }},
21554         { &hf_h245_firstGOB_0_255,
21555                 { "firstGOB_0_255", "h245.firstGOB_0_255", FT_UINT32, BASE_DEC,
21556                 NULL, 0, "firstGOB_0_255 value", HFILL }},
21557         { &hf_h245_firstMB_1_8192,
21558                 { "firstMB_1_8192", "h245.firstMB_1_8192", FT_UINT32, BASE_DEC,
21559                 NULL, 0, "firstMB_1_8192 value", HFILL }},
21560         { &hf_h245_firstMB_1_9216,
21561                 { "firstMB_1_9216", "h245.firstMB_1_9216", FT_UINT32, BASE_DEC,
21562                 NULL, 0, "firstMB_1_9216 value", HFILL }},
21563         { &hf_h245_numberOfMBs_1_8192,
21564                 { "numberOfMBs_1_8192", "h245.numberOfMBs_1_8192", FT_UINT32, BASE_DEC,
21565                 NULL, 0, "numberOfMBs_1_8192 value", HFILL }},
21566         { &hf_h245_numberOfMBs_1_9216,
21567                 { "numberOfMBs_1_9216", "h245.numberOfMBs_1_9216", FT_UINT32, BASE_DEC,
21568                 NULL, 0, "numberOfMBs_1_9216 value", HFILL }},
21569         { &hf_h245_maxH223MUXPDUsize,
21570                 { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize", FT_UINT32, BASE_DEC,
21571                 NULL, 0, "maxH223MUXPDUsize value", HFILL }},
21572         { &hf_h245_temporalReference_0_1023,
21573                 { "temporalReference_0_1023", "h245.temporalReference_0_1023", FT_UINT32, BASE_DEC,
21574                 NULL, 0, "temporalReference_0_1023 value", HFILL }},
21575         { &hf_h245_temporalReference_0_255,
21576                 { "temporalReference_0_255", "h245.temporalReference_0_255", FT_UINT32, BASE_DEC,
21577                 NULL, 0, "temporalReference_0_255 value", HFILL }},
21578         { &hf_h245_pictureNumber,
21579                 { "pictureNumber", "h245.pictureNumber", FT_UINT32, BASE_DEC,
21580                 NULL, 0, "pictureNumber value", HFILL }},
21581         { &hf_h245_longTermPictureIndex,
21582                 { "longTermPictureIndex", "h245.longTermPictureIndex", FT_UINT32, BASE_DEC,
21583                 NULL, 0, "longTermPictureIndex value", HFILL }},
21584         { &hf_h245_sampleSize,
21585                 { "sampleSize", "h245.sampleSize", FT_UINT32, BASE_DEC,
21586                 NULL, 0, "sampleSize value", HFILL }},
21587         { &hf_h245_samplesPerFrame,
21588                 { "samplesPerFrame", "h245.samplesPerFrame", FT_UINT32, BASE_DEC,
21589                 NULL, 0, "samplesPerFrame value", HFILL }},
21590         { &hf_h245_sbeNumber,
21591                 { "sbeNumber", "h245.sbeNumber", FT_UINT32, BASE_DEC,
21592                 NULL, 0, "sbeNumber value", HFILL }},
21593         { &hf_h245_subPictureNumber,
21594                 { "subPictureNumber", "h245.subPictureNumber", FT_UINT32, BASE_DEC,
21595                 NULL, 0, "subPictureNumber value", HFILL }},
21596         { &hf_h245_compositionNumber,
21597                 { "compositionNumber", "h245.compositionNumber", FT_UINT32, BASE_DEC,
21598                 NULL, 0, "compositionNumber value", HFILL }},
21599         { &hf_h245_estimatedReceivedJitterMantissa,
21600                 { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa", FT_UINT32, BASE_DEC,
21601                 NULL, 0, "estimatedReceivedJitterMantissa value", HFILL }},
21602         { &hf_h245_estimatedReceivedJitterExponent,
21603                 { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent", FT_UINT32, BASE_DEC,
21604                 NULL, 0, "estimatedReceivedJitterExponent value", HFILL }},
21605         { &hf_h245_skippedFrameCount,
21606                 { "skippedFrameCount", "h245.skippedFrameCount", FT_UINT32, BASE_DEC,
21607                 NULL, 0, "skippedFrameCount value", HFILL }},
21608         { &hf_h245_additionalDecoderBuffer,
21609                 { "additionalDecoderBuffer", "h245.additionalDecoderBuffer", FT_UINT32, BASE_DEC,
21610                 NULL, 0, "additionalDecoderBuffer value", HFILL }},
21611         { &hf_h245_skew,
21612                 { "skew", "h245.skew", FT_UINT32, BASE_DEC,
21613                 NULL, 0, "skew value", HFILL }},
21614         { &hf_h245_maximumSkew,
21615                 { "maximumSkew", "h245.maximumSkew", FT_UINT32, BASE_DEC,
21616                 NULL, 0, "maximumSkew value", HFILL }},
21617         { &hf_h245_duration,
21618                 { "duration", "h245.duration", FT_UINT32, BASE_DEC,
21619                 NULL, 0, "duration value", HFILL }},
21620         { &hf_h245_timestamp,
21621                 { "timestamp", "h245.timestamp", FT_UINT32, BASE_DEC,
21622                 NULL, 0, "timestamp value", HFILL }},
21623         { &hf_h245_frame,
21624                 { "frame", "h245.frame", FT_UINT32, BASE_DEC,
21625                 NULL, 0, "frame", HFILL }},
21626         { &hf_h245_containedThread,
21627                 { "containedThread", "h245.containedThread", FT_UINT32, BASE_DEC,
21628                 NULL, 0, "containedThread value", HFILL }},
21629         { &hf_h245_t38FaxMaxDatagram,
21630                 { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram", FT_INT32, BASE_DEC,
21631                 NULL, 0, "t38FaxMaxDatagram value", HFILL }},
21632         { &hf_h245_t38FaxMaxBuffer,
21633                 { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer", FT_INT32, BASE_DEC,
21634                 NULL, 0, "t38FaxMaxBuffer value", HFILL }},
21635         { &hf_h245_expirationTime,
21636                 { "expirationTime", "h245.expirationTime", FT_UINT32, BASE_DEC,
21637                 NULL, 0, "expirationTime value", HFILL }},
21638         { &hf_h245_rfc_number,
21639                 { "RFC", "h245.rfc_number", FT_UINT32, BASE_DEC,
21640                 NULL, 0, "Number of the RFC where this can be found", HFILL }},
21641         { &hf_h245_object,
21642                 { "Object", "h245.object", FT_STRING, BASE_NONE,
21643                 NULL, 0, "Object Identifier", HFILL }},
21644         { &hf_h245_protocolIdentifier,
21645                 { "protocolIdentifier", "h245.protocolIdentifier", FT_STRING, BASE_NONE,
21646                 NULL, 0, "protocolIdentifier object", HFILL }},
21647         { &hf_h245_algorithm,
21648                 { "algorithm", "h245.algorithm", FT_STRING, BASE_NONE,
21649                 NULL, 0, "algorithm object", HFILL }},
21650         { &hf_h245_antiSpamAlgorithm,
21651                 { "antiSpamAlgorithm", "h245.antiSpamAlgorithm", FT_STRING, BASE_NONE,
21652                 NULL, 0, "antiSpamAlgorithm object", HFILL }},
21653         { &hf_h245_standard_object,
21654                 { "standard_object", "h245.standard_object", FT_STRING, BASE_NONE,
21655                 NULL, 0, "standard_object object", HFILL }},
21656         { &hf_h245_oid,
21657                 { "oid", "h245.oid", FT_STRING, BASE_NONE,
21658                 NULL, 0, "oid object", HFILL }},
21659         { &hf_h245_escrowID,
21660                 { "escrowID", "h245.escrowID", FT_STRING, BASE_NONE,
21661                 NULL, 0, "escrowID object", HFILL }},
21662         { &hf_h245_field,
21663                 { "field", "h245.field", FT_STRING, BASE_NONE,
21664                 NULL, 0, "field object", HFILL }},
21665         { &hf_h245_NonStandardParameterData,
21666                 { "data", "h245.NonStandardParameterData", FT_BYTES, BASE_HEX,
21667                 NULL, 0, "NonStandardParameterData", HFILL }},
21668         { &hf_h245_nlpidData,
21669                 { "nlpidData", "h245.nlpidData", FT_BYTES, BASE_HEX,
21670                 NULL, 0, "nlpidData octet string", HFILL }},
21671         { &hf_h245_nonCollapsingRaw,
21672                 { "nonCollapsingRaw", "h245.nonCollapsingRaw", FT_BYTES, BASE_HEX,
21673                 NULL, 0, "nonCollapsingRaw octet string", HFILL }},
21674         { &hf_h245_uuid,
21675                 { "uuid", "h245.uuid", FT_BYTES, BASE_HEX,
21676                 NULL, 0, "uuid octet string", HFILL }},
21677         { &hf_h245_octetString,
21678                 { "octetString", "h245.octetString", FT_BYTES, BASE_HEX,
21679                 NULL, 0, "octetString octet string", HFILL }},
21680         { &hf_h245_externalReference,
21681                 { "externalReference", "h245.externalReference", FT_BYTES, BASE_HEX,
21682                 NULL, 0, "externalReference octet string", HFILL }},
21683         { &hf_h245_nsapAddress,
21684                 { "nsapAddress", "h245.nsapAddress", FT_BYTES, BASE_HEX,
21685                 NULL, 0, "nsapAddress octet string", HFILL }},
21686         { &hf_h245_subaddress_1_20,
21687                 { "subaddress_1_20", "h245.subaddress_1_20", FT_BYTES, BASE_HEX,
21688                 NULL, 0, "subaddress_1_20 octet string", HFILL }},
21689         { &hf_h245_programDescriptors,
21690                 { "programDescriptors", "h245.programDescriptors", FT_BYTES, BASE_HEX,
21691                 NULL, 0, "programDescriptors octet string", HFILL }},
21692         { &hf_h245_streamDescriptors,
21693                 { "streamDescriptors", "h245.streamDescriptors", FT_BYTES, BASE_HEX,
21694                 NULL, 0, "streamDescriptors octet string", HFILL }},
21695         { &hf_h245_ipv4network,
21696                 { "ipv4network", "h245.ipv4network", FT_IPv4, BASE_NONE,
21697                 NULL, 0, "IPv4 Address", HFILL }},
21698         { &hf_h245_ipxNode,
21699                 { "ipxNode", "h245.ipxNode", FT_BYTES, BASE_HEX,
21700                 NULL, 0, "ipxNode octet string", HFILL }},
21701         { &hf_h245_ipxNetnum,
21702                 { "ipxNetnum", "h245.ipxNetnum", FT_BYTES, BASE_HEX,
21703                 NULL, 0, "ipxNetnum octet string", HFILL }},
21704         { &hf_h245_ipv6network,
21705                 { "ipv6network", "h245.ipv6network", FT_BYTES, BASE_HEX,
21706                 NULL, 0, "ipv6network octet string", HFILL }},
21707         { &hf_h245_netBios,
21708                 { "netBios", "h245.netBios", FT_BYTES, BASE_HEX,
21709                 NULL, 0, "netBios octet string", HFILL }},
21710         { &hf_h245_nsap,
21711                 { "nsap", "h245.nsap", FT_BYTES, BASE_HEX,
21712                 NULL, 0, "nsap octet string", HFILL }},
21713         { &hf_h245_h235Key,
21714                 { "h235Key", "h245.h235Key", FT_BYTES, BASE_HEX,
21715                 NULL, 0, "h235Key octet string", HFILL }},
21716         { &hf_h245_value,
21717                 { "value", "h245.value", FT_BYTES, BASE_HEX,
21718                 NULL, 0, "value octet string", HFILL }},
21719         { &hf_h245_certificateResponse,
21720                 { "certificateResponse", "h245.certificateResponse", FT_BYTES, BASE_HEX,
21721                 NULL, 0, "certificateResponse octet string", HFILL }},
21722         { &hf_h245_TerminalID,
21723                 { "TerminalID", "h245.TerminalID", FT_BYTES, BASE_HEX,
21724                 NULL, 0, "TerminalID octet string", HFILL }},
21725         { &hf_h245_ConferenceID,
21726                 { "ConferenceID", "h245.ConferenceID", FT_BYTES, BASE_HEX,
21727                 NULL, 0, "ConferenceID octet string", HFILL }},
21728         { &hf_h245_Password,
21729                 { "Password", "h245.Password", FT_BYTES, BASE_HEX,
21730                 NULL, 0, "Password octet string", HFILL }},
21731         { &hf_h245_encryptionSE,
21732                 { "encryptionSE", "h245.encryptionSE", FT_BYTES, BASE_HEX,
21733                 NULL, 0, "encryptionSE octet string", HFILL }},
21734         { &hf_h245_conferenceIdentifier,
21735                 { "conferenceIdentifier", "h245.conferenceIdentifier", FT_BYTES, BASE_HEX,
21736                 NULL, 0, "conferenceIdentifier octet string", HFILL }},
21737         { &hf_h245_returnedFunction,
21738                 { "returnedFunction", "h245.returnedFunction", FT_BYTES, BASE_HEX,
21739                 NULL, 0, "returnedFunction octet string", HFILL }},
21740         { &hf_h245_productNumber,
21741                 { "productNumber", "h245.productNumber", FT_BYTES, BASE_HEX,
21742                 NULL, 0, "productNumber octet string", HFILL }},
21743         { &hf_h245_versionNumber,
21744                 { "versionNumber", "h245.versionNumber", FT_BYTES, BASE_HEX,
21745                 NULL, 0, "versionNumber octet string", HFILL }},
21746         { &hf_h245_mediaDistributionCapability,
21747                 { "mediaDistributionCapability", "h245.mediaDistributionCapability_sequence_of", FT_NONE, BASE_NONE,
21748                 NULL, 0 , "mediaDistributionCapability sequence of", HFILL }},
21749         { &hf_h245_AlternativeCapabilitySet,
21750                 { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet", FT_NONE, BASE_NONE,
21751                 NULL, 0 , "AlternativeCapabilitySet sequence of", HFILL }},
21752         { &hf_h245_CapabilityTableEntryNumber_sequence_of,
21753                 { "CapabilityTableEntryNumber_sequence_of", "h245.CapabilityTableEntryNumber_sequence_of", FT_NONE, BASE_NONE,
21754                 NULL, 0 , "CapabilityTableEntryNumber_sequence_of sequence of", HFILL }},
21755         { &hf_h245_frameToThreadMapping_custom,
21756                 { "frameToThreadMapping_custom", "h245.frameToThreadMapping_custom", FT_NONE, BASE_NONE,
21757                 NULL, 0 , "frameToThreadMapping_custom sequence of", HFILL }},
21758         { &hf_h245_RedundancyEncodingCapability_sequence_of,
21759                 { "RedundancyEncodingCapability_sequence_of", "h245.RedundancyEncodingCapability_sequence_of", FT_NONE, BASE_NONE,
21760                 NULL, 0 , "RedundancyEncodingCapability_sequence_of sequence of", HFILL }},
21761         { &hf_h245_frameSequence,
21762                 { "frameSequence", "h245.frameSequence", FT_NONE, BASE_NONE,
21763                 NULL, 0 , "sequence of frames", HFILL }},
21764         { &hf_h245_escrowentry,
21765                 { "escrowentry", "h245.escrowentry", FT_NONE, BASE_NONE,
21766                 NULL, 0 , "escrowentry sequence of", HFILL }},
21767         { &hf_h245_elementList,
21768                 { "elementList", "h245.elementList", FT_NONE, BASE_NONE,
21769                 NULL, 0 , "elementList sequence of", HFILL }},
21770         { &hf_h245_subElementList,
21771                 { "subElementList", "h245.subElementList", FT_NONE, BASE_NONE,
21772                 NULL, 0 , "subElementList sequence of", HFILL }},
21773         { &hf_h245_requestedModes,
21774                 { "requestedModes", "h245.requestedModes", FT_NONE, BASE_NONE,
21775                 NULL, 0 , "requestedModes sequence of", HFILL }},
21776         { &hf_h245_CertSelectionCriteria,
21777                 { "CertSelectionCriteria", "h245.CertSelectionCriteria", FT_NONE, BASE_NONE,
21778                 NULL, 0 , "CertSelectionCriteria sequence of", HFILL }},
21779         { &hf_h245_capabilityTable,
21780                 { "capabilityTable", "h245.capabilityTable", FT_NONE, BASE_NONE,
21781                 NULL, 0, "capabilityTable set of", HFILL }},
21782         { &hf_h245_capabilityDescriptors,
21783                 { "capabilityDescriptors", "h245.capabilityDescriptors", FT_NONE, BASE_NONE,
21784                 NULL, 0, "capabilityDescriptors set of", HFILL }},
21785         { &hf_h245_simultaneousCapabilities,
21786                 { "simultaneousCapabilities", "h245.simultaneousCapabilities", FT_NONE, BASE_NONE,
21787                 NULL, 0, "simultaneousCapabilities set of", HFILL }},
21788         { &hf_h245_gatewayAddress,
21789                 { "gatewayAddress", "h245.gatewayAddress", FT_NONE, BASE_NONE,
21790                 NULL, 0, "gatewayAddress set of", HFILL }},
21791         { &hf_h245_snrEnhancement,
21792                 { "snrEnhancement", "h245.snrEnhancement", FT_NONE, BASE_NONE,
21793                 NULL, 0, "snrEnhancement set of", HFILL }},
21794         { &hf_h245_spatialEnhancement,
21795                 { "spatialEnhancement", "h245.spatialEnhancement", FT_NONE, BASE_NONE,
21796                 NULL, 0, "spatialEnhancement set of", HFILL }},
21797         { &hf_h245_bPictureEnhancement,
21798                 { "bPictureEnhancement", "h245.bPictureEnhancement", FT_NONE, BASE_NONE,
21799                 NULL, 0, "bPictureEnhancement set of", HFILL }},
21800         { &hf_h245_customPictureClockFrequency,
21801                 { "customPictureClockFrequency", "h245.customPictureClockFrequency", FT_NONE, BASE_NONE,
21802                 NULL, 0, "customPictureClockFrequency set of", HFILL }},
21803         { &hf_h245_customPictureFormat,
21804                 { "customPictureFormat", "h245.customPictureFormat", FT_NONE, BASE_NONE,
21805                 NULL, 0, "customPictureFormat set of", HFILL }},
21806         { &hf_h245_modeCombos,
21807                 { "modeCombos", "h245.modeCombos", FT_NONE, BASE_NONE,
21808                 NULL, 0, "modeCombos set of", HFILL }},
21809         { &hf_h245_customPCF,
21810                 { "customPCF", "h245.customPCF", FT_NONE, BASE_NONE,
21811                 NULL, 0, "customPCF set of", HFILL }},
21812         { &hf_h245_pixelAspectCode,
21813                 { "pixelAspectCode", "h245.pixelAspectCode", FT_NONE, BASE_NONE,
21814                 NULL, 0, "pixelAspectCode set of", HFILL }},
21815         { &hf_h245_extendedPAR,
21816                 { "extendedPAR", "h245.extendedPAR", FT_NONE, BASE_NONE,
21817                 NULL, 0, "extendedPAR set of", HFILL }},
21818         { &hf_h245_h263VideoCoupledModes,
21819                 { "h263VideoCoupledModes", "h245.h263VideoCoupledModes", FT_NONE, BASE_NONE,
21820                 NULL, 0, "h263VideoCoupledModes set of", HFILL }},
21821         { &hf_h245_capabilityOnMuxStream,
21822                 { "capabilityOnMuxStream", "h245.capabilityOnMuxStream", FT_NONE, BASE_NONE,
21823                 NULL, 0, "capabilityOnMuxStream set of", HFILL }},
21824         { &hf_h245_capabilities,
21825                 { "capabilities", "h245.capabilities", FT_NONE, BASE_NONE,
21826                 NULL, 0, "capabilities set of", HFILL }},
21827         { &hf_h245_multiplexEntryDescriptors,
21828                 { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors", FT_NONE, BASE_NONE,
21829                 NULL, 0, "multiplexEntryDescriptors set of", HFILL }},
21830         { &hf_h245_multiplexTableEntryNumber_set_of,
21831                 { "multiplexTableEntryNumber_set_of", "h245.multiplexTableEntryNumber_set_of", FT_NONE, BASE_NONE,
21832                 NULL, 0, "multiplexTableEntryNumber_set_of set of", HFILL }},
21833         { &hf_h245_VCCapability_set_of,
21834                 { "VCCapability_set_of", "h245.VCCapability_set_of", FT_NONE, BASE_NONE,
21835                 NULL, 0, "VCCapability_set_of set of", HFILL }},
21836         { &hf_h245_rejectionDescriptions,
21837                 { "rejectionDescriptions", "h245.rejectionDescriptions", FT_NONE, BASE_NONE,
21838                 NULL, 0, "rejectionDescriptions set of", HFILL }},
21839         { &hf_h245_entryNumbers,
21840                 { "entryNumbers", "h245.entryNumbers", FT_NONE, BASE_NONE,
21841                 NULL, 0, "entryNumbers set of", HFILL }},
21842         { &hf_h245_ModeDescription,
21843                 { "ModeDescription", "h245.ModeDescription", FT_NONE, BASE_NONE,
21844                 NULL, 0, "ModeDescription set of", HFILL }},
21845         { &hf_h245_communicationModeTable,
21846                 { "communicationModeTable", "h245.communicationModeTable", FT_NONE, BASE_NONE,
21847                 NULL, 0, "communicationModeTable set of", HFILL }},
21848         { &hf_h245_terminalListResponse,
21849                 { "terminalListResponse", "h245.terminalListResponse", FT_NONE, BASE_NONE,
21850                 NULL, 0, "terminalListResponse set of", HFILL }},
21851         { &hf_h245_differential,
21852                 { "differential", "h245.differential", FT_NONE, BASE_NONE,
21853                 NULL, 0, "differential set of", HFILL }},
21854         { &hf_h245_networkType,
21855                 { "networkType", "h245.networkType", FT_NONE, BASE_NONE,
21856                 NULL, 0, "networkType set of", HFILL }},
21857         { &hf_h245_capabilityTableEntryNumbers,
21858                 { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers", FT_NONE, BASE_NONE,
21859                 NULL, 0, "capabilityTableEntryNumbers set of", HFILL }},
21860         { &hf_h245_capabilityDescriptorNumbers,
21861                 { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers", FT_NONE, BASE_NONE,
21862                 NULL, 0, "capabilityDescriptorNumbers set of", HFILL }},
21863         { &hf_h245_qOSCapabilities,
21864                 { "qOSCapabilities", "h245.qOSCapabilities", FT_NONE, BASE_NONE,
21865                 NULL, 0 , "qOSCapabilities sequence of", HFILL }},
21866         { &hf_h245_EncryptionCapability,
21867                 { "EncryptionCapability", "h245.EncryptionCapability", FT_NONE, BASE_NONE,
21868                 NULL, 0 , "EncryptionCapability sequence of", HFILL }},
21869         { &hf_h245_containedThreads,
21870                 { "containedThreads", "h245.containedThreads", FT_NONE, BASE_NONE,
21871                 NULL, 0 , "containedThreads sequence of", HFILL }},
21872         { &hf_h245_mediaChannelCapabilities,
21873                 { "mediaChannelCapabilities", "h245.mediaChannelCapabilities", FT_NONE, BASE_NONE,
21874                 NULL, 0 , "mediaChannelCapabilities sequence of", HFILL }},
21875         { &hf_h245_rtpPayloadType_sequence_of,
21876                 { "rtpPayloadType_sequence_of", "h245.rtpPayloadType_sequence_of", FT_NONE, BASE_NONE,
21877                 NULL, 0 , "rtpPayloadType sequence of", HFILL }},
21878         { &hf_h245_centralizedData,
21879                 { "centralizedData", "h245.centralizedData_sequence_of", FT_NONE, BASE_NONE,
21880                 NULL, 0 , "centralizedData sequence of", HFILL }},
21881         { &hf_h245_distributedData,
21882                 { "distributedData", "h245.distributedData_sequence_of", FT_NONE, BASE_NONE,
21883                 NULL, 0 , "distributedData sequence of", HFILL }},
21884         { &hf_h245_nonStandardData,
21885                 { "nonStandardData", "h245.nonStandardData_sequence_of", FT_NONE, BASE_NONE,
21886                 NULL, 0 , "nonStandardData sequence of", HFILL }},
21887         { &hf_h245_collapsing,
21888                 { "collapsing", "h245.collapsing_sequence_of", FT_NONE, BASE_NONE,
21889                 NULL, 0 , "collapsing sequence of", HFILL }},
21890         { &hf_h245_nonCollapsing,
21891                 { "nonCollapsing", "h245.nonCollapsing_sequence_of", FT_NONE, BASE_NONE,
21892                 NULL, 0 , "nonCollapsing sequence of", HFILL }},
21893         { &hf_h245_supersedes,
21894                 { "supersedes", "h245.supersedes_sequence_of", FT_NONE, BASE_NONE,
21895                 NULL, 0 , "supersedes sequence of", HFILL }},
21896         { &hf_h245_genericParameter,
21897                 { "genericParameter", "h245.genericParameter_sequence_of", FT_NONE, BASE_NONE,
21898                 NULL, 0 , "genericParameter sequence of", HFILL }},
21899         { &hf_h245_secondary_REE,
21900                 { "secondary_REE", "h245.secondary_REE_sequence_of", FT_NONE, BASE_NONE,
21901                 NULL, 0 , "secondary_REE sequence of", HFILL }},
21902         { &hf_h245_elements_MPSE,
21903                 { "elements_MPSE", "h245.elements_MPSE_sequence_of", FT_NONE, BASE_NONE,
21904                 NULL, 0 , "elements_MPSE sequence of", HFILL }},
21905         { &hf_h245_secondary_REDTME,
21906                 { "secondary_REDTME", "h245.secondary_REDTME_sequence_of", FT_NONE, BASE_NONE,
21907                 NULL, 0 , "secondary_REDTME sequence of", HFILL }},
21908         { &hf_h245_elements_MPSEM,
21909                 { "elements_MPSEM", "h245.elements_MPSEM_sequence_of", FT_NONE, BASE_NONE,
21910                 NULL, 0 , "elements_MPSEM sequence of", HFILL }},
21911         { &hf_h245_TerminalInformationSO,
21912                 { "TerminalInformationSO", "h245.TerminalInformationSO_sequence_of", FT_NONE, BASE_NONE,
21913                 NULL, 0 , "TerminalInformationSO sequence of", HFILL }},
21914         { &hf_h245_lostPicture,
21915                 { "lostPicture", "h245.lostPicture_sequence_of", FT_NONE, BASE_NONE,
21916                 NULL, 0 , "lostPicture sequence of", HFILL }},
21917         { &hf_h245_recoveryReferencePicture,
21918                 { "recoveryReferencePicture", "h245.recoveryReferencePicture_sequence_of", FT_NONE, BASE_NONE,
21919                 NULL, 0 , "recoveryReferencePicture sequence of", HFILL }},
21920         { &hf_h245_iPSourceRouteAddress_route,
21921                 { "iPSourceRouteAddress_route", "h245.iPSourceRouteAddress_route", FT_NONE, BASE_NONE,
21922                 NULL, 0, "iPSourceRouteAddress_route sequence of", HFILL }},
21923         { &hf_h245_audioTelephoneEvent,
21924                 { "audioTelephoneEvent", "h245.audioTelephoneEvent", FT_STRING, FT_NONE,
21925                 NULL, 0, "audioTelephoneEvent string", HFILL }},
21926         { &hf_h245_alphanumeric,
21927                 { "alphanumeric", "h245.alphanumeric", FT_STRING, FT_NONE,
21928                 NULL, 0, "alphanumeric string", HFILL }},
21929         { &hf_h245_domainBased,
21930                 { "domainBased", "h245.domainBased", FT_STRING, FT_NONE,
21931                 NULL, 0, "String for domainBased", HFILL }},
21932         { &hf_h245_subAddress,
21933                 { "subAddress", "h245.subAddress", FT_STRING, FT_NONE,
21934                 NULL, 0, "String for subAddress", HFILL }},
21935         { &hf_h245_e164Address,
21936                 { "e164Address", "h245.e164Address", FT_STRING, FT_NONE,
21937                 NULL, 0, "String for e164Address", HFILL }},
21938         { &hf_h245_signalType,
21939                 { "signalType", "h245.signalType", FT_STRING, FT_NONE,
21940                 NULL, 0, "String for signalType", HFILL }},
21941         { &hf_h245_DialingInformationNumber_networkAddress,
21942                 { "networkAddress", "h245.DialingInformationNumber_networkAddress", FT_STRING, FT_NONE,
21943                 NULL, 0, "String for DialingInformationNumber_networkAddress", HFILL }},
21944         { &hf_h245_internationalNumber,
21945                 { "internationalNumber", "h245.internationalNumber", FT_STRING, FT_NONE,
21946                 NULL, 0, "String for internationalNumber", HFILL }},
21947         { &hf_h245_h221Manufacturer,
21948                 { "H.221 Manufacturer", "h245.h221Manufacturer", FT_UINT32, BASE_HEX,
21949                 VALS(H221ManufacturerCode_vals), 0, "H.221 Manufacturer", HFILL }},
21950         };
21951
21952         static gint *ett[] =
21953         {
21954                 &ett_h245,
21955                 &ett_h245_MultimediaSystemControlMessage,
21956                 &ett_h245_RequestMessage,
21957                 &ett_h245_ResponseMessage,
21958                 &ett_h245_IndicationMessage,
21959                 &ett_h245_CommandMessage,
21960                 &ett_h245_OpenLogicalChannelConfirm,
21961                 &ett_h245_EndSessionCommand,
21962                 &ett_h245_MobileMultilinkReconfigurationIndication,
21963                 &ett_h245_FlowControlIndication,
21964                 &ett_h245_UserInputIndication_extendedAlphanumeric,
21965                 &ett_h245_UserInputIndication_signalUpdate_rtp,
21966                 &ett_h245_UserInputIndication_signalUpdate,
21967                 &ett_h245_UserInputIndication_signal_rtp,
21968                 &ett_h245_UserInputIndication_signal,
21969                 &ett_h245_NewATMVCIndication_reverseParameters,
21970                 &ett_h245_NewATMVCIndication_aal_aal5,
21971                 &ett_h245_NewATMVCIndication_aal_aal1,
21972                 &ett_h245_NewATMVCIndication_aal,
21973                 &ett_h245_NewATMVCIndication,
21974                 &ett_h245_VendorIdentification,
21975                 &ett_h245_MCLocationIndication,
21976                 &ett_h245_H2250MaximumSkewIndication,
21977                 &ett_h245_H223SkewIndication,
21978                 &ett_h245_JitterIndication,
21979                 &ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs,
21980                 &ett_h245_MiscellaneousIndication,
21981                 &ett_h245_VideoIndicateCompose,
21982                 &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
21983                 &ett_h245_FunctionNotSupported,
21984                 &ett_h245_MobileMultilinkReconfigurationCommand,
21985                 &ett_h245_NewATMVCCommand_reverseParameters,
21986                 &ett_h245_NewATMVCCommand,
21987                 &ett_h245_NewATMVCCommand_aal_aal5,
21988                 &ett_h245_NewATMVCCommand_aal_aal1,
21989                 &ett_h245_EncryptionUpdateRequest,
21990                 &ett_h245_KeyProtectionMethod,
21991                 &ett_h245_MiscellaneousCommand_type_lostPartialPicture,
21992                 &ett_h245_MiscellaneousCommand_type_videoBadMBs,
21993                 &ett_h245_MiscellaneousCommand_type_progressiveRefinementStart,
21994                 &ett_h245_MiscellaneousCommand_type_videoFastUpdateMB,
21995                 &ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB,
21996                 &ett_h245_MiscellaneousCommand,
21997                 &ett_h245_SubstituteConferenceIDCommand,
21998                 &ett_h245_FlowControlCommand,
21999                 &ett_h245_EncryptionCommand_encryptionAlgorithmID,
22000                 &ett_h245_SendTerminalCapabilitySet_specificRequest,
22001                 &ett_h245_LogicalChannelRateRelease,
22002                 &ett_h245_LogicalChannelRateReject,
22003                 &ett_h245_LogicalChannelRateAck,
22004                 &ett_h245_LogicalChannelRateRequest,
22005                 &ett_h245_ConnectionIdentifier,
22006                 &ett_h245_DialingInformationNumber,
22007                 &ett_h245_MultilinkIndication_excessiveError,
22008                 &ett_h245_MultilinkIndication_crcDesired,
22009                 &ett_h245_MultilinkResponse_maximumHeaderInterval,
22010                 &ett_h245_MultilinkResponse_removeConnection,
22011                 &ett_h245_MultilinkResponse_addConnection,
22012                 &ett_h245_MultilinkResponse_callInformation,
22013                 &ett_h245_MultilinkRequest_maximumHeaderInterval,
22014                 &ett_h245_MultilinkRequest_removeConnection,
22015                 &ett_h245_MultilinkRequest_addConnection,
22016                 &ett_h245_MultilinkRequest_callInformation,
22017                 &ett_h245_TerminalInformation,
22018                 &ett_h245_RequestAllTerminalIDsResponse,
22019                 &ett_h245_ConferenceResponse_terminalCertificateResponse,
22020                 &ett_h245_ConferenceResponse_chairTokenOwnerResponse,
22021                 &ett_h245_ConferenceResponse_extensionAddressResponse,
22022                 &ett_h245_ConferenceResponse_passwordResponse,
22023                 &ett_h245_ConferenceResponse_conferenceIDResponse,
22024                 &ett_h245_ConferenceResponse_terminalIDResponse,
22025                 &ett_h245_ConferenceResponse_mCterminalIDResponse,
22026                 &ett_h245_TerminalLabel,
22027                 &ett_h245_Criteria,
22028                 &ett_h245_ConferenceRequest_requestTerminalCertificate,
22029                 &ett_h245_CommunicationModeTableEntry,
22030                 &ett_h245_CommunicationModeRequest,
22031                 &ett_h245_CommunicationModeCommand,
22032                 &ett_h245_MaintenanceLoopOffCommand,
22033                 &ett_h245_MaintenanceLoopReject,
22034                 &ett_h245_MaintenanceLoopAck,
22035                 &ett_h245_MaintenanceLoopRequest,
22036                 &ett_h245_RoundTripDelayResponse,
22037                 &ett_h245_RoundTripDelayRequest,
22038                 &ett_h245_DataMode_application_t38fax,
22039                 &ett_h245_DataMode_application_nlpid,
22040                 &ett_h245_DataMode,
22041                 &ett_h245_VBDMode,
22042                 &ett_h245_G7231AnnexCMode_g723AnnexCAudioMode,
22043                 &ett_h245_G7231AnnexCMode,
22044                 &ett_h245_IS13818AudioMode,
22045                 &ett_h245_IS11172AudioMode,
22046                 &ett_h245_IS11172VideoMode,
22047                 &ett_h245_H263VideoMode,
22048                 &ett_h245_H262VideoMode,
22049                 &ett_h245_H261VideoMode,
22050                 &ett_h245_RedundancyEncodingMode,
22051                 &ett_h245_H2250ModeParameters,
22052                 &ett_h245_H223ModeParameters_adaptationLayerType_al3,
22053                 &ett_h245_H223ModeParameters,
22054                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort,
22055                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort,
22056                 &ett_h245_FECMode_rfc2733Mode,
22057                 &ett_h245_MultiplePayloadStreamElementMode,
22058                 &ett_h245_MultiplePayloadStreamMode,
22059                 &ett_h245_RedundancyEncodingDTModeElement,
22060                 &ett_h245_RedundancyEncodingDTMode,
22061                 &ett_h245_MultiplexedStreamModeParameters,
22062                 &ett_h245_H235Mode,
22063                 &ett_h245_ModeElement,
22064                 &ett_h245_RequestModeRelease,
22065                 &ett_h245_RequestModeReject,
22066                 &ett_h245_RequestModeAck,
22067                 &ett_h245_RequestMode,
22068                 &ett_h245_RequestMultiplexEntryRelease,
22069                 &ett_h245_RequestMultiplexEntryRejectionDescriptions,
22070                 &ett_h245_RequestMultiplexEntryReject,
22071                 &ett_h245_RequestMultiplexEntryAck,
22072                 &ett_h245_RequestMultiplexEntry,
22073                 &ett_h245_MultiplexEntrySendRelease,
22074                 &ett_h245_MultiplexEntryRejectionDescriptions,
22075                 &ett_h245_MultiplexEntrySendReject,
22076                 &ett_h245_MultiplexEntrySendAck,
22077                 &ett_h245_MultiplexElement,
22078                 &ett_h245_MultiplexEntryDescriptor,
22079                 &ett_h245_MultiplexEntrySend,
22080                 &ett_h245_RequestChannelCloseRelease,
22081                 &ett_h245_RequestChannelCloseReject,
22082                 &ett_h245_RequestChannelCloseAck,
22083                 &ett_h245_RequestChannelClose,
22084                 &ett_h245_CloseLogicalChannelAck,
22085                 &ett_h245_CloseLogicalChannel,
22086                 &ett_h245_H2250LogicalChannelAckParameters,
22087                 &ett_h245_OpenLogicalChannelReject,
22088                 &ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters,
22089                 &ett_h245_OpenLogicalChannelAck,
22090                 &ett_h245_EscrowData,
22091                 &ett_h245_EncryptionSync,
22092                 &ett_h245_MulticastAddress_iP6Address,
22093                 &ett_h245_MulticastAddress_iPAddress,
22094                 &ett_h245_UnicastAddress_iPSourceRouteAddress,
22095                 &ett_h245_UnicastAddress_iP6Address,
22096                 &ett_h245_UnicastAddress_iPXAddress,
22097                 &ett_h245_UnicastAddress_iPAddress,
22098                 &ett_h245_FECData_rfc2733_mode_separateStream_samePort,
22099                 &ett_h245_FECData_rfc2733_mode_separateStream_differentPort,
22100                 &ett_h245_FECData_rfc2733,
22101                 &ett_h245_MultiplePayloadStreamElement,
22102                 &ett_h245_MultiplePayloadStream,
22103                 &ett_h245_RedundancyEncodingElement,
22104                 &ett_h245_RedundancyEncoding_rtpRedundancyEncoding,
22105                 &ett_h245_RedundancyEncoding,
22106                 &ett_h245_RTPPayloadType,
22107                 &ett_h245_H2250LogicalChannelParameters,
22108                 &ett_h245_V76HDLCParameters,
22109                 &ett_h245_V76LogicalChannelParameters_mode_eRM,
22110                 &ett_h245_V76LogicalChannelParameters,
22111                 &ett_h245_H223AnnexCArqParameters,
22112                 &ett_h245_H223AL3MParameters,
22113                 &ett_h245_H223AL2MParameters,
22114                 &ett_h245_H223AL1MParameters,
22115                 &ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3,
22116                 &ett_h245_H223LogicalChannelParameters,
22117                 &ett_h245_H222LogicalChannelParameters,
22118                 &ett_h245_MultiplexedStreamParameter,
22119                 &ett_h245_H235Media,
22120                 &ett_h245_V75Parameters,
22121                 &ett_h245_Q2931Address,
22122                 &ett_h245_NetworkAccessParameters,
22123                 &ett_h245_reverseLogicalChannelParameters,
22124                 &ett_h245_forwardLogicalChannelParameters,
22125                 &ett_h245_OpenLogicalChannel,
22126                 &ett_h245_FECCapability_rfc2733_separateStream,
22127                 &ett_h245_FECCapability_rfc2733,
22128                 &ett_h245_MultiplePayloadStreamCapability,
22129                 &ett_h245_NoPTAudioToneCapability,
22130                 &ett_h245_NoPTAudioTelephonyEventCapability,
22131                 &ett_h245_AudioToneCapability,
22132                 &ett_h245_AudioTelephonyEventCapability,
22133                 &ett_h245_MultiplexedStreamCapability,
22134                 &ett_h245_GenericParameter,
22135                 &ett_h245_GenericCapability,
22136                 &ett_h245_ConferenceCapability,
22137                 &ett_h245_IntegrityCapability,
22138                 &ett_h245_AuthenticationCapability,
22139                 &ett_h245_EncryptionAuthenticationAndIntegrity,
22140                 &ett_h245_T38FaxTcpOptions,
22141                 &ett_h245_T38FaxUdpOptions,
22142                 &ett_h245_T38FaxProfile,
22143                 &ett_h245_T84Profile_t84Restricted,
22144                 &ett_h245_V42bis,
22145                 &ett_h245_DataApplicationCapability_application_t38fax,
22146                 &ett_h245_DataApplicationCapability_application_nlpid,
22147                 &ett_h245_DataApplicationCapability_application_t84,
22148                 &ett_h245_DataApplicationCapability,
22149                 &ett_h245_VBDCapability,
22150                 &ett_h245_GSMAudioCapability,
22151                 &ett_h245_IS13818AudioCapability,
22152                 &ett_h245_IS11172AudioCapability,
22153                 &ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode,
22154                 &ett_h245_G7231AnnexCCapability,
22155                 &ett_h245_G729Extensions,
22156                 &ett_h245_AudioCapability_g7231,
22157                 &ett_h245_IS11172VideoCapability,
22158                 &ett_h245_H263Version3Options,
22159                 &ett_h245_H263ModeComboFlags,
22160                 &ett_h245_H263VideoModeCombos,
22161                 &ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR,
22162                 &ett_h245_CustomPictureFormat_mPI_customPCF,
22163                 &ett_h245_CustomPictureFormat_mPI,
22164                 &ett_h245_CustomPictureFormat,
22165                 &ett_h245_CustomPictureClockFrequency,
22166                 &ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters,
22167                 &ett_h245_RefPictureSelection_enhancedReferencePicSelect,
22168                 &ett_h245_RefPictureSelection_additionalPictureMemory,
22169                 &ett_h245_RefPictureSelection,
22170                 &ett_h245_TransperencyParameters,
22171                 &ett_h245_H263Options,
22172                 &ett_h245_EnhancementOptions,
22173                 &ett_h245_BEnhancementParameters,
22174                 &ett_h245_EnhancementLayerInfo,
22175                 &ett_h245_H263VideoCapability,
22176                 &ett_h245_H262VideoCapability,
22177                 &ett_h245_H261VideoCapability,
22178                 &ett_h245_MediaDistributionCapability,
22179                 &ett_h245_MultipointCapability,
22180                 &ett_h245_RTPH263VideoRedundancyFrameMapping,
22181                 &ett_h245_RTPH263VideoRedundancyEncoding,
22182                 &ett_h245_RedundancyEncodingCapability,
22183                 &ett_h245_TransportCapability,
22184                 &ett_h245_MediaChannelCapability,
22185                 &ett_h245_MediaTransportType_AtmAAL5Compressed,
22186                 &ett_h245_QOSCapability,
22187                 &ett_h245_ATMParameters,
22188                 &ett_h245_RSVPParameters,
22189                 &ett_h245_MediaPacketizationCapability,
22190                 &ett_h245_H2250Capability_mcCapability,
22191                 &ett_h245_H2250Capability,
22192                 &ett_h245_V75Capability,
22193                 &ett_h245_V76Capability,
22194                 &ett_h245_H223AnnexCCapability,
22195                 &ett_h245_H223Capability_mobileMultilinkFrameCapability,
22196                 &ett_h245_H223Capability_mobileOperationTransmitCapability,
22197                 &ett_h245_H223Capability_h223MultiplexTableCapability_enhanced,
22198                 &ett_h245_H223Capability,
22199                 &ett_h245_VCCapability_aal1ViaGateway,
22200                 &ett_h245_VCCapability_availableBitRates_rangeOfBitRates,
22201                 &ett_h245_VCCapability_availableBitRates,
22202                 &ett_h245_VCCapability_aal5,
22203                 &ett_h245_VCCapability_aal1,
22204                 &ett_h245_VCCapability,
22205                 &ett_h245_H222Capability,
22206                 &ett_h245_H235SecurityCapability,
22207                 &ett_h245_Capability_h233EncryptionReceiveCapability,
22208                 &ett_h245_TerminalCapabilitySetRelease,
22209                 &ett_h245_TerminalCapabilitySetReject,
22210                 &ett_h245_TerminalCapabilitySetAck,
22211                 &ett_h245_CapabilityDescriptor,
22212                 &ett_h245_CapabilityTableEntry,
22213                 &ett_h245_TerminalCapabilitySet,
22214                 &ett_h245_MasterSlaveDeterminationRelease,
22215                 &ett_h245_MasterSlaveDeterminationReject,
22216                 &ett_h245_MasterSlaveDeterminationAck,
22217                 &ett_h245_MasterSlaveDetermination,
22218                 &ett_h245_h221NonStandard,
22219                 &ett_h245_NonStandardParameter,
22220                 &ett_h245_NonStandardMessage,
22221                 &ett_h245_FlowControlIndication_restriction,
22222                 &ett_h245_FlowControlIndication_scope,
22223                 &ett_h245_UserInputIndication_userInputSupportIndication,
22224                 &ett_h245_UserInputIndication,
22225                 &ett_h245_NewATMVCIndication_reverseParameters_multiplex,
22226                 &ett_h245_NewATMVCIndication_multiplex,
22227                 &ett_h245_NewATMVCIndication_aal_aal1_errorCorrection,
22228                 &ett_h245_NewATMVCIndication_aal_aal1_clockRecovery,
22229                 &ett_h245_JitterIndication_scope,
22230                 &ett_h245_MiscellaneousIndication_type,
22231                 &ett_h245_ConferenceIndication,
22232                 &ett_h245_FunctionNotSupported_cause,
22233                 &ett_h245_FunctionNotUnderstood,
22234                 &ett_h245_MobileMultilinkReconfigurationCommand_status,
22235                 &ett_h245_NewATMVCCommand_reverseParameters_multiplex,
22236                 &ett_h245_NewATMVCCommand_multiplex,
22237                 &ett_h245_NewATMVCCommand_aal_aal1_errorCorrection,
22238                 &ett_h245_NewATMVCCommand_aal_aal1_clockRecovery,
22239                 &ett_h245_NewATMVCCommand_aal,
22240                 &ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag,
22241                 &ett_h245_H223MultiplexReconfiguration_h223ModeChange,
22242                 &ett_h245_H223MultiplexReconfiguration,
22243                 &ett_h245_PictureReference,
22244                 &ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount,
22245                 &ett_h245_MiscellaneousCommand_type,
22246                 &ett_h245_ConferenceCommand,
22247                 &ett_h245_EndSessionCommand_gstnOptions,
22248                 &ett_h245_EndSessionCommand_isdnOptions,
22249                 &ett_h245_FlowControlCommand_restriction,
22250                 &ett_h245_FlowControlCommand_scope,
22251                 &ett_h245_EncryptionCommand,
22252                 &ett_h245_SendTerminalCapabilitySet,
22253                 &ett_h245_LogicalChannelRateRejectReason,
22254                 &ett_h245_DialingInformationNetworkType,
22255                 &ett_h245_DialingInformation,
22256                 &ett_h245_MultilinkIndication,
22257                 &ett_h245_MultilinkResponse_addConnection_responseCode_rejected,
22258                 &ett_h245_MultilinkResponse_addConnection_responseCode,
22259                 &ett_h245_MultilinkResponse,
22260                 &ett_h245_MultilinkRequest_maximumHeaderInterval_requestType,
22261                 &ett_h245_MultilinkRequest,
22262                 &ett_h245_RemoteMCResponse_reject,
22263                 &ett_h245_RemoteMCResponse,
22264                 &ett_h245_RemoteMCRequest,
22265                 &ett_h245_ConferenceResponse_sendThisSourceResponse,
22266                 &ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse,
22267                 &ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse,
22268                 &ett_h245_ConferenceResponse_makeMeChairResponse,
22269                 &ett_h245_ConferenceResponse,
22270                 &ett_h245_ConferenceRequest,
22271                 &ett_h245_CommunicationModeTableEntry_dataType,
22272                 &ett_h245_CommunicationModeResponse,
22273                 &ett_h245_MaintenanceLoopReject_cause,
22274                 &ett_h245_MaintenanceLoopReject_type,
22275                 &ett_h245_MaintenanceLoopAck_type,
22276                 &ett_h245_MaintenanceLoopRequest_type,
22277                 &ett_h245_EncryptionMode,
22278                 &ett_h245_DataMode_application,
22279                 &ett_h245_IS13818AudioMode_multiChannelType,
22280                 &ett_h245_IS13818AudioMode_audioSampling,
22281                 &ett_h245_IS13818AudioMode_audioLayer,
22282                 &ett_h245_IS11172AudioMode_multichannelType,
22283                 &ett_h245_IS11172AudioMode_audioSampling,
22284                 &ett_h245_IS11172AudioMode_audioLayer,
22285                 &ett_h245_AudioMode_g7231,
22286                 &ett_h245_AudioMode,
22287                 &ett_h245_H263VideoMode_resolution,
22288                 &ett_h245_H262VideoMode_profileAndLevel,
22289                 &ett_h245_H261VideoMode_resolution,
22290                 &ett_h245_VideoMode,
22291                 &ett_h245_RedundancyEncodingMode_secondaryEncoding,
22292                 &ett_h245_V76ModeParameters,
22293                 &ett_h245_H223ModeParameters_adaptationLayerType,
22294                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream,
22295                 &ett_h245_FECMode_rfc2733Mode_mode,
22296                 &ett_h245_FECMode,
22297                 &ett_h245_RedundancyEncodingDTModeElement_type,
22298                 &ett_h245_H235Mode_mediaMode,
22299                 &ett_h245_ModeElementType,
22300                 &ett_h245_RequestModeReject_cause,
22301                 &ett_h245_RequestMultiplexEntryRejectionDescriptions_cause,
22302                 &ett_h245_MultiplexEntryRejectionDescriptions_cause,
22303                 &ett_h245_MultiplexElement_repeatCount,
22304                 &ett_h245_MultiplexElement_type,
22305                 &ett_h245_RequestChannelCloseReject_cause,
22306                 &ett_h245_RequestChannelClose_reason,
22307                 &ett_h245_CloseLogicalChannel_reason,
22308                 &ett_h245_CloseLogicalChannel_source,
22309                 &ett_h245_OpenLogicalChannelReject_cause,
22310                 &ett_h245_forwardMultiplexAckParameters,
22311                 &ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters,
22312                 &ett_h245_MulticastAddress,
22313                 &ett_h245_UnicastAddress_iPSourceRouteAddress_routing,
22314                 &ett_h245_UnicastAddress,
22315                 &ett_h245_TransportAddress,
22316                 &ett_h245_FECData_rfc2733_mode_separateStream,
22317                 &ett_h245_FECData_rfc2733_mode,
22318                 &ett_h245_FECData,
22319                 &ett_h245_RTPPayloadType_payloadDescriptor,
22320                 &ett_h245_H2250LogicalChannelParameters_mediaPacketization,
22321                 &ett_h245_CRCLength,
22322                 &ett_h245_V76LogicalChannelParameters_mode_eRM_recovery,
22323                 &ett_h245_V76LogicalChannelParameters_mode,
22324                 &ett_h245_V76LogicalChannelParameters_suspendResume,
22325                 &ett_h245_H223AnnexCArqParameters_numberOfRetransmissions,
22326                 &ett_h245_H223AL3MParameters_arqType,
22327                 &ett_h245_H223AL3MParameters_crcLength,
22328                 &ett_h245_H223AL3MParameters_headerFormat,
22329                 &ett_h245_H223AL2MParameters_headerFEC,
22330                 &ett_h245_H223AL1MParameters_arqType,
22331                 &ett_h245_H223AL1MParameters_crcLength,
22332                 &ett_h245_H223AL1MParameters_headerFEC,
22333                 &ett_h245_H223AL1MParameters_transferMode,
22334                 &ett_h245_H223LogicalChannelParameters_adaptationLayerType,
22335                 &ett_h245_H235Media_mediaType,
22336                 &ett_h245_DataType,
22337                 &ett_h245_Q2931Address_address,
22338                 &ett_h245_NetworkAccessParameters_t120SetupProcedure,
22339                 &ett_h245_NetworkAccessParameters_networkAddress,
22340                 &ett_h245_NetworkAccessParameters_distribution,
22341                 &ett_h245_reverseLogicalChannelParameters_multiplexParameters,
22342                 &ett_h245_forwardLogicalChannelParameters_multiplexParameters,
22343                 &ett_h245_FECCapability,
22344                 &ett_h245_MultiplexFormat,
22345                 &ett_h245_ParameterValue,
22346                 &ett_h245_ParameterIdentifier,
22347                 &ett_h245_CapabilityIdentifier,
22348                 &ett_h245_UserInputCapability,
22349                 &ett_h245_MediaEncryptionAlgorithm,
22350                 &ett_h245_T38FaxUdpOptions_t38FaxUdpEC,
22351                 &ett_h245_T38FaxRateManagement,
22352                 &ett_h245_T84Profile,
22353                 &ett_h245_CompressionType,
22354                 &ett_h245_DataProtocolCapability_v76wCompression,
22355                 &ett_h245_DataProtocolCapability,
22356                 &ett_h245_DataApplicationCapability_application,
22357                 &ett_h245_AudioCapability,
22358                 &ett_h245_CustomPictureFormat_pixelAspectInformation,
22359                 &ett_h245_RefPictureSelection_videoBackChannelSend,
22360                 &ett_h245_VideoCapability,
22361                 &ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,
22362                 &ett_h245_RedundancyEncodingMethod,
22363                 &ett_h245_MediaTransportType,
22364                 &ett_h245_QOSMode,
22365                 &ett_h245_H223Capability_h223MultiplexTableCapability,
22366                 &ett_h245_VCCapability_availableBitRates_type,
22367                 &ett_h245_MultiplexCapability,
22368                 &ett_h245_Capability,
22369                 &ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded,
22370                 &ett_h245_TerminalCapabilitySetReject_cause,
22371                 &ett_h245_MasterSlaveDeterminationReject_cause,
22372                 &ett_h245_MasterSlaveDeterminationAck_decision,
22373                 &ett_h245_RequestModeAck_response_decision,
22374                 &ett_h245_NonStandardIdentifier,
22375                 &ett_h245_mediaDistributionCapability,
22376                 &ett_h245_AlternativeCapabilitySet,
22377                 &ett_h245_CapabilityTableEntryNumber_sequence_of,
22378                 &ett_h245_frameToThreadMapping_custom,
22379                 &ett_h245_RedundancyEncodingCapability_sequence_of,
22380                 &ett_h245_frameSequence,
22381                 &ett_h245_EncryptionCapability,
22382                 &ett_h245_escrowentry,
22383                 &ett_h245_elementList,
22384                 &ett_h245_requestedModes,
22385                 &ett_h245_CertSelectionCriteria,
22386                 &ett_h245_capabilityTable,
22387                 &ett_h245_capabilityDescriptors,
22388                 &ett_h245_simultaneousCapabilities,
22389                 &ett_h245_gatewayAddress,
22390                 &ett_h245_snrEnhancement,
22391                 &ett_h245_spatialEnhancement,
22392                 &ett_h245_bPictureEnhancement,
22393                 &ett_h245_customPictureClockFrequency,
22394                 &ett_h245_customPictureFormat,
22395                 &ett_h245_modeCombos,
22396                 &ett_h245_customPCF,
22397                 &ett_h245_pixelAspectCode,
22398                 &ett_h245_extendedPAR,
22399                 &ett_h245_h263VideoCoupledModes,
22400                 &ett_h245_capabilityOnMuxStream,
22401                 &ett_h245_capabilities,
22402                 &ett_h245_multiplexEntryDescriptors,
22403                 &ett_h245_multiplexTableEntryNumber_set_of,
22404                 &ett_h245_VCCapability_set_of,
22405                 &ett_h245_rejectionDescriptions,
22406                 &ett_h245_entryNumbers,
22407                 &ett_h245_ModeDescription,
22408                 &ett_h245_communicationModeTable,
22409                 &ett_h245_terminalListResponse,
22410                 &ett_h245_differential,
22411                 &ett_h245_networkType,
22412                 &ett_h245_capabilityTableEntryNumbers,
22413                 &ett_h245_capabilityDescriptorNumbers,
22414                 &ett_h245_qOSCapabilities,
22415                 &ett_h245_subElementList,
22416                 &ett_h245_containedThreads,
22417                 &ett_h245_mediaChannelCapabilities,
22418                 &ett_h245_rtpPayloadType_sequence_of,
22419                 &ett_h245_centralizedData,
22420                 &ett_h245_distributedData,
22421                 &ett_h245_nonStandardData,
22422                 &ett_h245_collapsing,
22423                 &ett_h245_nonCollapsing,
22424                 &ett_h245_supersedes,
22425                 &ett_h245_genericParameter,
22426                 &ett_h245_secondary_REE,
22427                 &ett_h245_elements_MPSE,
22428                 &ett_h245_secondary_REDTME,
22429                 &ett_h245_elements_MPSEM,
22430                 &ett_h245_TerminalInformationSO,
22431                 &ett_h245_lostPicture,
22432                 &ett_h245_recoveryReferencePicture,
22433                 &ett_h245_iPSourceRouteAddress_route,
22434         };
22435         module_t *h245_module;
22436
22437         proto_h245 = proto_register_protocol("H245", "H245", "h245");
22438         proto_register_field_array(proto_h245, hf, array_length(hf));
22439         proto_register_subtree_array(ett, array_length(ett));
22440         h245_module = prefs_register_protocol(proto_h245, NULL);
22441         prefs_register_bool_preference(h245_module, "reassembly",
22442                 "Reassemble H.245 over TCP",
22443                 "Whether the dissector should reassemble H.245 PDUs spanning multiple TCP segments",
22444                 &h245_reassembly);
22445         prefs_register_bool_preference(h245_module, "shorttypes",
22446                 "Show short message types",
22447                 "Whether the dissector should show short names or the long names from the standard",
22448                 &h245_shorttypes);
22449         register_dissector("h245dg", dissect_h245_MultimediaSystemControlMessage, proto_h245);
22450         register_dissector("h245", dissect_h245, proto_h245);
22451
22452         nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", FT_STRING, BASE_NONE);
22453         nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
22454 }
22455
22456 void
22457 proto_reg_handoff_h245(void)
22458 {
22459         rtp_handle = find_dissector("rtp");
22460         rtcp_handle = find_dissector("rtcp");
22461
22462         h245_handle=create_dissector_handle(dissect_h245, proto_h245);
22463         dissector_add_handle("tcp.port", h245_handle);
22464         MultimediaSystemControlMessage_handle=create_dissector_handle(dissect_h245_MultimediaSystemControlMessage, proto_h245);
22465         dissector_add_handle("udp.port", MultimediaSystemControlMessage_handle);
22466 }